少年修仙传客户端代码仓库
client_Hale
2018-11-19 a9480658a86645028672e1b0c79575949164dd92
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
14个文件已修改
358 ■■■■■ 已修改文件
System/Dungeon/IceCrystalVeinModel.cs 55 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/IceCrystalVeinWin.cs 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/PlayerTaskDatas.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/TaskListTip.cs 56 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/OpenServerActivityNotifyModel.cs 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/OpenServerActivity/WishingPoolModel.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Role/PropertyBehaviour.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Rune/RuneComposeWin.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/SkillPassWin.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureBaseWin.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureLevelUpWin.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureModel.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasurePotentialPanel.cs 65 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/EnumHelper.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/IceCrystalVeinModel.cs
@@ -30,21 +30,23 @@
    public int HasSweep = 0;//是否已扫荡
    public int DayLv = 0;//今日等级
    public event Action UpdateIceLodeInf;
    DungeonModel m_Model;
    DungeonModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DungeonModel>()); } }
    public override void Init()
    {
        Assignment();
    }
    public void OnBeforePlayerDataInitialize()
    {
    }
    public override void UnInit()
    {
    }
    public void OnPlayerLoginOk()
    {
    }
    private void Assignment()
@@ -77,8 +79,8 @@
                }
            }
        }
    }
    public void IceLodeInfo(HB204_tagMCIceLodeInfo info)
