少年修仙传客户端代码仓库
client_Wu Xijin
2019-03-14 49287ea39a0ad3dde2b9a957d9f516f4b96d098a
System/Realm/RealmWin.cs
@@ -81,6 +81,7 @@
        {
            PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefreshEvent;
            model.selectRealmRefresh += SelectRealmRefresh;
            m_RealmAnimation.onRotateComplete += OnRotateComplete;
        }
        protected override void OnActived()
@@ -100,6 +101,7 @@
        {
            PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefreshEvent;
            model.selectRealmRefresh -= SelectRealmRefresh;
            m_RealmAnimation.onRotateComplete -= OnRotateComplete;
        }
        protected override void OnAfterClose()
@@ -133,6 +135,7 @@
        void HideRealmUp()
        {
            m_ContainerRealmUp.gameObject.SetActive(false);
            m_RealmAnimation.StopRotate();
            foreach (var item in m_RealmStages)
            {
                item.Dispose();
@@ -160,17 +163,18 @@
            {
                for (int i = 0; i < m_RealmStages.Length; i++)
                {
                    if (i < realms.Count)
                    var index = m_RealmStages[i].animIndex;
                    if (index < realms.Count)
                    {
                        m_RealmStages[i].gameObject.SetActive(true);
                        m_RealmStages[i].Display(realms[i]);
                        m_RealmStages[i].Display(realms[index]);
                    }
                    else
                    {
                        m_RealmStages[i].gameObject.SetActive(false);
                        if (realms[realms.Count - 1] < model.realmMaxLevel)
                        {
                            m_RealmStages[i].Display(realms[0] + i);
                            m_RealmStages[i].Display(realms[0] + index);
                        }
                    }
                }
@@ -180,7 +184,7 @@
        void DisplayRealmLevelUp()
        {
            var realmLevel = PlayerDatas.Instance.baseData.realmLevel;
            var requireLevelUp = model.selectRealm < model.realmMaxLevel && model.selectRealm > realmLevel;
            var requireLevelUp = realmLevel < model.realmMaxLevel && model.selectRealm > realmLevel;
            m_RealmLevelUp.gameObject.SetActive(requireLevelUp);
            if (requireLevelUp)
            {
@@ -200,7 +204,39 @@
        {
            if (dataType == PlayerDataType.RealmLevel)
            {
                DisplayRealmLevelUp();
                var realmLevel = PlayerDatas.Instance.baseData.realmLevel;
                if (realmLevel == model.realmMaxLevel)
                {
                    DisplayRealmLevelUp();
                }
                else
                {
                    var stage = model.GetRealmStage(realmLevel + 1);
                    var currentStage = model.GetRealmStage(model.selectRealm);
                    if (stage != currentStage)
                    {
                        m_RealmAnimation.StartRotate();
                    }
                    model.selectRealm = realmLevel + 1;
                }
            }
        }
        private void OnRotateComplete()
        {
            var realmLevel = PlayerDatas.Instance.baseData.realmLevel;
            var stage = model.GetRealmStage(realmLevel + 1);
            List<int> realms = null;
            if (model.TryGetRealmStages(stage, out realms))
            {
                for (int i = 0; i < m_RealmStages.Length; i++)
                {
                    var index = m_RealmStages[i].animIndex;
                    if (index > 4)
                    {
                        m_RealmStages[i].Display(realms[0] + index);
                    }
                }
            }
        }