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(); } DontDestroyOnLoad(go); s_instance = go.GetComponent(); } } }