42 lines
1.1 KiB
C#
42 lines
1.1 KiB
C#
using UnityEngine;
|
|
|
|
public class Managers : MonoBehaviour
|
|
{
|
|
static Managers s_instance; // static으로 유일성 보장
|
|
static Managers Instance { get { Init(); return s_instance; } } // 유일한 매니저를 가져온다.
|
|
|
|
InputManager _input = new InputManager();
|
|
ResourceManager _resource = new ResourceManager();
|
|
public static InputManager Input { get { return Instance._input; } }
|
|
public static ResourceManager Resource { get { return Instance._resource; } }
|
|
|
|
// Start is called once before the first execution of Update after the MonoBehaviour is created
|
|
void Start()
|
|
{
|
|
Init();
|
|
}
|
|
|
|
// Update is called once per frame
|
|
void Update()
|
|
{
|
|
_input.OnUpdate();
|
|
}
|
|
|
|
static void Init()
|
|
{
|
|
if (s_instance == null)
|
|
{
|
|
GameObject go = GameObject.Find("@Managers");
|
|
|
|
if (go == null)
|
|
{
|
|
go = new GameObject("@Managers");
|
|
go.AddComponent<Managers>();
|
|
}
|
|
|
|
DontDestroyOnLoad(go);
|
|
s_instance = go.GetComponent<Managers>();
|
|
}
|
|
}
|
|
}
|