From d5069f791aa640ace3fa8fdae1b2da40626d712d Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期五, 17 八月 2018 18:08:21 +0800
Subject: [PATCH] 法宝魂修改
---
System/Treasure/TreasureData.cs | 5
System/Treasure/TreasureNewGotBehaviour.cs | 80 ++++++++++
System/Treasure/TreasureUnlockCell.cs | 16 +
System/Treasure/FairyTreasureCollectPanelPattern5.cs | 6
System/Treasure/TreasureNewGotBehaviour.cs.meta | 12 +
System/Treasure/TreasureStageTipWin.cs | 19 -
System/Treasure/TreasureLevelUpWin.cs | 106 ++----------
System/Treasure/TreasureMeridianBehaviour.cs | 9
System/Treasure/TreasureNewGotWin.cs | 194 ++++++-----------------
9 files changed, 199 insertions(+), 248 deletions(-)
diff --git a/System/Treasure/FairyTreasureCollectPanelPattern5.cs b/System/Treasure/FairyTreasureCollectPanelPattern5.cs
index f018d70..9d51b47 100644
--- a/System/Treasure/FairyTreasureCollectPanelPattern5.cs
+++ b/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);
diff --git a/System/Treasure/TreasureData.cs b/System/Treasure/TreasureData.cs
index 676b1ee..5eb5636 100644
--- a/System/Treasure/TreasureData.cs
+++ b/System/Treasure/TreasureData.cs
@@ -78,11 +78,6 @@
}
}
- public int unLockFunc
- {
- get; private set;
- }
-
public int unLockPrivilege
{
get; private set;
diff --git a/System/Treasure/TreasureLevelUpWin.cs b/System/Treasure/TreasureLevelUpWin.cs
index ec177b4..a3026fe 100644
--- a/System/Treasure/TreasureLevelUpWin.cs
+++ b/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)
- {
- m_SkillLockBtn.image.SetSprite(_skillCfg.IconName);
- }
- 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))
+ var stage = m_Treasure.treasureStages[i];
+ switch (stage.unlockType)
{
- m_PrivilegeLockBtn.image.SetSprite(_privilegeCfg.Icon);
+ case TreasureStageUnlock.Skill:
+ case TreasureStageUnlock.Func:
+ case TreasureStageUnlock.Treasure:
+ m_Controller.AddCell(ScrollerDataType.Header, stage.stage);
+ break;
}
- 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;
diff --git a/System/Treasure/TreasureMeridianBehaviour.cs b/System/Treasure/TreasureMeridianBehaviour.cs
index 8d31a19..e6db53b 100644
--- a/System/Treasure/TreasureMeridianBehaviour.cs
+++ b/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();
}
}
diff --git a/System/Treasure/TreasureNewGotBehaviour.cs b/System/Treasure/TreasureNewGotBehaviour.cs
new file mode 100644
index 0000000..0566dc0
--- /dev/null
+++ b/System/Treasure/TreasureNewGotBehaviour.cs
@@ -0,0 +1,80 @@
+锘縰sing 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();
+ }
+ }
+}
+
diff --git a/System/Treasure/TreasureNewGotBehaviour.cs.meta b/System/Treasure/TreasureNewGotBehaviour.cs.meta
new file mode 100644
index 0000000..a69ea67
--- /dev/null
+++ b/System/Treasure/TreasureNewGotBehaviour.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: e242f7bb709856c4f9c2e9d8d3f705cc
+timeCreated: 1534498126
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/System/Treasure/TreasureNewGotWin.cs b/System/Treasure/TreasureNewGotWin.cs
index 9566004..26de78c 100644
--- a/System/Treasure/TreasureNewGotWin.cs
+++ b/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();
- }
-
- 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)
- {
- 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();
+ 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 (_stage != null)
+ {
+ 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,
}
diff --git a/System/Treasure/TreasureStageTipWin.cs b/System/Treasure/TreasureStageTipWin.cs
index 716514b..d8927f4 100644
--- a/System/Treasure/TreasureStageTipWin.cs
+++ b/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;
}
}
diff --git a/System/Treasure/TreasureUnlockCell.cs b/System/Treasure/TreasureUnlockCell.cs
index 0608bb1..d17bc75 100644
--- a/System/Treasure/TreasureUnlockCell.cs
+++ b/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)
--
Gitblit v1.8.0