| | |
| | |
|
| | | 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))
|
| | |
| | | _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)
|
| | |
| | |
|
| | | 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;
|
| | |
| | | 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);
|
| | |
| | | m_GotoGet.gameObject.SetActive(!_isReach);
|
| | | }
|
| | |
|
| | | m_GotoStove.gameObject.SetActive(treasure.state == TreasureState.Collected);
|
| | | m_GotoStove.gameObject.SetActive(treasure.stage >= 1);
|
| | | }
|
| | |
|
| | | private void OnAchievementGet()
|
| | |
| | |
|
| | | 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;
|
| | |
| | |
|
| | | 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);
|