🙇‍♀️Managers

  • Manager들을 관리하는 Managers
    • Init() 함수에서 s_instance가 없어도 생성 될 수 있도록 null 체크후 생성
    • 생성된 GameObject에 @Manager 컴포넌트를 넣어준다
    • DontDestroyOnLoad를 사용해 쉽게 삭제되지 못하도록 만든다

      🪐전체코드

static Managers s_instance; // 유일성을 보장한다
static Managers Instance { get { Init(); return s_instance; } } // 프로퍼티로 Managers를 불러오기 용이함

InputManager _input = new InputManager();

public static InputManager Input { get { return Instance._input; } }

void Start()
{
    Init();
}

void Update()
{
}

static void Init()
{
    if (s_instance == null)
    {
        GameObject go = GameObject.Find("@Manager");
        if (go == null)
        {
            go = new GameObject { name = ("@Manager") };
            go.AddComponent<Managers>();
        }
        DontDestroyOnLoad(go);
        s_instance = go.GetComponent<Managers>();
    }
}

태그:

카테고리:

업데이트: