コード例 #1
0
ファイル: UIManager.cs プロジェクト: Switcheese/FuzzyChess
        // ------------- ProtectedMethod  -------------



        // -------------  Public Method  -------------

        public UIBase OpenWindow(UI_Kind kind, bool isActive)
        {
            // 관리중인 UI가 아닐경우 Load
            if (!dicUI.ContainsKey(kind))
            {
                var inst = LoadUI(kind);
                if (inst != null)
                {
                    dicUI.Add(kind, inst);
                    var component = inst.GetComponent(typeof(UIBase)) as UIBase;
                    component.Init();
                }
                else
                {
                    return(null);
                }
            }
            // 관리중인 UI
            var ui = dicUI[kind].GetComponent(typeof(UIBase)) as UIBase;

            // 켜는게 아니면 해당 UI 최상위 스크립트 반환
            if (isActive)
            {
                ui.SortingOrder = stackUI.Count;    // 최상단에 띄운다.
                ui.OpenUI();
                VerifyOpen(ui);
                dicUI[kind].SetActive(true);
            }
            return(ui);
        }
コード例 #2
0
ファイル: UIManager.cs プロジェクト: Switcheese/FuzzyChess
 public T GetWindowComponent <T>(UI_Kind kind) where T : class
 {
     if (dicUI.ContainsKey(kind))
     {
         return(dicUI[kind].GetComponent(typeof(T)) as T);
     }
     else
     {
         return(null);
     }
 }
コード例 #3
0
ファイル: UIManager.cs プロジェクト: Switcheese/FuzzyChess
 public GameObject GetWindow(UI_Kind kind)
 {
     if (dicUI.ContainsKey(kind))
     {
         return(dicUI[kind]);
     }
     else
     {
         return(null);
     }
 }
コード例 #4
0
ファイル: UIManager.cs プロジェクト: Switcheese/FuzzyChess
        // ------------- Private Method  -------------
        private GameObject LoadUI(UI_Kind kind)
        {
            GameObject loadUI = Common.ResourceLoad(string.Format($"{Common.UI_Path}{kind.ToString()}"));
            GameObject instUI = null;

            if (loadUI == null)
            {
#if UNITY_EDITOR
                Debug.LogWarning(string.Format($"{kind.ToString()} UI 리소스를 찾을 수 없습니다."));
#endif
            }
            else
            {
                instUI = Instantiate(loadUI, this.MainCanvas);
                instUI.SetActive(false);
            }

            return(instUI);
        }