少年修仙传客户端代码仓库
client_Wu Xijin
2019-04-22 d35a906e3efca22aa5dfc470387ecb78c515432a
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
10个文件已修改
238 ■■■■■ 已修改文件
Fight/Actor/AI/Process/PN_Die.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Stage/Dungeon/AdventureStage.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipGem/EquipStrengthFull.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipGem/EquipStrengthRein.cs 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipGem/EquipStrengthUpper.cs 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipGem/EquipStrengthWin.cs 136 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Realm/RealmBriefBehaviour.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Realm/RealmModel.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Realm/RealmStageBehaviour.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Realm/RealmWin.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/AI/Process/PN_Die.cs
@@ -11,6 +11,10 @@
        GAMgr.Instance.ServerDie(m_Target.ServerInstID);
        m_Target.Die();
        GAMgr.Instance.DoDelayDie(m_Target);
        if (m_Target.belongEventID != -1)
        {
            ClientSceneManager.Instance.NpcDead(m_Target.belongEventID, m_Target, m_Target.NpcConfig.NPCID);
        }
#if UNITY_EDITOR
        UnityEngine.Debug.LogFormat("强制对象死亡");
#endif
Fight/Stage/Dungeon/AdventureStage.cs
@@ -18,7 +18,8 @@
    public void Enter()
    {
        IsInAdventureStage = true;
        IsInAdventureStage = true;
        ClientDungeonStageUtility.RequestStartClientDungeon(0, 0);
        m_CacheHeroPos = PlayerDatas.Instance.hero.Pos;
        SnxxzGame.Instance.StartCoroutine(_Enter());
    }
@@ -26,6 +27,7 @@
    public void Exit()
    {
        IsInAdventureStage = false;
        ClientDungeonStageUtility.RequestExitClientDungeon();
        SnxxzGame.Instance.StartCoroutine(_Exit());
    }
System/EquipGem/EquipStrengthFull.cs
@@ -12,6 +12,7 @@
    public class EquipStrengthFull : MonoBehaviour
    {
        [SerializeField] ItemCell m_ItemEquip;
        [SerializeField] Text m_EquipStar;
        [SerializeField] Text NeedMoney;
        [SerializeField] Text m_AttributesText1;
        [SerializeField] Text m_AttributesText2;
@@ -60,6 +61,10 @@
                    itemTipsModel.ShowTip();
                });
            }
            m_EquipStar.text = Language.Get("EquipStarLevel", star);
            m_EquipStar.gameObject.SetActive(star > 0);
            var equipLvNowList = strengthModel.GetEquipValueList(level, equipPlace);
            m_AttributesText1.gameObject.SetActive(false);
            m_AttributesText2.gameObject.SetActive(false);
System/EquipGem/EquipStrengthRein.cs
@@ -13,7 +13,8 @@
    public class EquipStrengthRein : MonoBehaviour
    {
        [SerializeField] ItemCell m_ItemMoney;
        [SerializeField] ItemCell m_ItemEquip;
        [SerializeField] ItemCell m_ItemEquip;
        [SerializeField] Text m_EquipStar;
        [SerializeField] IntensifySmoothSlider m_Slider;
        [SerializeField] Text NeedMoney;
        [SerializeField] Text m_AttributesText1;
@@ -59,6 +60,7 @@
                    itemTipsModel.ShowTip();
                });
            }
            m_TextNumber.text = "+" + (equipLv + 1);
            DisplayMoney();
@@ -69,6 +71,9 @@
            var maxStar = EquipStarModel.GetMaxStarLevel(item.config.ItemColor, level);
            star = Mathf.Min(star, maxStar);
            m_EquipStar.text = Language.Get("EquipStarLevel", star);
            m_EquipStar.gameObject.SetActive(star > 0);
            var equipMaxLv = strengthModel.GetEquipLevelMax(equipType, star);
            m_TextMaxLv.text = Language.Get("ZBQH_02", star, equipMaxLv);
