コード例 #1
0
ファイル: UIMgr.cs プロジェクト: happylays/tbb2
    IEnumerator PrepareWndAsync(UIFlag uiID)
    {
        if (uiID != UIFlag.none)
        {
            UIWnd uiWnd = GetUIWnd(uiID);
            if (uiWnd == null)
            {
                if (!IsUICaching(uiID))
                {
                    m_lstCacheUIID.Add(uiID);

                    IEnumerator itor = UIWndLoader.LoadUIWndAsync(uiID.ToString(), false);
                    while (itor.MoveNext())
                    {
                        yield return(null);
                    }

                    uiWnd = GetUIWnd(uiID);
                    if (uiWnd != null)
                    {
                        uiWnd.gameObject.SetActive(false);
                    }
                    else
                    {
                        Debug.LogError("prepare ui failed: " + uiID.ToString());
                    }
                }
            }
        }
    }
コード例 #2
0
ファイル: UIMgr.cs プロジェクト: happylays/tbb2
    IEnumerator ShowWndAsync(UIFlag showID, UIFlag preID, object exData, UIFlag hideID)
    {
        //AmusementMgr.StopMove();
        //LoadingMgr.ShowLoading(true);

        CheckPreUI(preID, hideID);
        HideWndSync(hideID);
        if (!IsUICaching(showID))
        {
            IEnumerator itor = PrepareWndAsync(showID);
            while (itor.MoveNext())
            {
                yield return(null);
            }

            itor = SwitchWndAsync(showID, preID, exData);
            while (itor.MoveNext())
            {
                yield return(null);
            }
        }

        //TipsBoxMgr.HideAllTipsBox();

        //LoadingMgr.ShowLoading(false);
    }
コード例 #3
0
ファイル: UIManager.cs プロジェクト: boumusic/SWIFT-PROTO
    public void RegisterFlagZone(Zone zone)
    {
        flagZones.Add(zone);
        UIFlag uiFlag = NewPing(zone);

        uiFlag.Init(zone.teamIndex, zone.type);
    }
コード例 #4
0
ファイル: UIMgr.cs プロジェクト: happylays/tbb2
    IEnumerator SwitchWndAsync(UIFlag targetID, UIFlag preID, object exData)
    {
        if (targetID != UIFlag.none)
        {
            if (!IsUIShowing(targetID))
            {
                UIWnd targetWnd = GetUIWnd(targetID);
                if (targetWnd != null)
                {
                    targetWnd.gameObject.SetActive(true);
                    m_lstShowUIID.Add(targetID);


                    targetWnd.ReadyShow = false;

                    WndData targetData = new WndData(exData);
                    targetWnd.PreWndID = preID;
                    targetWnd.OnShowWnd(targetData);

                    while (!targetWnd.ReadyShow)
                    {
                        yield return(null);
                    }
                }
                else
                {
                    Debug.LogError("ui should be prepared before switched: " + targetID.ToString());
                }
            }
        }
    }
コード例 #5
0
ファイル: UIManager.cs プロジェクト: boumusic/SWIFT-PROTO
    private UIFlag NewPing(Zone zone)
    {
        GameObject newUI  = Instantiate(uiFlagZonePrefab, canvas.transform);
        UIFlag     uiFlag = newUI.GetComponent <UIFlag>();

        uiFlag.GetComponent <UI360>().FeedTarget(zone.gameObject);
        return(uiFlag);
    }
コード例 #6
0
ファイル: UIMgr.cs プロジェクト: happylays/tbb2
    public static bool IsUIShowing(UIFlag uiID)
    {
        if (uiID != UIFlag.none && uimgr.IsShowing(uiID))
        {
            return(true);
        }

        return(false);
    }
コード例 #7
0
ファイル: UIMgr.cs プロジェクト: happylays/tbb2
    public static bool IsUICaching(UIFlag uiID)
    {
        if (uiID != UIFlag.none && uimgr.m_lstCacheUIID.Contains(uiID))
        {
            return(true);
        }

        return(false);
    }
コード例 #8
0
ファイル: UIMgr.cs プロジェクト: happylays/tbb2
    public static IEnumerator ShowUIAsync(UIFlag showID, UIFlag preID, object exData)
    {
        IEnumerator itor = uimgr.ShowWndAsync(showID, preID, exData, UIFlag.none);

        while (itor.MoveNext())
        {
            yield return(null);
        }
    }
