少年修仙传客户端代码仓库
client_linchunjie
2018-08-17 d5069f791aa640ace3fa8fdae1b2da40626d712d
法宝魂修改
7个文件已修改
2个文件已添加
441 ■■■■■ 已修改文件
System/Treasure/FairyTreasureCollectPanelPattern5.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureData.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureLevelUpWin.cs 106 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureMeridianBehaviour.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureNewGotBehaviour.cs 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureNewGotBehaviour.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureNewGotWin.cs 188 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureStageTipWin.cs 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureUnlockCell.cs 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/FairyTreasureCollectPanelPattern5.cs
@@ -347,7 +347,11 @@
        private void DisplayFunc()
        {
            m_FuncTitle.text = treasure.state == TreasureState.Collected ? Language.Get("FairyTreasureOpenFunc") : Language.Get("FairyTreasureUnOpenFunc");
            var config = ConfigManager.Instance.GetTemplate<FuncOpenLVConfig>(treasure.unLockFunc);
            var funcStage = treasure.treasureStages.Find((x) =>
            {
                return x.unlockType == TreasureStageUnlock.Func;
            });
            var config = ConfigManager.Instance.GetTemplate<FuncOpenLVConfig>(funcStage.func);
            if (config != null)
            {
                m_FuncIcon.SetSprite(config.Icon);
System/Treasure/TreasureData.cs
@@ -78,11 +78,6 @@
            }
        }
        public int unLockFunc
        {
            get; private set;
        }
        public int unLockPrivilege
        {
            get; private set;
System/Treasure/TreasureLevelUpWin.cs
@@ -23,13 +23,8 @@
        [SerializeField] RectTransform m_ContainerUnGet;
        [SerializeField] RectTransform m_ContainerLockDetail;
        [SerializeField] PositionTween m_LockDetailPosTween;
        [SerializeField] ScrollerController m_Controller;
        [SerializeField] Button m_GetTreasureBtn;
        [SerializeField] RectTransform m_ContainerLockFunc;
        [SerializeField] RectTransform m_ContainerLockSkill;
        [SerializeField] RectTransform m_ContainerLockPrivilege;
        [SerializeField] Button m_PrivilegeLockBtn;
        [SerializeField] Button m_FuncLockBtn;
        [SerializeField] Button m_SkillLockBtn;
        [SerializeField] RectTransform m_ContainerLimit;
        [SerializeField] Text m_TreasureChallengeLimit;
        [SerializeField] Text m_TreasureStory;
@@ -124,11 +119,9 @@
            m_BackBtn.onClick.AddListener(OnBack);
            m_GetTreasureBtn.onClick.AddListener(OnGetTreasure);
            m_LevelUpBtn.onClick.AddListener(OnLevelUp);
            m_PrivilegeLockBtn.onClick.AddListener(OnStagePrivilegeClick);
            m_FuncLockBtn.onClick.AddListener(OnStageFuncClick);
            m_SkillLockBtn.onClick.AddListener(OnStageSkillClick);
            m_LeftBtn.onClick.AddListener(OnLeftBtn);
            m_RightBtn.onClick.AddListener(OnRightBtn);
            m_Controller.OnRefreshCell += OnRefreshCell;
        }
        protected override void OnPreOpen()