@@ -100,7 +102,7 @@
        }
    }
    public void SendGetAward(int Index)
    public void SendGetAward(int Index)//领取奖励
    {
        CA504_tagCMPlayerGetReward getReward = new CA504_tagCMPlayerGetReward();
        getReward.RewardType = (byte)GotServerRewardType.Def_RewardType_IceLodeStar;
@@ -109,6 +111,47 @@
        getReward.DataExStr = string.Empty;
        GameNetSystem.Instance.SendInfo(getReward);
    }
    public int GetAllStar()
    {
        int StarAll = 0;
        for (int i = 0; i < LineList.Count; i++)
        {
            DungeonRecord dungeonRecord;
            if (model.TryGetRecord(31140, out dungeonRecord))
            {
                if (dungeonRecord.lineGrades.ContainsKey(LineList[i]))
                {
                    StarAll += dungeonRecord.lineGrades[(LineList[i])];
                }
            }
        }
        return StarAll;
    }
    public bool IsFree(int Index)
    {
        DungeonRecord dungeonRecord;
        if (model.TryGetRecord(31140, out dungeonRecord))
        {
            if (dungeonRecord.lineGrades.ContainsKey(Index))
            {
                int StarNumber = dungeonRecord.lineGrades[Index];
                if (StarNumber > 0)
                {
                    return false;
                }
                else
                {
                    return true;
                }
            }
            else
            {
                return true;
            }
        }
        return true;
    }
}
System/Dungeon/IceCrystalVeinWin.cs
@@ -11,7 +11,8 @@
using TableConfig;
using EnhancedUI.EnhancedScroller;
namespace Snxxz.UI {
namespace Snxxz.UI
{
    public class IceCrystalVeinWin : Window
    {
@@ -52,12 +53,12 @@
        protected override void OnPreOpen()
        {
            GetAllStar();
            StarAll = iceCrystalVeinModel.GetAllStar();
            OnCreateGridLineCell(m_ScrollerController);
            AddIceLodeStarAwardList();
            SetGridMiddle();
            SetGridBotton();
        }
        protected override void OnAfterOpen()
@@ -66,7 +67,7 @@
            iceCrystalVeinModel.UpdateIceLodeInf += UpdateIceLodeInf;
        }
        protected override void OnPreClose()
        {
        }
@@ -79,7 +80,7 @@
        private void UpdateIceLodeInf()
        {
            GetAllStar();
            StarAll = iceCrystalVeinModel.GetAllStar();
            m_ScrollerController.m_Scorller.RefreshActiveCellViews();//刷新可见 
        }
@@ -87,9 +88,9 @@
        {
            if (fbId == 31140)
            {
                GetAllStar();
                StarAll = iceCrystalVeinModel.GetAllStar();
                m_ScrollerController.m_Scorller.RefreshActiveCellViews();//刷新可见
            }
            }
        }
        #endregion
@@ -103,9 +104,33 @@
        }
        private void OnClickChallenge()
        {
            //model.currentDungeon = new Dungeon(31140, IndexSelect);
            //model.SingleChallenge(model.currentDungeon);
            if (iceCrystalVeinModel.IsFree(IndexSelect))//免费
            {
                EnterTheCopy();
            }
            else//收费
            {
                string str = "重复挑战该副本需要消耗50绑玉,确定要重复挑战?";
                ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), str, (bool isOk) =>
                {
                    if (isOk)
                    {
                        int GoldPaper = (int)UIHelper.GetMoneyCnt(2);
                        if (GoldPaper >= 50)
                        {
                            EnterTheCopy();
                        }
                    }
                });
            }
        }
        private void EnterTheCopy()
        {
            model.currentDungeon = new Dungeon(31140, IndexSelect);
            model.SingleChallenge(model.currentDungeon);
        }
        void OnCreateGridLineCell(ScrollerController gridCtrl)
        {
            gridCtrl.Refresh();
@@ -130,7 +155,7 @@
                Obj2.SetActive(false);
                IceCrystalVeinCell iceCrystal = Obj1.GetComponent<IceCrystalVeinCell>();
                iceCrystal.SetIceCrystalVeinCell(Index);
                iceCrystal._Button.SetListener(()=>
                iceCrystal._Button.SetListener(() =>
                {
                    IndexSelect = Index;
                    m_ScrollerController.m_Scorller.RefreshActiveCellViews();//刷新可见
@@ -161,7 +186,7 @@
                    ItemCellModel cellModel = new ItemCellModel(IceCrystalVeinMiddle[i], true, (ulong)1);
                    _ItemCell.Init(cellModel);
                    int type = i;
                    _ItemCell.cellBtn.SetListener(()=>
                    _ItemCell.cellBtn.SetListener(() =>
                    {
                        ItemAttrData attrData = new ItemAttrData(IceCrystalVeinMiddle[type], false, (ulong)1);
                        itemTipsModel.SetItemTipsModel(attrData);
@@ -185,8 +210,8 @@
                    IceLodeStarAwardClass IceLode = IceLodeStarAwardList[i];
                    ObjChild.SetActive(true);
                    ItemCell _ItemCell = ObjChild.transform.Find("ItemCell_1").GetComponent<ItemCell>();
                    Text TextStar= ObjChild.transform.Find("Text_Star").GetComponent<Text>();
                    TextStar.text = StarAll + "/"+ IceLode.Star;
                    Text TextStar = ObjChild.transform.Find("Text_Star").GetComponent<Text>();
                    TextStar.text = StarAll + "/" + IceLode.Star;
                    ItemCellModel cellModel = new ItemCellModel(IceLode.ItemID, true, (ulong)1);
                    _ItemCell.Init(cellModel);
                    int type = i;
@@ -214,22 +239,7 @@
                    IceLodeStarAwardList.Add(Dic);
                }
            }
        }
        private void GetAllStar()
        {
            StarAll = 0;
            for (int i = 0; i < iceCrystalVeinModel.LineList.Count; i++)
            {
                DungeonRecord dungeonRecord;
                if (model.TryGetRecord(31140, out dungeonRecord))
                {
                    if (dungeonRecord.lineGrades.ContainsKey(iceCrystalVeinModel.LineList[i]))
                    {
                        StarAll += dungeonRecord.lineGrades[(iceCrystalVeinModel.LineList[i])];
                    }
                }
            }
        }
        }
    }
}
System/MainInterfacePanel/PlayerTaskDatas.cs
@@ -209,7 +209,7 @@
    {
        try
        {
            if (AutomaticityBool && MissionState!=3)
            if (AutomaticityBool && MissionState!=3 && MissionID!=2000 && MissionID!=3000)
            {
                TaskupToDate = MissionID;
            }
System/MainInterfacePanel/TaskListTip.cs
@@ -139,7 +139,7 @@
        private void Updatefighting(PlayerDataRefresh obj)//等级刷新
        {
        }
        private void CardLevelChangeEvent(int taskID)//卡级状态改变
        {
@@ -201,20 +201,20 @@
        }
        void TaskToAdd(int MissionID, int MissionState, int DiscriptionIndex)//添加任务
        {
            var inDungeon = IsDungeon();
            TaskScheduling();
            if (WindowCenter.Instance.IsOpen<MainInterfaceWin>() && !inDungeon)
            {
                if (MissionState != 0 && MissionID!=1 && _list.Contains(MissionID))
                {
                if (MissionState != 0 && MissionID != 1 && _list.Contains(MissionID))
                {
                    TaskAddAndDelete(MissionID);
                    TaskJump(MissionID);
                    return;
                }
            }
        }
        private void TaskAddAndDelete(int TaskID)
@@ -244,27 +244,6 @@
                }
            }
            //for (int i = 0; i < Content.childCount; i++)
            //{
            //    if (i < _list.Count)
            //    {
            //        GameObject obj = Content.GetChild(i).gameObject;
            //        TaskType childObjTaskType = Content.GetChild(i).gameObject.GetComponent<TaskType>();
            //        if (childObjTaskType.TaskID == TaskID)
            //        {
            //            return;
            //        }
            //        if (childObjTaskType.TaskID == 0)
            //        {
            //            obj.SetActive(true);
            //            childObjTaskType.TaskID = TaskID;
            //            childObjTaskType.IsGameObjectName(TaskID);
            //            childObjTaskType.IsMysteriousTask();
            //            obj.GetComponent<FlyingShoesTask>().FlyingShoes_Task(TaskID);
            //        }
            //    }
            //}
            ChangeSort();//关于任务变更排序
            SetLength();
        }
@@ -274,7 +253,7 @@
            TaskScheduling();
            for (int i = 0; i < _list.Count; i++)
            {
                if (i <= Content.childCount-1)
                if (i <= Content.childCount - 1)
                {
                    GameObject childObj = Content.GetChild(i).gameObject;
                    TaskType childObjTaskType = Content.GetChild(i).gameObject.GetComponent<TaskType>();
@@ -290,7 +269,7 @@
                        }
                    }
                }
            }
            SetLength();
            TaskJump();