@@ -76,7 +81,7 @@
            m_ItemMoney.Init(cellModel);
            m_ItemMoney.button.SetListener(() =>
            {
                ItemAttrData attrData = new ItemAttrData(2100, false, (ulong)1);
                ItemAttrData attrData = new ItemAttrData(2100, true, (ulong)1);
                itemTipsModel.SetItemTipsModel(attrData);
            });
            var equipLvNowList = strengthModel.GetEquipValueList(level, equipPlace);
System/EquipGem/EquipStrengthUpper.cs
@@ -12,6 +12,7 @@
    public class EquipStrengthUpper : MonoBehaviour
    {
        [SerializeField] ItemCell m_ItemEquip;
        [SerializeField] Text m_StarLevel;
        [SerializeField] ItemCell m_ItemMoney;
        [SerializeField] Text NeedMoney;
        [SerializeField] Text m_AttributesText1;
@@ -40,16 +41,12 @@
                equipLv = strengthModel.EquipStrengthDic[equipIndex].StrengthLevel;
                equipStrength = strengthModel.EquipStrengthDic[equipIndex];
            }
            NeedMoney.gameObject.SetActive(false);
            var itemPlus = strengthModel.GetEquipConfig(level, equipPlace);
            if (itemPlus == null)
            {
                DebugEx.LogError("没有索引到对应的强化表数据");
                return;
            }
            m_TextNumber.text = "+" + (equipLv);
            var item = packModel.GetItemByGuid(equipGuid);
            if (item != null)
            {
@@ -61,11 +58,19 @@
                });
            }
            m_TextNumber.text = "+" + (equipLv + 1);
            DisplayMoney();
            int equipType = strengthModel.GetEquipStrengthType(equipPlace);
            var star = equipStarModel.GetEquipStarLevel(new Int2(level, equipPlace));
            var maxStar = EquipStarModel.GetMaxStarLevel(item.config.ItemColor, level);
            star = Mathf.Min(star, maxStar);
            int equipType = strengthModel.GetEquipStrengthType(equipPlace);
            m_StarLevel.text = Language.Get("EquipStarLevel", star);
            m_StarLevel.gameObject.SetActive(star > 0);
            var equipMaxLv = strengthModel.GetEquipLevelMax(equipType, star);
            m_TextMaxLv.text = Language.Get("ZBQH_02", star, equipMaxLv);
@@ -74,9 +79,10 @@
            m_ItemMoney.Init(cellModel);
            m_ItemMoney.button.SetListener(() =>
            {
                ItemAttrData attrData = new ItemAttrData(2100, false, (ulong)1);
                ItemAttrData attrData = new ItemAttrData(2100, true, (ulong)1);
                itemTipsModel.SetItemTipsModel(attrData);
            });
            var equipLvNowList = strengthModel.GetEquipValueList(level, equipPlace);
            var equipAddLvList = strengthModel.GetEquipValueList(level, equipPlace, 1);
            m_AttributesText1.gameObject.SetActive(false);