@@ -244,6 +237,12 @@
        {
        }
        #endregion
        private void OnRefreshCell(ScrollerDataType type, CellView cell)
        {
            TreasureUnlockCell treasureUnlockCell = cell as TreasureUnlockCell;
            treasureUnlockCell.Display(model.selectedTreasure, cell.index);
        }
        private void TreasureStateChangeEvent(int _id)
        {
@@ -448,34 +447,22 @@
        private void UpdateTreasureUnlockDetail()
        {
            var _cfg = ConfigManager.Instance.GetTemplate<TreasureConfig>(model.selectedTreasure);
            var _funcCfg = ConfigManager.Instance.GetTemplate<FuncOpenLVConfig>(m_Treasure.unLockFunc);
            m_TreasureStory.text = _cfg.Story;
            m_ContainerLockFunc.gameObject.SetActive(_funcCfg != null);
            if (_funcCfg != null)
            m_Controller.Refresh();
            for (int i = 0; i < m_Treasure.treasureStages.Count; i++)
            {
                m_FuncLockBtn.image.SetSprite(_funcCfg.Icon);
            }
            var _skillCfg = ConfigManager.Instance.GetTemplate<SkillConfig>(m_Treasure.unLockSkill);
            m_ContainerLockSkill.gameObject.SetActive(_skillCfg != null);
            if (_skillCfg != null)
                var stage = m_Treasure.treasureStages[i];
                switch (stage.unlockType)
            {
                m_SkillLockBtn.image.SetSprite(_skillCfg.IconName);
                    case TreasureStageUnlock.Skill:
                    case TreasureStageUnlock.Func:
                    case TreasureStageUnlock.Treasure:
                        m_Controller.AddCell(ScrollerDataType.Header, stage.stage);
                        break;
            }
            var _privilegeCfg = ConfigManager.Instance.GetTemplate<TreasurePrivilegeConfig>(m_Treasure.unLockPrivilege);
            m_ContainerLockPrivilege.gameObject.SetActive(_privilegeCfg != null);
            if (_privilegeCfg != null)
            {
                var privilegeStage = m_Treasure.treasureStages[m_Treasure.StageCount - 1];
                if (FuncOpen.Instance.IsFuncOpen(126))
                {
                    m_PrivilegeLockBtn.image.SetSprite(_privilegeCfg.Icon);
                }
                else
                {
                    m_PrivilegeLockBtn.image.SetSprite("UnKnowIcon");
                }
                m_PrivilegeLockBtn.image.SetNativeSize();
            }
            m_Controller.Restart();
            Achievement achievement = null;
            int _achievementId = 0;
@@ -508,59 +495,6 @@
                        break;
                }
            }
        }
        private void OnStageSkillClick()
        {
            if (model.treasureStepUpShow)
            {
                return;
            }
            var _stage = m_Treasure.treasureStages.Find((x) =>
            {
                return x.unlockType == TreasureStageUnlock.Skill;
            });
            if (_stage != null)
            {
                OpenTreasureStageTip(_stage.stage,m_SkillLockBtn.transform as RectTransform);
            }
        }
        private void OnStageFuncClick()
        {
            if (model.treasureStepUpShow)
            {
                return;
            }
            var _stage = m_Treasure.treasureStages.Find((x) =>
            {
                return x.unlockType == TreasureStageUnlock.Func;
            });
            if (_stage != null)
            {
                OpenTreasureStageTip(_stage.stage,m_FuncLockBtn.transform as RectTransform);
            }
        }
        private void OnStagePrivilegeClick()
        {
            if (model.treasureStepUpShow)
            {
                return;
            }
            if (!FuncOpen.Instance.IsFuncOpen(126))
            {
                FuncOpen.Instance.ProcessorFuncErrorTip(126);
                return;
            }
            //var _stage = m_Treasure.treasureStages.Find((x) =>
            //{
            //    return x.unlockType == TreasureStageUnlock.Privilege;
            //});
            //if (_stage != null)
            //{
            //    OpenTreasureStageTip(_stage.stage, m_PrivilegeLockBtn.transform as RectTransform);
            //}
        }
        private void OpenTreasureStageTip(int _stage, RectTransform _target)