@@ -304,7 +283,7 @@
            {
                DeleteSort(_IdTask);
            }
        }
        private void DeleteSort(int taskID)//关于任务删除
@@ -339,18 +318,7 @@
                        obj.transform.SetSiblingIndex(Inedx);
                    }
                }
            }
            //for (int i = 0; i < Content.childCount; i++)
            //{
            //    GameObject obj = Content.GetChild(i).gameObject;
            //    TaskType taskType = obj.GetComponent<TaskType>();
            //    if (taskType.TaskID != 0 && _list.Contains(taskType.TaskID))
            //    {
            //        int Inedx = _list.IndexOf(taskType.TaskID);
            //        obj.transform.SetSiblingIndex(Inedx);
            //    }
            //}
        }
@@ -455,7 +423,7 @@
            {
                return -xPack.LV.CompareTo(yPack.LV);
            }
            return 1;
        }
@@ -472,7 +440,7 @@
            return mapConfig != null && mapConfig.MapFBType != 0;
        }
        private void TaskJump(int jumpTask=0)
        private void TaskJump(int jumpTask = 0)
        {
            int type = 0;
            if (jumpTask == 0)//跳到默认选中
@@ -491,7 +459,7 @@
                    {
                        type = _list.IndexOf(taskmodel.GetNowTaskID);
                    }
                }
                }
            }
            else
            {
System/OpenServerActivity/OpenServerActivityNotifyModel.cs
@@ -8,7 +8,6 @@
    [XLua.LuaCallCSharp]
    public class OpenServerActivityNotifyModel : Model,IBeforePlayerDataInitialize,IPlayerLoginOk
    {
        public override void Init()
        {
          
@@ -17,27 +16,29 @@
        public void OnBeforePlayerDataInitialize()
        {
            FlashRushToBuyActivityClose();
            GlobalTimeEvent.Instance.minuteEvent -= UpdateMinute;
            TimeMgr.Instance.OnMinuteEvent -= UpdateMinute;
            OperationTimeHepler.Instance.operationStartEvent -= OperationStartEvent;
            OperationTimeHepler.Instance.operationEndEvent -= OperationEndEvent;
            OperationTimeHepler.Instance.operationTimeUpdateEvent -= OperationTimeEvent;
            OperationTimeHepler.Instance.operationServerCloseEvent -= OperationServerCloseEvent;
            NewBieCenter.Instance.guideCompletedEvent -= GuideCompletedEvent;
            WindowCenter.Instance.windowBeforeOpenEvent -= UpdateWindowOpen;
        }
        public void OnPlayerLoginOk()
        {
            if (!WindowCenter.Instance.IsOpen<OpenServerActivityNotifyWin>())
            {
                WindowCenter.Instance.Open<OpenServerActivityNotifyWin>();
            }
            OperationTimeHepler.Instance.operationStartEvent += OperationStartEvent;
            OperationTimeHepler.Instance.operationEndEvent += OperationEndEvent;
            OperationTimeHepler.Instance.operationTimeUpdateEvent += OperationTimeEvent;
            OperationTimeHepler.Instance.operationServerCloseEvent += OperationServerCloseEvent;
            NewBieCenter.Instance.guideCompletedEvent += GuideCompletedEvent;
            GlobalTimeEvent.Instance.minuteEvent += UpdateMinute;
            TimeMgr.Instance.OnMinuteEvent += UpdateMinute;
            WindowCenter.Instance.windowBeforeOpenEvent += UpdateWindowOpen;
            SetFlashRushToBuyNotify();
            if(!WindowCenter.Instance.IsOpen<OpenServerActivityNotifyWin>())
            {
                WindowCenter.Instance.Open<OpenServerActivityNotifyWin>();
            }
        }
        public override void UnInit()
@@ -45,6 +46,16 @@
          
        }
        private void UpdateWindowOpen(Window win)
        {
            if (win.name != "MainInterfaceWin") return;
            if (!WindowCenter.Instance.IsOpen<OpenServerActivityNotifyWin>())
            {
                WindowCenter.Instance.Open<OpenServerActivityNotifyWin>();
            }
        }
        private void UpdateMinute()
        {
            SetFlashRushToBuyNotify();
System/OpenServerActivity/WishingPoolModel.cs
@@ -394,7 +394,6 @@
            {
                freeWishRedpoint.state = RedPointState.Simple;
            }
            UpdateRedpoint();
        }
        private void UpdateRedpoint()
System/Role/PropertyBehaviour.cs
@@ -64,6 +64,19 @@
                }
            }
        }
        public void DisplayCompare(int _property, int _value, int _add)
        {
            var config = Config.Instance.Get<PlayerPropertyConfig>(_property);
            if (config != null)
            {
                m_PropertyName.text = config.Name;
                m_PropertyValue.text = StringUtility.Contact(UIHelper.ReplaceLargeNum(UIHelper.ReplacePercentage(_value, config.ISPercentage)),
                    config.ISPercentage == 1 ? "%" : string.Empty);
                m_PropertyAdd.text = StringUtility.Contact(UIHelper.ReplaceLargeNum(UIHelper.ReplacePercentage(_add, config.ISPercentage)),
                   config.ISPercentage == 1 ? "%" : string.Empty);
            }
        }
    }
}
System/Rune/RuneComposeWin.cs
@@ -45,8 +45,6 @@
        [SerializeField] UIEffect m_RuneComposeEffect;
        private bool m_PlayEffect = false;
        [SerializeField] Button m_ComposeBtn;
        [SerializeField] RedpointBehaviour m_ComposeRedpoint;
