Ejemplo n.º 1
0
    IEnumerator Coroutine_Hide <CLASS_UIOBJECT>(UICommandHandle <CLASS_UIOBJECT> sUICommandHandle, CLASS_UIOBJECT pUIObject)
        where CLASS_UIOBJECT : IUIObject
    {
        if (_setPlayHiding.Contains(pUIObject))
        {
            yield break;
        }
        _setPlayHiding.Add(pUIObject);

        GameObject pObject = pUIObject.gameObject;

        if (pObject != null && pObject.activeSelf == false)
        {
            pObject.SetActive(true);
        }

        yield return(pUIObject.OnHideCoroutine());

        sUICommandHandle.Event_OnHide(true);

        if (pObject.Equals(null) == false)
        {
            pObject.SetActive(false);
        }

        _setPlayHiding.Remove(pUIObject);
    }
Ejemplo n.º 2
0
    public static void ReturnInstance(UICommandHandle <TUIObject> pHandle)
    {
        pHandle.Set_UIState(EUIObjectState.Destroyed);

        if (pHandle.pUIObject != null)
        {
            g_mapHandle.Remove(pHandle.pUIObject);
        }
        g_pPool.DoPush(pHandle);
    }
Ejemplo n.º 3
0
    public override UICommandHandle <CLASS_UIOBJECT> IUIManager_Hide <CLASS_UIOBJECT>(CLASS_UIOBJECT pUIObject, bool bPlayAnimation)
    {
        if (this.IsNull())
        {
            return(null);
        }

        UICommandHandle <CLASS_UIOBJECT> sUICommandHandle = UICommandHandle <CLASS_UIOBJECT> .GetInstance(pUIObject);

        sUICommandHandle.Set_UIObject(pUIObject);
        StartCoroutine(Coroutine_Hide(sUICommandHandle, pUIObject));

        return(sUICommandHandle);
    }
Ejemplo n.º 4
0
    public static UICommandHandle <T> Set_OnBeforeShow <T>(this UICommandHandle <T> pHandle, System.Action <T> OnBeforeShow)
        where T : IUIObject
    {
        if (pHandle.bIsExecute_BeforeShow)
        {
            OnBeforeShow(pHandle.pUIObject);
        }
        else
        {
            pHandle.OnBeforeShow += OnBeforeShow;
        }

        return(pHandle);
    }
Ejemplo n.º 5
0
    public UICommandHandle <T> Cast <T>()
        where T : class, IUIObject
    {
        T pObjectCast = pUIObject as T;

        if (pUIObject != null && pObjectCast == null)
        {
            Debug.LogError($"Type : {typeof(T).Name} - Casting Fail Name : {pUIObject?.gameObject.name}", pUIObject?.gameObject);
        }

        UICommandHandle <T> pCast = UICommandHandle <T> .GetInstance(pObjectCast);

        pCast.bIsExecute_BeforeShow = this.bIsExecute_BeforeShow;
        pCast.bIsFinish_Animation   = this.bIsFinish_Animation;

        ReturnInstance(this);

        return(pCast);
    }
Ejemplo n.º 6
0
    /* protected - [abstract & virtual]         */

    // ========================================================================== //

    #region Private

    IEnumerator Coroutine_Show <CLASS_UIOBJECT>(UICommandHandle <CLASS_UIOBJECT> sUICommandHandle, CLASS_UIOBJECT pUIObject)
        where CLASS_UIOBJECT : IUIObject
    {
        // hiding 중인 경우는 Show Coroutine을 켜지않습니다.
        // 하이딩할 때 Active가 꺼져있을 때 True로 인해 들어올 수 있음
        if (_setPlayHiding.Contains(pUIObject))
        {
            yield break;
        }

        sUICommandHandle.Event_OnBeforeShow();
        GameObject pObject = pUIObject.gameObject;

        if (pObject != null && pObject.activeSelf == false)
        {
            pObject.SetActive(true);
        }

        sUICommandHandle.Event_OnShow_BeforeAnimation();
        yield return(pUIObject.OnShowCoroutine());

        sUICommandHandle.Event_OnShow_AfterAnimation();
    }
Ejemplo n.º 7
0
 public static UICommandHandle <T> GetHandle <T>(this T pCanvas)
     where T : IUIObject
 {
     return(UICommandHandle <T> .GetInstance_Used_OrNull(pCanvas));
 }
Ejemplo n.º 8
0
 public static UICommandHandle <T> Set_OnHide <T>(this UICommandHandle <T> pHandle, System.Action <T> OnHide)
     where T : IUIObject
 {
     pHandle.OnHide += OnHide;
     return(pHandle);
 }
Ejemplo n.º 9
0
 public static UICommandHandle <T> Set_OnShow_AfterAnimation <T>(this UICommandHandle <T> pHandle, System.Action <T> OnShow)
     where T : IUIObject
 {
     pHandle.OnShow_AfterAnimation += OnShow;
     return(pHandle);
 }
Ejemplo n.º 10
0
 public static UICommandHandle <T> Set_OnCheck_IsShow <T>(this UICommandHandle <T> pHandle, System.Func <System.Action <bool>, IEnumerator> OnChecking_IsShow)
     where T : IUIObject
 {
     pHandle.OnChecking_IsShow = OnChecking_IsShow;
     return(pHandle);
 }