@@ -976,7 +910,7 @@
            {
                case TreasureStageUnlock.Func:
                    m_ContainerTip.gameObject.SetActive(true);
                    var _funcConfig = ConfigManager.Instance.GetTemplate<FuncOpenLVConfig>(m_Treasure.unLockFunc);
                    var _funcConfig = ConfigManager.Instance.GetTemplate<FuncOpenLVConfig>(stage.func);
                    m_NewStageTip.text = StringUtility.Contact(Language.Get("TreasureGetNewFunc"),
                        UIHelper.GetTextColorByItemColor(TextColType.Green, _funcConfig.Remark));
                    break;
System/Treasure/TreasureMeridianBehaviour.cs
@@ -88,8 +88,7 @@
        private void OnStageClick()
        {
            if (m_TreasureStage != null&& m_TreasureStage.unlockType != TreasureStageUnlock.Treasure
                && m_TreasureStage.unlockType != TreasureStageUnlock.Property)
            if (m_TreasureStage != null&&  m_TreasureStage.unlockType != TreasureStageUnlock.Property)
            {
                if (m_TreasureStage.unlockType == TreasureStageUnlock.Item)
                {
@@ -154,6 +153,7 @@
                                m_Icon.SetSprite(GeneralConfig.Instance.propertyIconDict[_key]);
                            }
                        }
                        m_Icon.SetNativeSize();
                        break;
                    case TreasureStageUnlock.Skill:
                        var _skillId = m_TreasureStage.GetSkill(PlayerDatas.Instance.baseData.Job);
@@ -162,6 +162,7 @@
                        m_Descs[0].color = m_Treasure.id == 104 ? UIHelper.GetUIColor(TextColType.NavyYellow) : UIHelper.s_LightYellow;
                        m_Descs[0].gameObject.SetActive(true);
                        m_Icon.SetSprite(_skillCfg.IconName);
                        m_Icon.SetNativeSize();
                        break;
                    case TreasureStageUnlock.Func:
                        var _funcCfg = ConfigManager.Instance.GetTemplate<FuncOpenLVConfig>(m_TreasureStage.func);
@@ -169,6 +170,7 @@
                        m_Descs[0].color = UIHelper.s_LightYellow;
                        m_Descs[0].gameObject.SetActive(true);
                        m_Icon.SetSprite(_funcCfg.Icon);
                        m_Icon.SetNativeSize();
                        break;
                    case TreasureStageUnlock.Item:
                        m_Descs[0].gameObject.SetActive(true);
@@ -176,6 +178,7 @@
                        var itemConfig = ConfigManager.Instance.GetTemplate<ItemConfig>(m_TreasureStage.item.id);
                        m_Icon.SetSprite(itemConfig.IconKey);
                        m_Descs[0].text = itemConfig.ItemName;
                        m_Icon.SetNativeSize();
                        break;
                    case TreasureStageUnlock.Treasure:
                        m_Descs[0].gameObject.SetActive(true);
@@ -183,9 +186,9 @@
                        var treasureConfig = ConfigManager.Instance.GetTemplate<TreasureConfig>(m_TreasureStage.treasure);
                        m_Icon.SetSprite(treasureConfig.Icon);
                        m_Descs[0].text = treasureConfig.Name;
                        m_Icon.rectTransform.sizeDelta = new Vector2(86, 86);
                        break;
                }
                m_Icon.SetNativeSize();
            }
        }