@@ -89,10 +87,10 @@
        protected override void OnPreOpen()
        {
            m_PlayEffect = false;
            runeModel.OnRefreshRuneTowerLv += OnRefreshRuneTowerLv;
            runeModel.OnRefreshRunePack += RefreshRuneCompose;
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent += OnRefreshPlayerInfo;
            DTC0721_tagMakeItemAnswer.MakeItemAnswerEvent += MakeItemAnswerEvent;
            RefreshRuneType();
            RefreshRuneCompose();
        }
@@ -106,6 +104,7 @@
            runeModel.OnRefreshRuneTowerLv -= OnRefreshRuneTowerLv;
            runeModel.OnRefreshRunePack -= RefreshRuneCompose;
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= OnRefreshPlayerInfo;
            DTC0721_tagMakeItemAnswer.MakeItemAnswerEvent -= MakeItemAnswerEvent;
        }
        protected override void OnAfterClose()
@@ -131,6 +130,21 @@
                    UIHelper.AppendStringColor(TextColType.Red, _magicEssence.ToString()), "/", _cfg.NeedMJ);
            }
        }
        private void MakeItemAnswerEvent(H0721_tagMakeItemAnswer package)
        {
            if (package.MakeType == (int)MakeType.Def_mitRuneCompound)
            {
                if (package.Result == 1)
                {
                    if (m_RuneComposeEffect != null)
                    {
                        m_RuneComposeEffect.Play();
                    }
                }
            }
        }
        void RefreshRuneCompose()
        {
            RuneComposeConfig _cfg = model.GetRuneCompose(model.presentSelectRuneQuality, model.presentSelectComposeRune);
@@ -142,12 +156,6 @@
            m_Rune1LockImg.gameObject.SetActive(_cfg == null);
            m_Rune2LockImg.gameObject.SetActive(_cfg == null);
            m_ComposeBtn.gameObject.SetActive(_cfg != null);
            if (m_PlayEffect)
            {
                m_RuneComposeEffect.Play();
                m_PlayEffect = false;
            }
            if (_cfg != null)
            {
@@ -283,7 +291,6 @@
            }
            if (_rune1 != null && _rune2 != null)
            {
                m_PlayEffect = true;
                CA578_tagCMRuneCompound _pak = new CA578_tagCMRuneCompound();
                _pak.TagItemID = (uint)_cfg.TagItemID;
                _pak.Cnt = 2;
System/Skill/SkillPassWin.cs
@@ -639,7 +639,13 @@
            if (model.taskHoleDict.ContainsKey(presentSltEquipIndex))
            {
                var taskId = model.taskHoleDict[presentSltEquipIndex];
                TaskAllocation.Instance.SkillTask(taskId);
                if (!NewBieCenter.Instance.inGuiding && task.allMissionDict.ContainsKey(taskId))
                {
                    var list = task.allMissionDict[taskId].InforList;
                    var message = TaskAllocation.Instance.GetTaskInfo(Config.Instance.Get<TASKINFOConfig>(list).show_writing, taskId);
                    HrefAnalysis.Inst.ExcuteHrefEvent(message);
                    DropItemManager.StopMissionPickup = false;
                }
            }
        }
System/Treasure/TreasureBaseWin.cs
@@ -258,6 +258,11 @@
            UI3DTreasureSelectStage.Instance.StartBack();
        }
        public void DisplayContainer(bool active)
        {
            m_DisplayContainer.gameObject.SetActive(active);
        }
        private bool AllowSelectTreasure(int treasureId)
        {
            Treasure treasure;
System/Treasure/TreasureLevelUpWin.cs
@@ -830,11 +830,20 @@
        private void PlaySkillShow()
        {
            var baseWin = WindowCenter.Instance.Get<TreasureBaseWin>();
            if (baseWin != null)
            {
                baseWin.DisplayContainer(false);
            }
            m_DisplayContainer.gameObject.SetActive(false);
            UI3DTreasureSelectStage.Instance.CloseRenderCamera();
            UI3DHeroSkillShow.Instance.ShowTreasureSkill(m_Treasure.id, () =>
            {
                m_DisplayContainer.gameObject.SetActive(true);
                if (baseWin != null)
                {
                    baseWin.DisplayContainer(true);
                }
                UI3DTreasureSelectStage.Instance.OpenRenderCamera();
                StartScreenShot();
            });
System/Treasure/TreasureModel.cs
@@ -144,6 +144,7 @@
        List<int> treasureUnOpens = new List<int>();//版本未开放法宝
        Dictionary<int, int[]> potentialInitialPowers = new Dictionary<int, int[]>();
        Dictionary<int, TreasureDungeon> treasureDungeons = new Dictionary<int, TreasureDungeon>();
        List<int> potentialNextTargetLevels = new List<int>();
        public Dictionary<int, int> fairyTreasureGetDict { get; private set; }
@@ -1557,6 +1558,9 @@
                }
                treasureDungeon.ParseDungeonInfo(config);
            }
            funcConfig = Config.Instance.Get<FuncConfigConfig>("TreasureSpTarget");
            potentialNextTargetLevels.AddRange(ConfigParse.GetMultipleStr<int>(funcConfig.Numerical1));
        }
        const string pattern = "\\\"[0-9]+\\\":\\[[0-9|,]*\\]";
