From 90ace30bca82dee16f9a00be3ea6a69d1d6ad3cb Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期六, 18 八月 2018 15:39:17 +0800
Subject: [PATCH] 2621【前端】法宝、法宝之魂优化
---
System/Treasure/FairyTreasureCollectPanelPattern5.cs | 80 +++++++++++++++++-----------------------
1 files changed, 34 insertions(+), 46 deletions(-)
diff --git a/System/Treasure/FairyTreasureCollectPanelPattern5.cs b/System/Treasure/FairyTreasureCollectPanelPattern5.cs
index 4f05f94..c0991f2 100644
--- a/System/Treasure/FairyTreasureCollectPanelPattern5.cs
+++ b/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)
{
- 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)
+ int unlocktreasureId = 0;
+ var list = model.GetTreasureCategory(TreasureCategory.Human);
+ for (int i = 0; i < list.Count; i++)
{
- var task = ConfigManager.Instance.GetTemplate<PyTaskConfig>(_successConfig.Condition[0]);
- if (task != null)
+ Treasure _treasure;
+ if(model.TryGetTreasure(list[i], out _treasure))
{
- var taskInfo = ConfigManager.Instance.GetTemplate<TASKINFOConfig>(task.name);
- if (taskInfo != null)
+ var index = _treasure.treasureStages.FindIndex((x) =>
{
- m_LockedDescription.text = Language.Get("FairyTreasureLimitTask", taskInfo.show_writing);
+ return x.unlockType == TreasureStageUnlock.Treasure && x.treasure == treasure.id;
+ });
+ if (index != -1)
+ {
+ unlocktreasureId = list[i];
+ break;
}
}
}
- else
- {
- m_LockedDescription.text = Language.Get("FairyTreasureLimitAchievement", _successConfig.Describe);
- }
+
+ var unlockTreasureConfig = ConfigManager.Instance.GetTemplate<TreasureConfig>(unlocktreasureId);
+
+ m_AchievementGetBtn.gameObject.SetActive(false);
+ m_GotoGet.gameObject.SetActive(false);
+ m_ContainerLocked.gameObject.SetActive(true);
+ 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);
--
Gitblit v1.8.0