System/Treasure/TreasureNewGotBehaviour.cs
New file
@@ -0,0 +1,80 @@
using System.Collections;
using System.Collections.Generic;
using TableConfig;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class TreasureNewGotBehaviour : MonoBehaviour
    {
        [SerializeField] RectTransform m_ContainerFunc;
        [SerializeField] RectTransform m_ContainerSkill;
        [SerializeField] RectTransform m_ContaienrTreasure;
        [SerializeField] Image m_FuncIcon;
        [SerializeField] Image m_SkillIcon;
        [SerializeField] Image m_TreasureIcon;
        [SerializeField] Text m_Func;
        [SerializeField] Text m_FuncName;
        [SerializeField] UIAlphaTween alphaTween;
        TreasureModel model { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
        public void Display(int id,int stage)
        {
            Treasure treasure;
            alphaTween.SetStartState();
            m_ContainerFunc.gameObject.SetActive(false);
            m_ContainerSkill.gameObject.SetActive(false);
            m_ContaienrTreasure.gameObject.SetActive(false);
            if (model.TryGetTreasure(id, out treasure))
            {
                var treasureStage = treasure.treasureStages.Find((x) =>
                {
                    return x.stage == stage;
                });
                switch (treasureStage.unlockType)
                {
                    case TreasureStageUnlock.Skill:
                        m_ContainerSkill.gameObject.SetActive(true);
                        var job = PlayerDatas.Instance.baseData.Job;
                        var skillConfig = ConfigManager.Instance.GetTemplate<SkillConfig>(treasureStage.GetSkill(job));
                        if (skillConfig != null)
                        {
                            m_SkillIcon.SetSprite(skillConfig.IconName);
                            m_Func.text = Language.Get("TreasureUnlockNewSkill");
                            m_FuncName.text = skillConfig.SkillName;
                        }
                        break;
                    case TreasureStageUnlock.Func:
                        m_ContainerFunc.gameObject.SetActive(true);
                        var funcConfig = ConfigManager.Instance.GetTemplate<FuncOpenLVConfig>(treasureStage.func);
                        if (funcConfig != null)
                        {
                            m_FuncIcon.SetSprite(funcConfig.Icon);
                            m_Func.text = Language.Get("TreasureUnlockNewFunc");
                            m_FuncName.text = funcConfig.Remark;
                        }
                        break;
                    case TreasureStageUnlock.Treasure:
                        m_ContaienrTreasure.gameObject.SetActive(true);
                        var treasureConfig = ConfigManager.Instance.GetTemplate<TreasureConfig>(treasureStage.treasure);
                        if (treasureConfig != null)
                        {
                            m_TreasureIcon.SetSprite(treasureConfig.Icon);
                            m_Func.text = Language.Get("TreasureUnlockNewTreasure");
                            m_FuncName.text = treasureConfig.Name;
                        }
                        break;
                }
            }
        }
        public void Show()
        {
            gameObject.SetActive(true);
            alphaTween.Play();
        }
    }
}
System/Treasure/TreasureNewGotBehaviour.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: e242f7bb709856c4f9c2e9d8d3f705cc
timeCreated: 1534498126
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/Treasure/TreasureNewGotWin.cs
@@ -39,22 +39,7 @@
        [SerializeField] RectTransform m_ContainerFuncUnLock;
        [SerializeField] Slider m_FuncUnLockSlider;
        [SerializeField] Text m_UnlockTip;
        [SerializeField] RectTransform m_ContainerFunc;
        [SerializeField] UIAlphaTween m_FadeInFunc;
        [SerializeField] Image m_FuncIcon;
        [SerializeField] Text m_FuncName;
        [SerializeField] RectTransform m_ContainerSkill;
        [SerializeField] UIAlphaTween m_FadeInSkill;
        [SerializeField] Image m_SkillIcon;
        [SerializeField] Text m_SKillName;
        [SerializeField] Text m_SkillDescription;
        [SerializeField] RectTransform m_ContainerSpecial;
        [SerializeField] UIAlphaTween m_FadeInSpecial;
        [SerializeField] Image m_SpecialIcon;
        [SerializeField] Text m_SpecialName;
        [SerializeField] Text m_SpecialDescription;
        [SerializeField] TreasureNewGotBehaviour[] m_TreasureNewGots;
        [SerializeField] RectTransform m_ContianerStory;
        [SerializeField] UIAlphaTween m_FadeInStory;
@@ -73,6 +58,7 @@
        Treasure treasure;
        TreasureStage treasureStage;
        public int displayStageCount = 0;
        public static event Action CloseTreasureNewGotWinEvent;
        ShowStep m_ShowStep = ShowStep.None;
@@ -99,20 +85,14 @@
                        case ShowStep.ShowNameAndSliderUnlock:
                            OnEnterShowNameAndSliderUnlock();
                            break;
                        case ShowStep.ShowFunc:
                        case ShowStep.ShowUnlock:
                            OnEnterShowFuncUnlock();
                            break;
                        case ShowStep.ShowSkill:
                            OnEnterShowSkill();
                            break;
                        case ShowStep.ShowSpecialEffect:
                            OnEnterShowSpecialEffect();
                            break;
                        case ShowStep.ShowStory:
                            OnEnterShowStory();
                            break;
                        case ShowStep.ShowUnlock:
                            OnEnterShowUnlock();
                        case ShowStep.ShowComplete:
                            OnEnterShowComplete();
                            break;
                        case ShowStep.FadeOut:
                            OnEnterFadeOut();