@@ -1724,6 +1728,23 @@
                SysNotifyMgr.Instance.ShowTip("OpenFabaoHint", taskConfig.lv);
            }
        }
        public int GetPotentialNextTargetLevel(int level)
        {
            var list = potentialNextTargetLevels;
            for (int i = 0; i < list.Count; i++)
            {
                if (level < list[i])
                {
                    if (level < list[i] - 1)
                    {
                        return list[i];
                    }
                    break;
                }
            }
            return 0;
        }
    }
}
System/Treasure/TreasurePotentialPanel.cs
@@ -15,10 +15,24 @@
    {
        [SerializeField] TreasureAnimation m_TreasureAnimation;
        [SerializeField] TreasurePotentialBriefInfo[] potentialBriefInfos = null;
        [SerializeField] RectTransform m_ContainerPotentialEffect;
        [SerializeField] ScrollRect m_PotentialEffectScroll;
        [SerializeField] RectTransform m_ContainerPotential;
        [SerializeField] RectTransform m_ContainerCurrentProperty;
        [SerializeField] PropertyBehaviour m_CurrentProperty;
        [SerializeField] Text m_CurrentPotential;
        [SerializeField] RectTransform m_ContainerNextProperty;
        [SerializeField] PropertyBehaviour m_NextProperty;
        [SerializeField] RectTransform m_ContainerNextPotential;
        [SerializeField] Text m_NextPotential;
        [SerializeField] Transform m_PotentialMaxLevelTip;
        [SerializeField] Transform m_ContainerPotentialMaxLevel;
        [SerializeField] RectTransform m_ContainerTargetPotential;
        [SerializeField] Text m_TargetPotentialTitle;
        [SerializeField] PropertyBehaviour m_TargetProperty;
        [SerializeField] Text m_TargetPotential;
        [SerializeField] Transform m_ContainerRequirement;
        [SerializeField] Text m_SPOwn;
        [SerializeField] Text m_SPNeed;
@@ -40,7 +54,6 @@
        [SerializeField] Text m_SkillTitle;
        [SerializeField] RectTransform m_ContainerPotential;
        [SerializeField] RectTransform m_ContainerGetSkill;
        [SerializeField] Text m_GetSkillCondition;
        [SerializeField] Image m_GetSkillIcon;
@@ -84,7 +97,7 @@
                    var level = potential.level;
                    var isMax = level >= config.SkillMaxLV;
                    m_PotentialMaxLevelTip.gameObject.SetActive(isMax);
                    m_ContainerPotentialMaxLevel.gameObject.SetActive(isMax);
                    m_ContainerUpgrade.gameObject.SetActive(!isMax &&
                        FuncOpen.Instance.IsFuncOpen(82) && model.IsPotentialUnlock(m_Treasure.id, selectedPotential));
                    m_ContainerRequirement.gameObject.SetActive(!isMax);
@@ -217,6 +230,8 @@
            var funcOpenConfig = Config.Instance.Get<FuncOpenLVConfig>(82);
            m_PotentialLimit.text = Language.Get("TreasureSkillLimit", funcOpenConfig.LimitLV);
            m_PotentialEffectScroll.verticalNormalizedPosition = 1f;
            if (!model.IsPotentialUnlock(model.selectedTreasure, selectedPotential)
                || model.GetPotentialUnlockShow(model.selectedTreasure) || _state == 2)
            {
@@ -244,8 +259,8 @@
            m_TreasureAnimation.OnPotentialLineAnimComplete -= OnPotentialLineAnimComplete;
            m_TreasureAnimation.OnPotentialLineAnimComplete += OnPotentialLineAnimComplete;
            model.potentialBookSelectEvent -= DisplayPotentialBook;
            model.potentialBookSelectEvent += DisplayPotentialBook;
            model.potentialBookSelectEvent -= PotentialBookSelectEvent;
            model.potentialBookSelectEvent += PotentialBookSelectEvent;
            RedpointCenter.Instance.redpointValueChangeEvent -= RedpointValueChangeEvent;
            RedpointCenter.Instance.redpointValueChangeEvent += RedpointValueChangeEvent;
@@ -266,7 +281,7 @@
            m_PotentialLine.Dispose();
            model.potentialBookSelectEvent -= DisplayPotentialBook;
            model.potentialBookSelectEvent -= PotentialBookSelectEvent;
            model.onPotentialLevelUpResultEvent -= OnPotentialLevelUp;
            model.potentialLevelUpdate -= PotentialLevelUpdate;
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= OnTreasurePotentialSPChange;
@@ -281,6 +296,12 @@
            m_SelectedPotential = 0;
            model.inPotentialModifyPower = false;
        }
        private void PotentialBookSelectEvent(int _id)
        {
            m_PotentialEffectScroll.verticalNormalizedPosition = 1f;
            DisplayPotentialBook(_id);
        }
        private void RedpointValueChangeEvent(int _id)
@@ -468,22 +489,40 @@
            if (level <= 0)
            {
                m_CurrentPotential.text = Language.Get("Hallows_NotLearn");
                m_CurrentProperty.gameObject.SetActive(false);
            }
            else
            {
                var currentConfig = Config.Instance.Get<SkillConfig>(potential.id + level - 1);
                m_CurrentPotential.text = currentConfig.Description;
                m_CurrentProperty.gameObject.SetActive(true);
                m_CurrentProperty.DisplayUpper(6, currentConfig.MP);
            }
            var isMax = level >= config.SkillMaxLV;
            if (isMax)
            {
                m_NextPotential.text = "";
            }
            else
            m_ContainerNextPotential.gameObject.SetActive(!isMax);
            m_ContainerNextProperty.gameObject.SetActive(!isMax);
            if (!isMax)
            {
                var nextConfig = Config.Instance.Get<SkillConfig>(potential.id + level);
                m_NextPotential.text = nextConfig.Description;
                var currentConfig = Config.Instance.Get<SkillConfig>(potential.id + level - 1);
                var currentPropertyValue = 0;
                if (currentConfig != null)
                {
                    currentPropertyValue = currentConfig.MP;
                }
                m_NextProperty.DisplayCompare(6, currentPropertyValue, nextConfig.MP);
            }
            var targetLevel = model.GetPotentialNextTargetLevel(potential.level);
            m_ContainerTargetPotential.gameObject.SetActive(targetLevel != 0);
            if (targetLevel != 0)
            {
                m_TargetPotentialTitle.text = Language.Get("TargetPotentialLevelEffect", targetLevel);
                var targetConfig = Config.Instance.Get<SkillConfig>(potential.id + targetLevel - 1);
                m_TargetPotential.text = targetConfig.Description;
                m_TargetProperty.Display(6, targetConfig.MP);
            }
            DisplayAddBookRedpoint();
@@ -935,7 +974,7 @@
                var level = potential.level;
                var isMax = level >= config.SkillMaxLV;
                m_PotentialMaxLevelTip.gameObject.SetActive(isMax);
                m_ContainerPotentialMaxLevel.gameObject.SetActive(isMax);
                m_ContainerUpgrade.gameObject.SetActive(!isMax && FuncOpen.Instance.IsFuncOpen(82));
                m_ContainerRequirement.gameObject.SetActive(!isMax);
Utility/EnumHelper.cs
@@ -799,7 +799,8 @@
    Def_mitRefine = 18,            // 炼丹
    Def_mitMWUpLevel = 19,         //法宝进阶
    Def_DanRecycle = 20, //丹药回收
    Def_mitDogzEquipPlus=21,// 神兽装备强化
    Def_mitDogzEquipPlus = 21,// 神兽装备强化
    Def_mitRuneCompound = 22,//符印合成
}
/// <summary>
/// 金钱类型(虚拟物品)