コード例 #9
0
ファイル: UIMgr.cs プロジェクト: happylays/tbb2
    public static IEnumerator SwitchUIAsync(UIFlag showID, object exData)
    {
        IEnumerator itor = uimgr.SwitchWndAsync(showID, UIFlag.none, exData);

        while (itor.MoveNext())
        {
            yield return(null);
        }
    }
コード例 #10
0
ファイル: UIMgr.cs プロジェクト: happylays/tbb2
    public static IEnumerator PrepareUIAsync(UIFlag showID)
    {
        IEnumerator itor = uimgr.PrepareWndAsync(showID);

        while (itor.MoveNext())
        {
            yield return(null);
        }
    }
コード例 #11
0
ファイル: UIMgr.cs プロジェクト: happylays/tbb2
    public static IEnumerator DownLoadUISync(UIFlag showID)
    {
        IEnumerator itor = uimgr.DownLoadWndSync(showID);

        while (itor.MoveNext())
        {
            yield return(null);
        }
    }
コード例 #12
0
ファイル: UIMgr.cs プロジェクト: happylays/tbb2
 IEnumerator DownLoadWndSync(UIFlag uiID)
 {
     if (uiID != UIFlag.none)//正确的ID;
     {
         IEnumerator itor = UIWndLoader.DownLoadUIWndAsync(uiID.ToString());
         while (itor.MoveNext())
         {
             yield return(null);
         }
     }
 }
コード例 #13
0
ファイル: UIMgr.cs プロジェクト: happylays/tbb2
    public static UIWnd GetUIWnd(UIFlag uiID)
    {
        if (uiID != UIFlag.none)
        {
            if (uimgr.m_mapAllUIWnd.ContainsKey(uiID))
            {
                return(uimgr.m_mapAllUIWnd[uiID]);
            }
        }

        return(null);
    }
コード例 #14
0
ファイル: UIMgr.cs プロジェクト: happylays/tbb2
    private bool IsShowing(UIFlag flag)
    {
        for (int i = 0; i < m_lstShowUIID.Count; ++i)
        {
            if (m_lstShowUIID[i] == flag)
            {
                return(true);
            }
        }

        return(false);
    }
コード例 #15
0
ファイル: UIMgr.cs プロジェクト: happylays/tbb2
    void HideWndSync(UIFlag hideID)
    {
        if (hideID != UIFlag.none)
        {
            if (IsUIShowing(hideID))
            {
                m_lstShowUIID.Remove(hideID);

                UIWnd hideWnd = GetUIWnd(hideID);
                if (hideWnd != null)
                {
                    hideWnd.OnHideWnd();
                    hideWnd.gameObject.SetActive(false);
                }
            }
        }
    }
コード例 #16
0
ファイル: UIMgr.cs プロジェクト: happylays/tbb2
    IEnumerator DestoryAllWndAsync()
    {
        UICoroutine.uiCoroutine.gameObject.SetActive(false);            //停止所有UICoroutine
        UICoroutine.uiCoroutine.gameObject.SetActive(true);

        int showIDCount = m_lstShowUIID.Count;

        for (int i = 0; i < showIDCount; ++i)
        {
            UIFlag hideID  = m_lstShowUIID[i];
            UIWnd  hideWnd = GetUIWnd(hideID);
            if (hideWnd != null)
            {
                hideWnd.OnHideWnd();
                hideWnd.gameObject.SetActive(false);
            }
        }

        m_lstShowUIID.Clear();

        Dictionary <UIFlag, UIWnd> mapAllMap = new Dictionary <UIFlag, UIWnd>(m_mapAllUIWnd);

        m_mapAllUIWnd.Clear();
        m_lstCacheUIID.Clear();

        foreach (KeyValuePair <UIFlag, UIWnd> kvp in mapAllMap)
        {
            if (kvp.Value != null && kvp.Value.gameObject)
            {
                GameObject.Destroy(kvp.Value.gameObject);

                yield return(null); //wait for a frame
            }
            UIWndLoader.ReleaseUIWnd(kvp.Key.ToString());
        }
        mapAllMap.Clear();

        ////DynamicPrefabMgr.Instance.OnDestroyUI();
        UIWndLoader.ReleaseAllUIWnd();                  //check again
        UIAtlasLoader.ReleaseAllAtlas();
        //TipsBoxMgr.HideAllTipsBox();
        //MsgWaitMgr.StopWaiting();

        //LoadingMgr.HideViolently();
    }
