From f4f07847775c12b338d8bccedbbabc067dc1ae2c Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期六, 18 八月 2018 14:34:26 +0800
Subject: [PATCH] Merge branch '法宝、法宝魂修改'
---
System/Treasure/TreasureLevelUpWin.cs | 217 +++++++++++++++++-------------------------------------
1 files changed, 68 insertions(+), 149 deletions(-)
diff --git a/System/Treasure/TreasureLevelUpWin.cs b/System/Treasure/TreasureLevelUpWin.cs
index 6ff449a..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;
@@ -43,6 +38,7 @@
[SerializeField] TreasureProperty m_TreasureProperty;
[SerializeField] TreasureMeridianBehaviour[] m_TreasureMeridians;
[Header("Progress")]
+ [SerializeField] RectTransform m_ContainerPropgress;
[SerializeField] Image m_CurrentStageIcon;
[SerializeField] Text m_TreasureLevelProgress;
[SerializeField] Text m_TreasureStageDesc;
@@ -110,7 +106,7 @@
public event Action OnLineStepComplete;
- public int beforePlayerLv = 0;
+ int beforePlayerLv = 0;
#region Built-in
protected override void BindController()
@@ -123,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()
@@ -163,7 +157,6 @@
model.treasureLevelProgressUpdateEvent += TreasureLevelProgressUpdateEvent;
model.treasureSelectedEvent += TreasureSelectedEvent;
model.treasureStageUpEvent += TreasureStageUpEvent;
- PlayerDatas.Instance.PlayerDataRefreshInfoEvent += PlayerDataRefreshInfoEvent;
m_TreasureAnimation.OnStepComplete += OnStepComplete;
RedpointCenter.Instance.redpointValueChangeEvent += RedpointValueChangeEvent;
achievementModel.achievementCompletedEvent += AchievementCompletedEvent;
@@ -209,7 +202,6 @@
PlayerTaskDatas.CardLevelChange -= CardLevelChange;
model.treasureSelectedEvent -= TreasureSelectedEvent;
model.treasureStageUpEvent -= TreasureStageUpEvent;
- PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= PlayerDataRefreshInfoEvent;
m_TreasureAnimation.OnStepComplete -= OnStepComplete;
RedpointCenter.Instance.redpointValueChangeEvent -= RedpointValueChangeEvent;
achievementModel.achievementCompletedEvent -= AchievementCompletedEvent;
@@ -246,12 +238,18 @@
}
#endregion
+ private void OnRefreshCell(ScrollerDataType type, CellView cell)
+ {
+ TreasureUnlockCell treasureUnlockCell = cell as TreasureUnlockCell;
+ treasureUnlockCell.Display(model.selectedTreasure, cell.index);
+ }
+
private void TreasureStateChangeEvent(int _id)
{
Treasure _treasure;
model.TryGetTreasure(_id, out _treasure);
if (_id == model.selectedTreasure && _treasure != null
- && _treasure.state == TreasureState.Collecting)
+ && _treasure.state == TreasureState.Collecting && model.serverInited)
{
UpdateStage();
if (WindowCenter.Instance.CheckOpen<EffectToFaBaoWin>())
@@ -380,7 +378,8 @@
{
m_ContainerUnGet.gameObject.SetActive(false);
- if (m_Treasure.IsMaxStage() || _state == 2)
+ if ((m_Treasure.IsHighestStage && FuncOpen.Instance.IsFuncOpen(82)
+ && model.GetSpAnim(m_Treasure.id)) || _state == 2)
{
if (_state != 2)
{
@@ -391,12 +390,14 @@
else
{
m_TreasureProperty.SetActive(true);
+ model.SetSpAnim(m_Treasure.id);
}
m_TreasurePotential.Display(m_Treasure, _state);
}
else
{
m_ContainerLevelUp.gameObject.SetActive(true);
+ m_ContainerPropgress.gameObject.SetActive(!m_Treasure.IsHighestStage);
m_ContainerPotential.gameObject.SetActive(false);
if (model.treasureEntranceShowId == model.selectedTreasure)
{
@@ -417,78 +418,51 @@
m_TreasureAnimation.OnStageLock(m_Treasure.GetStageIndex(m_Treasure.stage));
}
m_TreasureProperty.SetActive(m_Treasure.state == TreasureState.Collected);
+ if (_state == 1 && m_Treasure.IsHighestStage
+ && FuncOpen.Instance.IsFuncOpen(82) && !model.GetSpAnim(m_Treasure.id))
+ {
+ m_TreasureAnimation.step = TreasureAnimation.TreasureShowStep.FirstPotential;
+ UpdateStage(2);
+ return;
+ }
}
m_TreasureAnimation.step = TreasureAnimation.TreasureShowStep.UnLock;
}
}
}
- private void PlayerDataRefreshInfoEvent(PlayerDataRefresh type)
- {
- if (type != PlayerDataRefresh.LV)
- {
- return;
- }
- if (m_Treasure != null && m_Treasure.state != TreasureState.Collected)
- {
- UpdateTreasureUnlockDetail();
- }
- else if (m_Treasure != null && m_Treasure.state == TreasureState.Collected)
- {
- if (m_TreasureAnimation.stepComplete && !model.treasureStepUpShow
- && !m_AchievementScroll.showing && !m_Treasure.IsMaxStage())
- {
- var _stage = m_Treasure.treasureStages[m_Treasure.StageCount - 1];
- if (beforePlayerLv < _stage.limitLevel && PlayerDatas.Instance.baseData.LV >= _stage.limitLevel)
- {
- DisplayAchievements(true);
- UpdateTreasureProgress();
- }
- }
- beforePlayerLv = PlayerDatas.Instance.baseData.LV;
- }
- }
-
private void OnFuncStateChangeEvent(int _id)
{
- if (_id == 126)
+ if (_id == 82 && FuncOpen.Instance.IsFuncOpen(_id) && model.serverInited)
{
- UpdateTreasureProgress();
- UpdateTreasureUnlockDetail();
+ if (m_TreasureAnimation.stepComplete && m_Treasure.IsHighestStage
+ && !model.GetSpAnim(m_Treasure.id))
+ {
+ m_TreasureAnimation.step = TreasureAnimation.TreasureShowStep.FirstPotential;
+ UpdateStage(2);
+ }
}
}
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;
@@ -520,59 +494,6 @@
m_TreasureChallengeLimit.text = Language.Get("TreasureGetRequire", _taskConfig.lv);
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);
}
}
@@ -792,7 +713,7 @@
{
var config = ConfigManager.Instance.GetTemplate<TreasureConfig>(model.selectedTreasure);
if (!m_Init || config == null || (TreasureCategory)config.Category != TreasureCategory.Human
- || m_Treasure.state != TreasureState.Collected || m_Treasure.IsMaxStage())
+ || m_Treasure.state != TreasureState.Collected || m_Treasure.IsHighestStage)
{
return;
}
@@ -870,7 +791,15 @@
model.SetTreasureStageShow(m_Treasure.id, -1);
m_TreasureAnimation.OnStageLock(m_Treasure.GetStageIndex(m_Treasure.stage));
}
- CheckGuide65();
+ if (!m_Treasure.IsHighestStage)
+ {
+ CheckGuide65();
+ }
+ else if (FuncOpen.Instance.IsFuncOpen(82) && !model.GetSpAnim(m_Treasure.id))
+ {
+ m_TreasureAnimation.step = TreasureAnimation.TreasureShowStep.FirstPotential;
+ UpdateStage(2);
+ }
break;
case TreasureAnimation.TreasureShowStep.FirstUnLock:
UpdateLevelUpSfx(false);
@@ -894,7 +823,7 @@
{
if (_win is TreasureNewStageWin)
{
- if (m_Treasure.IsMaxStage())
+ if (m_Treasure.IsHighestStage && FuncOpen.Instance.IsFuncOpen(82))
{
m_TreasureAnimation.step = TreasureAnimation.TreasureShowStep.FirstPotential;
UpdateStage(2);
@@ -919,7 +848,7 @@
private void RequestMeridianLine()
{
- if (m_Treasure.IsMaxStage())
+ if (m_Treasure.IsHighestStage && FuncOpen.Instance.IsFuncOpen(82))
{
return;
}
@@ -981,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;
@@ -1016,9 +945,14 @@
case TreasureStageUnlock.Func:
StartScreenShot();
break;
- case TreasureStageUnlock.Privilege:
+ case TreasureStageUnlock.Item:
case TreasureStageUnlock.Property:
WindowCenter.Instance.Open<TreasureNewStageWin>(true);
+ break;
+ case TreasureStageUnlock.Treasure:
+ WindowJumpMgr.Instance.ClearJumpData();
+ WindowCenter.Instance.Open<MainInterfaceWin>();
+ CloseImmediately();
break;
}
}
@@ -1178,30 +1112,15 @@
m_TreasureStageDesc.text = Language.Get("TreasureLevelUpSkill", _funcCfg.Remark);
m_CurrentStageIcon.SetSprite(_funcCfg.Icon);
break;
- case TreasureStageUnlock.Privilege:
- var privilege = m_Treasure.treasureStages[m_Treasure.StageCount - 1];
- var _privilegeCfg = ConfigManager.Instance.GetTemplate<TreasurePrivilegeConfig>(_nextStage.privilege);
- if (!FuncOpen.Instance.IsFuncOpen(126))
- {
- m_CurrentStageIcon.SetSprite("UnKnowIcon");
- if (!FuncOpen.Instance.IsFuncOpen(126))
- {
- var funcConfig = ConfigManager.Instance.GetTemplate<FuncOpenLVConfig>(126);
- m_TreasureStageDesc.text = Language.Get("TreasurePrivilegeFuncLimit", funcConfig.LimitLV, funcConfig.Remark);
- }
- }
- else
- {
- m_CurrentStageIcon.SetSprite(_privilegeCfg.Icon);
- if (PlayerDatas.Instance.baseData.LV >= _nextStage.limitLevel)
- {
- m_TreasureStageDesc.text = _privilegeCfg.Name;
- }
- else
- {
- m_TreasureStageDesc.text = Language.Get("TreasurePrivilege_Unlock", _nextStage.limitLevel);
- }
- }
+ case TreasureStageUnlock.Item:
+ var _itemConfig = ConfigManager.Instance.GetTemplate<ItemConfig>(_nextStage.item.id);
+ m_CurrentStageIcon.SetSprite(_itemConfig.IconKey);
+ m_TreasureStageDesc.text = Language.Get("TreasureLevelUpItem", _itemConfig.ItemName);
+ break;
+ case TreasureStageUnlock.Treasure:
+ var _treasureConfig = ConfigManager.Instance.GetTemplate<TreasureConfig>(_nextStage.treasure);
+ m_CurrentStageIcon.SetSprite(_treasureConfig.Icon);
+ m_TreasureStageDesc.text = Language.Get("TreasureLevelUpTreasure", _treasureConfig.Name);
break;
}
}
--
Gitblit v1.8.0