Exemplo n.º 1
0
    // 유틸 : 객체 초기화
    static void Initialize(T pInstance)
    {
        if (null == pInstance)
        {
            return;
        }

        // 싱글턴 생성시 Awake에서 호출되고, Instance에서 호출되므로 같으면 무시
        if ((null != m_pInstance) && (m_pInstance == pInstance))
        {
            return;
        }

        // 인스턴스 중복체크
        T pDuplication = SHGameObject.GetDuplication(pInstance);

        if (null != pDuplication)
        {
            m_pInstance = pDuplication;
            SHGameObject.DestoryObject(pInstance.gameObject);
            return;
        }

        m_pInstance = pInstance;
        m_pInstance.SetParent("SHSingletons(Destroy)");
        m_pInstance.OnInitialize();
    }
Exemplo n.º 2
0
    void DestroyPanel(SHUIBasePanel pPanel)
    {
        if (null == pPanel)
        {
            return;
        }

        SHGameObject.DestoryObject(pPanel);
    }
Exemplo n.º 3
0
 // 인터페이스 : 명시적으로 싱글턴 제거
 public void DoDestroy()
 {
     SHGameObject.DestoryObject(gameObject);
 }
Exemplo n.º 4
0
 // 후처리
 static void PostProcessor()
 {
     SHGameObject.DestoryObject(GameObject.Find("SHSingletons(Destroy)"));
     SHGameObject.DestoryObject(GameObject.Find("SHSingletons(DontDestroy)"));
 }