少年修仙传客户端代码仓库
client_linchunjie
2018-08-18 90ace30bca82dee16f9a00be3ea6a69d1d6ad3cb
2621【前端】法宝、法宝之魂优化
1个文件已修改
86 ■■■■■ 已修改文件
System/Treasure/FairyTreasureCollectPanelPattern5.cs 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/FairyTreasureCollectPanelPattern5.cs
@@ -129,24 +129,14 @@
        private void DisplayProgress()
        {
            Achievement _mainAchievement;
            achievementModel.TryGetAchievement(model.GetFurnacesAchievements()[0], out _mainAchievement);
            if (_mainAchievement != null && _mainAchievement.completed)
            {
                m_ContainerAchievement.gameObject.SetActive(true);
            }
            if (treasure.state == TreasureState.Collected)
            {
                m_ContainerAchievement.gameObject.SetActive(false);
            }
            m_ContainerAchievement.gameObject.SetActive(treasure.state == TreasureState.Collected && treasure.stage <= 0);
            var _processingIndex = -1;
            if (treasure.state != TreasureState.Collected
                && _mainAchievement != null && _mainAchievement.completed)
            if (treasure.state == TreasureState.Collected && treasure.stage <= 0)
            {
                var _list = model.GetFurnacesAchievements();
                for (int i = 0; i < m_FurnacesAchievements.Length; i++)
                {
                    var _beforeId = _list[i];
                    var _beforeId = i == 0 ? 0 : _list[i - 1];
                    Achievement _beforeAchievement;
                    bool _beforeComplete = true;
                    if (achievementModel.TryGetAchievement(_beforeId, out _beforeAchievement))
@@ -154,14 +144,14 @@
                        _beforeComplete = _beforeAchievement.completed;
                    }
                    Achievement achievement;
                    achievementModel.TryGetAchievement(_list[i + 1], out achievement);
                    var config = ConfigManager.Instance.GetTemplate<SuccessConfig>(_list[i + 1]);
                    achievementModel.TryGetAchievement(_list[i], out achievement);
                    var config = ConfigManager.Instance.GetTemplate<SuccessConfig>(_list[i]);
                    var _processing = !achievement.completed &&  _beforeComplete;
                    if ((_processing || Achievement.IsReach(achievement.id, achievement.progress)) && _processingIndex == -1)
                    {
                        _processingIndex = i;
                    }
                    m_FurnacesAchievements[i].Display(_list[i + 1]);
                    m_FurnacesAchievements[i].Display(_list[i]);
                }
            }
            if (_processingIndex != -1)
@@ -175,19 +165,14 @@
        private void DisplayFurnacesHole()
        {
            Achievement _mainAchievement;
            achievementModel.TryGetAchievement(model.GetFurnacesAchievements()[0], out _mainAchievement);
            if (_mainAchievement != null && _mainAchievement.completed)
            {
                m_ContainerHoles.gameObject.SetActive(true);
            }
            if (treasure.state != TreasureState.Collected)
            m_ContainerHoles.gameObject.SetActive(treasure.state == TreasureState.Collected);
            if (treasure.state == TreasureState.Collected)
            {
                var _list = model.GetFurnacesAchievements();
                for (int i = 0; i < m_FurnacesIcons.Length; i++)
                {
                    Achievement achievement;
                    achievementModel.TryGetAchievement(_list[i + 1], out achievement);
                    achievementModel.TryGetAchievement(_list[i], out achievement);
                    if (achievement != null && achievement.id == completedAchivement)
                    {
                        completedAchivement = 0;
@@ -272,33 +257,36 @@
        private void Display()
        {
            GetCurrentAchievement();
            Achievement _mainAchievement;
            achievementModel.TryGetAchievement(model.GetFurnacesAchievements()[0], out _mainAchievement);
            if (!_mainAchievement.completed && treasure.state != TreasureState.Collected)
            if (treasure.state != TreasureState.Collected)
            {
                int unlocktreasureId = 0;
                var list = model.GetTreasureCategory(TreasureCategory.Human);
                for (int i = 0; i < list.Count; i++)
                {
                    Treasure _treasure;
                    if(model.TryGetTreasure(list[i], out _treasure))
                    {
                        var index = _treasure.treasureStages.FindIndex((x) =>
                        {
                            return x.unlockType == TreasureStageUnlock.Treasure && x.treasure == treasure.id;
                        });
                        if (index != -1)
                        {
                            unlocktreasureId = list[i];
                            break;
                        }
                    }
                }
                var unlockTreasureConfig = ConfigManager.Instance.GetTemplate<TreasureConfig>(unlocktreasureId);
                m_AchievementGetBtn.gameObject.SetActive(false);
                m_GotoGet.gameObject.SetActive(false);
                m_ContainerLocked.gameObject.SetActive(true);
                var _successConfig = ConfigManager.Instance.GetTemplate<SuccessConfig>(_mainAchievement.id);
                if (_successConfig.Type == 3)
                {
                    var task = ConfigManager.Instance.GetTemplate<PyTaskConfig>(_successConfig.Condition[0]);
                    if (task != null)
                    {
                        var taskInfo = ConfigManager.Instance.GetTemplate<TASKINFOConfig>(task.name);
                        if (taskInfo != null)
                        {
                            m_LockedDescription.text = Language.Get("FairyTreasureLimitTask", taskInfo.show_writing);
                        }
                    }
                }
                else
                {
                    m_LockedDescription.text = Language.Get("FairyTreasureLimitAchievement", _successConfig.Describe);
                }
                m_LockedDescription.text = Language.Get("BlastFurnaceGet", unlockTreasureConfig == null ? string.Empty : unlockTreasureConfig.Name);
                m_ContainerAchievement.gameObject.SetActive(false);
            }
            else if (currentAchievement == null || treasure.state == TreasureState.Collected)
            else if (currentAchievement == null || treasure.stage >= 1)
            {
                m_AchievementGetBtn.gameObject.SetActive(false);
                m_GotoGet.gameObject.SetActive(false);
@@ -313,7 +301,7 @@
                m_GotoGet.gameObject.SetActive(!_isReach);
            }
            m_GotoStove.gameObject.SetActive(treasure.state == TreasureState.Collected);
            m_GotoStove.gameObject.SetActive(treasure.stage >= 1);
        }
        private void OnAchievementGet()
@@ -327,7 +315,7 @@
        private void DisplayFunc()
        {
            m_FuncTitle.text = treasure.state == TreasureState.Collected ? Language.Get("FairyTreasureOpenFunc") : Language.Get("FairyTreasureUnOpenFunc");
            m_FuncTitle.text = treasure.state == TreasureState.Collected && treasure.stage >= 1 ? Language.Get("FairyTreasureOpenFunc") : Language.Get("FairyTreasureUnOpenFunc");
            var funcStage = treasure.treasureStages.Find((x) =>
            {
                return x.unlockType == TreasureStageUnlock.Func;
@@ -341,8 +329,8 @@
        private void DisplayFurnace()
        {
            m_ContainerFurnace.gameObject.SetActive(treasure.state == TreasureState.Collected);
            if (treasure.state == TreasureState.Collected)
            m_ContainerFurnace.gameObject.SetActive(treasure.state == TreasureState.Collected && treasure.stage >= 1);
            if (treasure.state == TreasureState.Collected && treasure.stage >= 1)
            {
                var stoveLevel = blastFurnaceModel.StoveLV;
                m_FurnaceLv.text = Language.Get("BlastFurnace101", stoveLevel);