@@ -126,7 +106,6 @@
            }
        }
        float beforeSliderTime = 0;
        #region Built-in
        protected override void BindController()
        {
@@ -147,14 +126,16 @@
            m_ContainerMask.gameObject.SetActive(false);
            m_ContainerDescription.gameObject.SetActive(false);
            m_ContainerTreasureName.gameObject.SetActive(false);
            m_ContainerSkill.gameObject.SetActive(false);
            m_ContianerStory.gameObject.SetActive(false);
            m_ContainerFuncUnLock.gameObject.SetActive(false);
            m_ContainerFunc.gameObject.SetActive(false);
            m_ContainerSpecial.gameObject.SetActive(false);
            m_UnlockTip.gameObject.SetActive(false);
            m_ContainerFinishShow.gameObject.SetActive(false);
            m_ContainerFightPower.gameObject.SetActive(false);
            for (int i = 0; i < m_TreasureNewGots.Length; i++)
            {
                m_TreasureNewGots[i].gameObject.SetActive(false);
            }
            model.TryGetTreasure(model.newGotTreasureId, out treasure);
            treasureStage = treasure.treasureStages.Find((x) =>
@@ -250,54 +231,34 @@
                    }
                    break;
                case ShowStep.ShowNameAndSliderUnlock:
                    m_FuncUnLockSlider.value = timer / 2.8f;
                    m_FuncUnLockSlider.value = 0;
                    if (timer > 0.7f)
                    {
                        beforeSliderTime += 0.7f;
                        timer = 0f;
                        showStep = ShowStep.ShowFunc;
                    }
                    break;
                case ShowStep.ShowFunc:
                    m_FuncUnLockSlider.value = (timer + beforeSliderTime) / 2.8f;
                    if (timer > 0.7f)
                    {
                        beforeSliderTime += 0.7f;
                        timer = 0f;
                        showStep = ShowStep.ShowSkill;
                    }
                    break;
                case ShowStep.ShowSkill:
                    m_FuncUnLockSlider.value = (timer + beforeSliderTime) / 2.8f;
                    if (timer > 0.7f)
                    {
                        beforeSliderTime += 0.7f;
                        timer = 0f;
                        showStep = ShowStep.ShowSpecialEffect;
                    }
                    break;
                case ShowStep.ShowSpecialEffect:
                    m_FuncUnLockSlider.value = (timer + beforeSliderTime) / 2.8f;
                    if (timer > 0.7f)
                    {
                        beforeSliderTime += 0.7f;
                        timer = 0f;
                        showStep = ShowStep.ShowUnlock;
                    }
                    break;
                case ShowStep.ShowStory:
                    if (timer > 0.7f)
                    {
                        beforeSliderTime = 3f;
                        timer = 0f;
                        showStep = ShowStep.ShowUnlock;
                    }
                    break;
                case ShowStep.ShowUnlock:
                    if (timer + beforeSliderTime <= 2.8f)
                    m_FuncUnLockSlider.value = timer / (displayStageCount * 0.7f);
                    if (timer > displayStageCount * 0.7f)
                    {
                        m_FuncUnLockSlider.value = (timer + beforeSliderTime) / 2.8f;
                        timer = 0f;
                        showStep = ShowStep.ShowComplete;
                    }
                    var index = (int)(timer / (displayStageCount * 0.7f) * 10);
                    if (index < m_TreasureNewGots.Length && !m_TreasureNewGots[index].gameObject.activeSelf)
                    {
                        m_TreasureNewGots[index].Show();
                    }
                    break;
                case ShowStep.ShowStory:
                    if (timer > 0.7f)
                    {
                        timer = 0f;
                        showStep = ShowStep.ShowComplete;
                    }
                    break;
                case ShowStep.ShowComplete:
                    if (timer > 10f)
                    {
                        timer = 0f;
@@ -321,7 +282,6 @@
        {
            showStep = ShowStep.ShowModel;
            timer = 0f;
            beforeSliderTime = 0;
            var config = ConfigManager.Instance.GetTemplate<TreasureConfig>(treasure.id);
            m_TreasureName.text = config.Name;
@@ -342,34 +302,27 @@
            var _flyObjectPoint = m_FlyObjectPoint2;
            if (treasure.unLockSkill > 0)
            var index = 0;
            displayStageCount = 0;
            for (int i = 0; i < m_TreasureNewGots.Length; i++)
            {
                var skillConfig = ConfigManager.Instance.GetTemplate<SkillConfig>(treasure.unLockSkill);
                m_SkillIcon.SetSprite(skillConfig.IconName);
                m_SKillName.text = skillConfig.SkillName;
                m_SkillDescription.text = skillConfig.Description;
                m_ContainerSkill.gameObject.SetActive(true);
                m_FadeInSkill.SetStartState();
                TreasureStage _stage = null;
                for (int k = index; k < treasure.treasureStages.Count; k++)
                {
                    index++;
                    if (treasure.treasureStages[k].unlockType == TreasureStageUnlock.Func ||
                        treasure.treasureStages[k].unlockType == TreasureStageUnlock.Skill ||
                        treasure.treasureStages[k].unlockType == TreasureStageUnlock.Treasure)
                    {
                        _stage = treasure.treasureStages[k];
                        displayStageCount++;
                        break;
            }
            if (treasure.unLockFunc > 0)
            {
                var funcConfig = ConfigManager.Instance.GetTemplate<FuncOpenLVConfig>(treasure.unLockFunc);
                m_FuncIcon.SetSprite(funcConfig.Icon);
                m_FuncName.text = funcConfig.Remark;
                m_ContainerFunc.gameObject.SetActive(true);
                m_FadeInFunc.SetStartState();
                _flyObjectPoint = m_FlyObjectPoint3;
            }
            if (treasure.unLockPrivilege > 0)
                if (_stage != null)
            {
                var privilegeConfig = ConfigManager.Instance.GetTemplate<TreasurePrivilegeConfig>(treasure.unLockPrivilege);
                m_SpecialIcon.SetSprite(privilegeConfig.Icon);
                m_SpecialName.text = privilegeConfig.Name;
                m_SpecialDescription.text = privilegeConfig.Description;
                m_ContainerSpecial.gameObject.SetActive(true);
                m_FadeInSpecial.SetStartState();
                    m_TreasureNewGots[i].Display(treasure.id, _stage.stage);
                }
            }
            if (treasureStage != null && (TreasureCategory)config.Category != TreasureCategory.Fairy
@@ -423,7 +376,7 @@
        private void FinishShow()
        {
            if (showStep == ShowStep.ShowUnlock)
            if (showStep == ShowStep.ShowComplete)
            {
                timer = 0f;
                showStep = ShowStep.FadeOut;
@@ -482,28 +435,9 @@
                showStep = ShowStep.ShowStory;
                return;
            }
            if (treasure.unLockFunc > 0)
            if (displayStageCount == 0)
            {
                m_FadeInFunc.SetStartState();
                m_FadeInFunc.Play();
            }
            else
            {
                showStep = ShowStep.ShowSkill;
            }
        }
        private void OnEnterShowSkill()
        {
            if (treasure.unLockSkill > 0)
            {
                m_ContainerSkill.gameObject.SetActive(true);
                m_FadeInSkill.SetStartState();
                m_FadeInSkill.Play();
            }
            else
            {
                showStep = ShowStep.ShowSpecialEffect;
                showStep = ShowStep.ShowComplete;
            }
        }
@@ -516,22 +450,6 @@
            m_UnlockTip.gameObject.SetActive(true);
        }
        private void OnEnterShowSpecialEffect()
        {
            m_ContainerSkill.gameObject.SetActive(treasure.unLockSkill > 0);
            if (treasure.unLockPrivilege > 0)
            {
                m_ContainerSpecial.gameObject.SetActive(true);
                m_FadeInSpecial.SetStartState();
                m_FadeInSpecial.Play();
            }
            else
            {
                showStep = ShowStep.ShowUnlock;
            }
        }
        private void OnEnterShowStory()
        {
            m_ContianerStory.gameObject.SetActive(true);
@@ -539,7 +457,7 @@
            m_FadeInStory.Play();
        }
        private void OnEnterShowUnlock()
        private void OnEnterShowComplete()
        {
            m_ContainerFinishShow.gameObject.SetActive(true);
        }
@@ -566,11 +484,9 @@
            ShowModel,
            SliderName,
            ShowNameAndSliderUnlock,
            ShowFunc,
            ShowSkill,
            ShowSpecialEffect,
            ShowStory,
            ShowUnlock,
            ShowStory,
            ShowComplete,
            FadeOut,
            FlyTo,
        }
System/Treasure/TreasureStageTipWin.cs
@@ -26,8 +26,6 @@
        [SerializeField] Image m_Icon;
        [SerializeField] Text m_StageName;
        [SerializeField] Text m_Description;
        [SerializeField] RectTransform m_ContainerSpecial;
        [SerializeField] List<Text> m_TreasurePrivileges;
        TreasureModel m_Model;
        TreasureModel model
@@ -98,7 +96,6 @@
            m_ContainerSkill.gameObject.SetActive(false);
            m_ContainerFuncSoul.gameObject.SetActive(false);
            m_ContainerSpecial.gameObject.SetActive(false);
            switch (m_TreasureStage.unlockType)
            {
@@ -131,15 +128,13 @@
                        m_Description.text = string.Empty;
                    }
                    break;
                //case TreasureStageUnlock.Privilege:
                //    m_ContainerFuncSoul.gameObject.SetActive(true);
                //    m_ContainerSpecial.gameObject.SetActive(true);
                //    var privilegeConfig = ConfigManager.Instance.GetTemplate<TreasurePrivilegeConfig>(m_TreasureStage.privilege);
                //    m_Icon.SetSprite(privilegeConfig.Icon);
                //    m_StageName.text = privilegeConfig.Name;
                //    m_Description.text = UIHelper.ReplaceNewLine(privilegeConfig.Description);
                //    DisplayTreasureSpecial();
                //    break;
                case TreasureStageUnlock.Treasure:
                    m_ContainerFuncSoul.gameObject.SetActive(true);
                    var treasureConfig = ConfigManager.Instance.GetTemplate<TreasureConfig>(m_TreasureStage.treasure);
                    m_Icon.SetSprite(treasureConfig.Icon);
                    m_StageName.text = treasureConfig.Name;
                    m_Description.text = UIHelper.ReplaceNewLine(treasureConfig.Verse.Length > 0 ? treasureConfig.Verse[0] : string.Empty);
                    break;
            }
        }
System/Treasure/TreasureUnlockCell.cs
@@ -15,9 +15,8 @@
        TreasureModel model { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
        public void Display(int id, int stage, bool last = false)
        public void Display(int id, int stage)
        {
            m_Cutline.gameObject.SetActive(!last);
            m_Button.RemoveAllListeners();
            Treasure treasure;
            if (model.TryGetTreasure(id, out treasure))
@@ -26,6 +25,19 @@
                {
                    return x.stage == stage;
                });
                bool last = true;
                for (int i = 0; i < treasure.treasureStages.Count; i++)
                {
                    var _stage = treasure.treasureStages[i];
                    if (stage < _stage.stage &&
                        (_stage.unlockType == TreasureStageUnlock.Func || _stage.unlockType == TreasureStageUnlock.Skill
                        || _stage.unlockType == TreasureStageUnlock.Treasure))
                    {
                        last = false;
                        break;
                    }
                }
                m_Cutline.gameObject.SetActive(!last);
                if (treasureStage != null)
                {
                    switch (treasureStage.unlockType)