@@ -96,25 +102,43 @@
                            Text addText = m_AttributesText1.transform.Find("Number").GetComponent<Text>();
                            m_AttributesText1.text = _equipLv.StrName + ":" + _equipLv.AttValue;
                            addText.gameObject.SetActive(false);
                            addText.text = "+" + (_equipAddLv.AttValue - _equipLv.AttValue);
                            break;
                        case 1:
                            m_AttributesText2.gameObject.SetActive(true);
                            Text addText1 = m_AttributesText2.transform.Find("Number").GetComponent<Text>();
                            m_AttributesText2.text = _equipLv.StrName + ":" + _equipLv.AttValue;
                            addText1.gameObject.SetActive(false);
                            addText1.text = "+" + (_equipAddLv.AttValue - _equipLv.AttValue);
                            break;
                        case 2:
                            m_AttributesText3.gameObject.SetActive(true);
                            Text addText2 = m_AttributesText3.transform.Find("Number").GetComponent<Text>();
                            m_AttributesText3.text = _equipLv.StrName + ":" + _equipLv.AttValue;
                            addText2.gameObject.SetActive(false);
                            addText2.text = "+" + (_equipAddLv.AttValue - _equipLv.AttValue);
                            break;
                    }
                }
            }
        }
        public void DisplayMoney()
        {
            var config = strengthModel.GetEquipConfig(equipLevel, equipPlace);
            if (config == null)
            {
                return;
            }
            ulong money = UIHelper.GetMoneyCnt(3);
            ulong requireMoney = (ulong)config.costCount;
            string moneyLabel = ItemLogicUtility.Instance.OnChangeCoinsUnit(UIHelper.GetMoneyCnt(3));
            moneyLabel = UIHelper.AppendColor(money >= requireMoney ? TextColType.Green : TextColType.Red, moneyLabel, true);
            string requireLabel = ItemLogicUtility.Instance.OnChangeCoinsUnit(requireMoney);
            NeedMoney.text = StringUtility.Contact(moneyLabel, "/", requireLabel);
        }
    }
}
System/EquipGem/EquipStrengthWin.cs
@@ -33,8 +33,8 @@
        [SerializeField] UIEffect m_UIEffect1B;
        [SerializeField] UIEffect m_UIEffect1C;
        EquipStrengthModel strengthModel { get { return ModelCenter.Instance.GetModel<EquipStrengthModel>(); } }
        EquipGemModel model { get { return ModelCenter.Instance.GetModel<EquipGemModel>(); } }
        EquipStrengthModel model { get { return ModelCenter.Instance.GetModel<EquipStrengthModel>(); } }
        EquipGemModel equipGemModel { get { return ModelCenter.Instance.GetModel<EquipGemModel>(); } }
        EquipModel equipModel { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
        PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        EquipStarModel equipStarModel { get { return ModelCenter.Instance.GetModel<EquipStarModel>(); } }
@@ -57,7 +57,7 @@
        protected override void OnPreOpen()
        {
            strengthModel.IsChangeBool = true;
            model.IsChangeBool = true;
            IsAutomaticBool = false;
            Times = 0f;
            m_StopBtn.gameObject.SetActive(false);
@@ -66,13 +66,13 @@
            OpenSelect();//默认选择                  
            DisplayEquips();
            SetStrengthenedState();
            strengthModel.SelectEquipRefresh += SelectEquipRefresh;
            strengthModel.SelectLevelRefresh += SelectLevelRefresh;
            strengthModel.EquipStrengthUpdate += EquipStrengthUpdate;
            strengthModel.EquipStrengthLvUpdate += EquipStrengthLvUpdate;
            model.SelectEquipRefresh += SelectEquipRefresh;
            model.SelectLevelRefresh += SelectLevelRefresh;
            model.EquipStrengthUpdate += EquipStrengthUpdate;
            model.EquipStrengthLvUpdate += EquipStrengthLvUpdate;
            PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefreshEvent;
            m_Controller.JumpIndex(GetJumpIndex(strengthModel.SelectLevel, strengthModel.SelectEquipPlace));
            m_Controller.JumpIndex(GetJumpIndex(model.SelectLevel, model.SelectEquipPlace));
        }
@@ -82,10 +82,10 @@
        protected override void OnPreClose()
        {
            strengthModel.SelectEquipRefresh -= SelectEquipRefresh;
            strengthModel.SelectLevelRefresh -= SelectLevelRefresh;
            strengthModel.EquipStrengthUpdate -= EquipStrengthUpdate;
            strengthModel.EquipStrengthLvUpdate -= EquipStrengthLvUpdate;
            model.SelectEquipRefresh -= SelectEquipRefresh;
            model.SelectLevelRefresh -= SelectLevelRefresh;
            model.EquipStrengthUpdate -= EquipStrengthUpdate;
            model.EquipStrengthLvUpdate -= EquipStrengthLvUpdate;
            PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefreshEvent;
        }
@@ -102,8 +102,8 @@
                if (Times >= WaitTime && isBool && upperLimitBool)
                {
                    Times = 0;
                    int itemIndex = EquipPlaceMapConfig.GetServerPlace(strengthModel.SelectLevel, strengthModel.SelectEquipPlace);
                    strengthModel.SendEquip(itemIndex);
                    int itemIndex = EquipPlaceMapConfig.GetServerPlace(model.SelectLevel, model.SelectEquipPlace);
                    model.SendEquip(itemIndex);
                }
                else if (!isBool || !upperLimitBool)
                {
@@ -135,13 +135,13 @@
                }
                if (equipSet.unLocked)
                {
                    var slotCount = model.GetUnlockEquipSlotCount(level);
                    var slotCount = equipGemModel.GetUnlockEquipSlotCount(level);
                    if (slotCount > 0)
                    {
                        jumpIndex++;
                        if (model.selectLevel == level)
                        if (equipGemModel.selectLevel == level)
                        {
                            var places = model.GetMosaicEquipPlaces();
                            var places = equipGemModel.GetMosaicEquipPlaces();
                            foreach (var place in places)
                            {
                                if (equipSet.IsSlotUnLocked(place))
@@ -164,8 +164,8 @@
        {
            if (StrengtheBool())
            {
                int itemIndex = EquipPlaceMapConfig.GetServerPlace(strengthModel.SelectLevel, strengthModel.SelectEquipPlace);
                strengthModel.SendEquip(itemIndex);
                int itemIndex = EquipPlaceMapConfig.GetServerPlace(model.SelectLevel, model.SelectEquipPlace);
                model.SendEquip(itemIndex);
            }
        }
@@ -202,7 +202,7 @@
                m_UIEffect1A.Play();
            }
            m_UIEffect1C.Play();
            if (strengthModel.SelectLevel != -1)
            if (model.SelectLevel != -1)
            {
                SetStrengthenedState();
                m_Controller.m_Scorller.RefreshActiveCellViews();               
@@ -221,13 +221,13 @@
                }
                if (equipSet.unLocked)
                {
                    var slotCount = model.GetUnlockEquipSlotCount(level);
                    var slotCount = equipGemModel.GetUnlockEquipSlotCount(level);
                    if (slotCount > 0)
                    {
                        m_Controller.AddCell(ScrollerDataType.Header, level);
                        if (strengthModel.SelectLevel == level)
                        if (model.SelectLevel == level)
                        {
                            var places = model.GetMosaicEquipPlaces();
                            var places = equipGemModel.GetMosaicEquipPlaces();
                            foreach (var place in places)
                            {
                                if (equipSet.IsSlotUnLocked(place))
@@ -244,7 +244,7 @@
        private void SelectEquipRefresh()
        {
            m_Controller.m_Scorller.RefreshActiveCellViews();
            strengthModel.IsChangeBool = true;
            model.IsChangeBool = true;
            SetStrengthenedState();
            if (IsAutomaticBool)
            {
@@ -256,7 +256,7 @@
        private void SelectLevelRefresh()
        {
            strengthModel.IsChangeBool = true;
            model.IsChangeBool = true;
            if (IsAutomaticBool)
            {
                Times = 0f;
@@ -286,7 +286,7 @@
        private void SetStrengthenedState()
        {
            if (strengthModel.SelectLevel == -1)
            if (model.SelectLevel == -1)
            {
                m_ContainerEmpty.gameObject.SetActive(true);
                m_ContainerStrength.gameObject.SetActive(false);
@@ -300,8 +300,8 @@
            m_EquipStrengthUpper.gameObject.SetActive(false);
            m_EquipStrengthRein.gameObject.SetActive(false);
            m_EquipEvolution.gameObject.SetActive(false);
            int equipLevel = strengthModel.SelectLevel;
            int equipPlace = strengthModel.SelectEquipPlace;
            int equipLevel = model.SelectLevel;
            int equipPlace = model.SelectEquipPlace;
            var equipSet = equipModel.GetEquipSet(equipLevel);
            string equipGuid = string.Empty;
            equipGuid = equipSet.GetEquip(equipPlace);
@@ -316,13 +316,13 @@
                int equipLv = 0;
                int advancedLv = 0;
                if (strengthModel.EquipStrengthDic.ContainsKey(equipIndex))//获取当前强化等级
                if (model.EquipStrengthDic.ContainsKey(equipIndex))//获取当前强化等级
                {
                    equipLv = strengthModel.EquipStrengthDic[equipIndex].StrengthLevel;
                    advancedLv = strengthModel.EquipStrengthDic[equipIndex].EvolveLV;
                    equipLv = model.EquipStrengthDic[equipIndex].StrengthLevel;
                    advancedLv = model.EquipStrengthDic[equipIndex].EvolveLV;
                }
                int equipType = strengthModel.GetEquipStrengthType(equipPlace);
                int equipType = model.GetEquipStrengthType(equipPlace);
                var itemPlusMaxConfig = ItemPlusMaxConfig.GetEquipTypeAndEquipStar(equipType, star);//获取强化等级上限值
                if (itemPlusMaxConfig == null)
                {
@@ -330,7 +330,7 @@
                    return;
                }
                int maxLv = strengthModel.GetEquipLevelMax(equipType, maxStar);//获取最大强化等级
                int maxLv = model.GetEquipLevelMax(equipType, maxStar);//获取最大强化等级
                m_EquipEvolution.gameObject.SetActive(true);
                m_EquipEvolution.SetEquipEvolution(equipPlace, advancedLv);
                if (equipLv >= maxLv)//满级
@@ -341,9 +341,8 @@
                }
                else if (maxLv > equipLv && equipLv >= itemPlusMaxConfig.levelMax)//强化上限
                {
                    m_BottomFrame.SetActive(false);
                    m_BottomFrame.SetActive(true);
                    m_EquipStrengthUpper.gameObject.SetActive(true);
                    m_EquipStrengthUpper.SetEquipStrengthUpper(equipGuid, equipLevel, equipPlace);
                }
                else if (itemPlusMaxConfig.levelMax > equipLv)//可强化过
@@ -362,14 +361,14 @@
        private void OpenSelect()
        {
            strengthModel.SelectLevel = -1;
            strengthModel.SelectEquipPlace = -1;
            model.SelectLevel = -1;
            model.SelectEquipPlace = -1;
            if (!strengthModel.jumpEquipPosition.Equals(Int2.zero))
            if (!model.jumpEquipPosition.Equals(Int2.zero))
            {
                strengthModel.SelectLevel = strengthModel.jumpEquipPosition.x;
                strengthModel.SelectEquipPlace = strengthModel.jumpEquipPosition.y;
                strengthModel.jumpEquipPosition = Int2.zero;
                model.SelectLevel = model.jumpEquipPosition.x;
                model.SelectEquipPlace = model.jumpEquipPosition.y;
                model.jumpEquipPosition = Int2.zero;
                return;
            }
@@ -383,21 +382,21 @@
                }
                if (equipSet.unLocked)
                {
                    var slotCount = model.GetUnlockEquipSlotCount(level);
                    var slotCount = equipGemModel.GetUnlockEquipSlotCount(level);
                    if (slotCount > 0)
                    {
                        if (strengthModel.SelectLevel == -1)
                        if (model.SelectLevel == -1)
                        {
                            strengthModel.SelectLevel = level;
                            model.SelectLevel = level;
                        }
                        if (strengthModel.SelectLevel == level)
                        if (model.SelectLevel == level)
                        {
                            var places = model.GetMosaicEquipPlaces();
                            var places = equipGemModel.GetMosaicEquipPlaces();
                            foreach (var place in places)
                            {
                                if (strengthModel.SelectEquipPlace == -1)
                                if (model.SelectEquipPlace == -1)
                                {
                                    strengthModel.SelectEquipPlace = place;
                                    model.SelectEquipPlace = place;
                                }
                            }
                        }
@@ -408,39 +407,49 @@
        private bool StrengtheBool()
        {
            bool isbool = false;
            var itemPlus = strengthModel.GetEquipConfig(strengthModel.SelectLevel, strengthModel.SelectEquipPlace);
            if (m_EquipStrengthUpper.gameObject.activeSelf)
            {
                int equipType = model.GetEquipStrengthType(model.SelectEquipPlace);
                var equipPosition = new Int2(model.SelectLevel, model.SelectEquipPlace);
                var star = equipStarModel.GetEquipStarLevel(equipPosition);
                var equipGuid = equipModel.GetEquip(equipPosition);
                var item = packModel.GetItemByGuid(equipGuid);
                var maxStar = EquipStarModel.GetMaxStarLevel(item.config.ItemColor, model.SelectEquipPlace);
                star = Mathf.Min(star, maxStar);
                var equipMaxLv = model.GetEquipLevelMax(equipType, star);
                SysNotifyMgr.Instance.ShowTip("EquipStrengthLimitError_1", star, equipMaxLv);
                return false;
            }
            var itemPlus = model.GetEquipConfig(model.SelectLevel, model.SelectEquipPlace);
            if (itemPlus == null)
            {
                return false;
            }
            ulong money = UIHelper.GetMoneyCnt(3);
            ulong needMoney = (ulong)itemPlus.costCount;
            if (money >= needMoney)
            if (money < needMoney)
            {
                isbool = true;
            }
            else
            {
                ModelCenter.Instance.GetModel<GetItemPathModel>().SetChinItemModel(22);
                //ServerTipDetails.DisplayNormalTip(Language.Get("Z1011"));
                isbool = false;
                ModelCenter.Instance.GetModel<GetItemPathModel>().SetChinItemModel(2100);
                return false;
            }
            return isbool;
            return true;
        }
        private bool UpperLimitBool()
        {
            bool isBool = false;
            var equipPosition = new Int2(strengthModel.SelectLevel, strengthModel.SelectEquipPlace);
            var equipPosition = new Int2(model.SelectLevel, model.SelectEquipPlace);
            int equipIndex = EquipSet.ClientPlaceToServerPlace(equipPosition);
            int star = equipStarModel.GetStarLevel(equipPosition);
            int equipLv = 0;
            if (strengthModel.EquipStrengthDic.ContainsKey(equipIndex))//获取当前强化等级
            if (model.EquipStrengthDic.ContainsKey(equipIndex))//获取当前强化等级
            {
                equipLv = strengthModel.EquipStrengthDic[equipIndex].StrengthLevel;
                equipLv = model.EquipStrengthDic[equipIndex].StrengthLevel;
            }
            int equipType = strengthModel.GetEquipStrengthType(strengthModel.SelectEquipPlace);
            int equipType = model.GetEquipStrengthType(model.SelectEquipPlace);
            var itemPlusMaxConfig = ItemPlusMaxConfig.GetEquipTypeAndEquipStar(equipType, star);//获取强化等级上限值
            if (itemPlusMaxConfig.levelMax > equipLv)
            {
@@ -459,6 +468,7 @@
            if (dataType == PlayerDataType.Silver)
            {
                m_EquipStrengthRein.DisplayMoney();
                m_EquipStrengthUpper.DisplayMoney();
            }
        }
    }
System/Realm/RealmBriefBehaviour.cs
@@ -12,6 +12,7 @@
        [SerializeField] PropertyBehaviour m_ClonePropertyBeha;
        [SerializeField] Transform m_PropertyRoot;
        [SerializeField] List<PropertyBehaviour> m_Properties;
        [SerializeField] Text m_ReikiPoint;
        [SerializeField] Transform m_ContainerUnlockEquip;
        [SerializeField] Image m_UnlockEquip;
        [SerializeField] Button m_Preview;
@@ -58,12 +59,15 @@
            {
                m_Properties[i].gameObject.SetActive(false);
            }
            m_ReikiPoint.text = model.realmLevelUpReikiPoint.ToString();
        }
        void DisplayEquip()
        {
            var level = 0;
            if (model.IsUnlockEquipRealm(realmLevel, out level))
            if (model.IsUnlockEquipRealm(realmLevel, out level)
                && model.displayRealmLevel >= model.realmEquipDisplayLevel)
            {
                m_ContainerUnlockEquip.gameObject.SetActive(true);
                var config = RealmConfig.Get(realmLevel);
System/Realm/RealmModel.cs
@@ -15,6 +15,8 @@
        List<List<int>> m_RealmStages = new List<List<int>>();
        public int realmMaxLevel { get; private set; }
        public int realmPoolOpenLevel { get; private set; }
        public int realmEquipDisplayLevel { get; private set; }
        public int realmLevelUpReikiPoint { get; private set; }
        public bool isBossPass { get; private set; }
        public int realmExpTime { get; private set; }
        public long startExp { get; private set; }
@@ -213,6 +215,12 @@
            var funcConfig = FuncConfigConfig.Get("RealmExpTime");
            realmExpTime = int.Parse(funcConfig.Numerical1);
            funcConfig = FuncConfigConfig.Get("RealmEqiupDisplayLevel");
            realmEquipDisplayLevel = int.Parse(funcConfig.Numerical1);
            funcConfig = FuncConfigConfig.Get("LVUPAddPoint");
            realmLevelUpReikiPoint = int.Parse(funcConfig.Numerical3);
        }
        public bool TryGetRealmProperty(int level, out Dictionary<int, int> propertyDict)
System/Realm/RealmStageBehaviour.cs
@@ -13,6 +13,7 @@
        [SerializeField] Transform m_ContainerSelect;
        [SerializeField] Image m_SelectIcon;
        [SerializeField] UIEffect m_Effect;
        [SerializeField] UIEffect m_PracticeEffect;
        [SerializeField] Button m_Select;
        public int realmLevel { get; private set; }
@@ -35,6 +36,7 @@
            DisplayBase();
            DisplaySelect();
            DisplayPracticeEffect();
            DisplayEffect(false);
        }
@@ -51,6 +53,21 @@
            {
                var config = RealmConfig.Get(realmLevel);
                m_SelectIcon.SetSprite(StringUtility.Contact("RealmSelectBottom_", config.Quality));
            }
        }
        void DisplayPracticeEffect()
        {
            if (model.displayRealmLevel + 1 == realmLevel)
            {
                if (!m_PracticeEffect.IsPlaying)
                {
                    m_PracticeEffect.Play();
                }
            }
            else
            {
                m_PracticeEffect.StopImediatly();
            }
        }
@@ -95,6 +112,7 @@
        private void SelectRealmRefresh()
        {
            DisplaySelect();
            DisplayPracticeEffect();
        }
        private void OnSelect()
System/Realm/RealmWin.cs
@@ -272,6 +272,12 @@
        void DisplayUnlockEquip()
        {
            m_ContainerUnlockEquip.gameObject.SetActive(false);
            if (model.displayRealmLevel < model.realmEquipDisplayLevel)
            {
                return;
            }
            var stage = model.GetRealmStage(model.displayRealmLevel);
            List<int> realms = null;
            if (model.TryGetRealmStages(stage, out realms))