コード例 #17
0
ファイル: cGameStage.cs プロジェクト: happylays/tbb2
    public static IEnumerator DownLoadMatch()
    {
        //yield return UICoroutine.uiCoroutine.StartCoroutine(ClientResourcesMgr.LoadClientResource());

        RoomData.PrepareRoom(false, 27, 2246, SongMode.Taiko, "", null, 0);

        IEnumerator itor = null;

        itor = AnimationLoader.DownLoadStageSceneAnimation(RoomData.PlayMusciInfo.m_strMusicSource, RoomData.PlaySongMode);
        while (itor.MoveNext())
        {
            yield return(null);
        }

        CSceneInfo sceneInfo = StaticData.SceneDataMgr.GetSceneByID((byte)RoomData.PlayScene);

        if (sceneInfo != null)
        {
            itor = SceneLoader.DownLoadStageScene(sceneInfo.m_strSceneStage);
            while (itor.MoveNext())
            {
                yield return(null);
            }
        }

        UIFlag targetFlag = UIFlag.ui_taigu;

        itor = UIMgr.DownLoadUISync(targetFlag);
        while (itor.MoveNext())
        {
            yield return(null);
        }

        itor = LoadMatch(null);
        while (itor.MoveNext())
        {
            yield return(null);
        }

        SwitchingControl.HideSwitching();
    }
コード例 #18
0
ファイル: UIMgr.cs プロジェクト: happylays/tbb2
    private void CheckPreUI(UIFlag preID, UIFlag hideID)
    {
        //最多同时显示2个wnd
        UIFlag flag = preID;

        if (flag == UIFlag.none)
        {
            flag = hideID;
        }

        if (flag != UIFlag.none)
        {
            UIWnd preWnd = GetUIWnd(flag);
            if (preWnd != null && preWnd.PreWndID != UIFlag.none)
            {
                if (IsShowing(flag))
                {
                    HideWndSync(preWnd.PreWndID);
                }
            }
        }
    }
コード例 #19
0
ファイル: UIMgr.cs プロジェクト: happylays/tbb2
 public static void HideUI(UIFlag hideID)
 {
     uimgr.HideWndSync(hideID);
 }
コード例 #20
0
ファイル: UIMgr.cs プロジェクト: happylays/tbb2
 public static void ShowUISync(UIFlag showID, UIFlag preID, object exData, UIFlag hideID)
 {
     UICoroutine.uiCoroutine.StartCoroutine(uimgr.ShowWndAsync(showID, preID, exData, hideID));
 }
コード例 #21
0
ファイル: UIMgr.cs プロジェクト: happylays/tbb2
 public static void ShowUISync(UIFlag showID, UIFlag preID, object exData)
 {
     ShowUISync(showID, preID, exData, UIFlag.none);
 }
コード例 #22
0
ファイル: UIMgr.cs プロジェクト: happylays/tbb2
 public static void ShowUISync(UIFlag showID, object exData, UIFlag hideID)
 {
     ShowUISync(showID, UIFlag.none, exData, hideID);
 }
コード例 #23
0
ファイル: UIMgr.cs プロジェクト: happylays/tbb2
 public static void SetMainUI(UIFlag uiID)
 {
     uimgr.SetMainWnd(uiID);
 }
コード例 #24
0
 public IEnumerator PrepareUIAsync(UIFlag showID)
 {
     return(UIMgr.PrepareUIAsync(showID));
 }
コード例 #25
0
ファイル: CMatchBase.cs プロジェクト: happylays/tbb2
 /// <summary>
 /// 初始化比赛
 /// </summary>
 /// <param name="curUI"></param>
 public IEnumerator InitMatch(UIFlag uiFlag)
 {
     yield return(null);
 }
コード例 #26
0
ファイル: UIMgr.cs プロジェクト: happylays/tbb2
 void SetMainWnd(UIFlag uiID)
 {
     m_MainWnd = uiID;
 }
コード例 #27
0
 public BigMamaSwitchInfo(UIFlag flag, object exData)
 {
     NextUIFlag = flag;
     ExData     = exData;
 }
コード例 #28
0
 public ChallengeSwitchInfo(UIFlag flag, object exData)
 {
     NextUIFlag = flag;
     ExData     = exData;
 }
コード例 #29
0
 public GuideSwitchInfo(UIFlag flag, object exData)
 {
     NextUIFlag = flag;
     ExData     = exData;
 }
コード例 #30
0
 public IEnumerator SwitchUIAsync(UIFlag showID, object exData)
 {
     return(UIMgr.SwitchUIAsync(showID, exData));
 }