From 1c6fc962dcc98a57d0e3e35d4271899f0c430170 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期五, 14 九月 2018 16:04:19 +0800
Subject: [PATCH] 3579【前端】【1.1.0】【1.0.15】封魔坛鼓舞修改为N次仙玉鼓舞,去除铜钱鼓舞
---
System/Dungeon/DungeonInspireWin.cs | 194 ++++++++++++++++++++++++++++--------------------
1 files changed, 114 insertions(+), 80 deletions(-)
diff --git a/System/Dungeon/DungeonInspireWin.cs b/System/Dungeon/DungeonInspireWin.cs
index 1a10c7a..97c4699 100644
--- a/System/Dungeon/DungeonInspireWin.cs
+++ b/System/Dungeon/DungeonInspireWin.cs
@@ -15,25 +15,17 @@
public class DungeonInspireWin : Window
{
- [SerializeField]
- Button coinInspireBtn;
- [SerializeField]
- GameObject coinInspireMark;
- [SerializeField]
- Button fairyInspireBtn;
- [SerializeField]
- GameObject fairyInspireMark;
- [SerializeField]
- Text coinInspireInfoText;
- [SerializeField]
- Text fairyInspireInfoText;
- [SerializeField] Text m_InpsireLvTxt;
- [SerializeField]
- Button confirmBtn;
- [SerializeField]
- Button cancelBtn;
- [SerializeField]
- Button m_CloseBtn;
+ [SerializeField] Button m_CoinInspire;
+ [SerializeField] RectTransform m_CoinInspireCheck;
+ [SerializeField] Button m_FairyInspire;
+ [SerializeField] RectTransform m_FairyInspireCheck;
+ [SerializeField] Text m_CoinCost;
+ [SerializeField] Text m_FairyCost;
+ [SerializeField] Text m_InspireLevel;
+ [SerializeField] Text m_Remind;
+ [SerializeField] Button m_Confirm;
+ [SerializeField] Button m_Cancel;
+ [SerializeField] Button m_Close;
DungeonModel m_Model;
DungeonModel model
@@ -44,10 +36,10 @@
}
}
- private bool isCoinInspire = false;
- private bool isFairyInspire = false;
- private DungeonInspireConfig coinInspireCfg = null;
- private DungeonInspireConfig fairyInspireCfg = null;
+ private bool coinInspire = false;
+ private bool fairyInspire = false;
+ private DungeonInspireConfig coinInspireConfig = null;
+ private DungeonInspireConfig fairyInspireConfig = null;
#region Built-in
protected override void BindController()
{
@@ -55,11 +47,11 @@
protected override void AddListeners()
{
- coinInspireBtn.onClick.AddListener(OnCoinInspire);
- fairyInspireBtn.onClick.AddListener(OnFairyInspire);
- confirmBtn.onClick.AddListener(OnConfirmBtn);
- cancelBtn.onClick.AddListener(OnCancelBtn);
- m_CloseBtn.onClick.AddListener(CloseClick);
+ m_CoinInspire.onClick.AddListener(CoinInspire);
+ m_FairyInspire.onClick.AddListener(FairyInspire);
+ m_Confirm.onClick.AddListener(Confirm);
+ m_Cancel.onClick.AddListener(Cancel);
+ m_Close.onClick.AddListener(CloseClick);
}
protected override void OnPreOpen()
@@ -69,25 +61,30 @@
{
return;
}
- coinInspireCfg = null;
- fairyInspireCfg = null;
+ coinInspireConfig = null;
+ fairyInspireConfig = null;
+
for (int i = 0; i < _list.Count; i++)
{
- if (_list[i].InspireType == 1)
+ if (_list[i].InspireType == 3)
{
- coinInspireCfg = _list[i];
+ coinInspireConfig = _list[i];
}
- else if (_list[i].InspireType == 2)
+ else if (_list[i].InspireType == 2
+ || _list[i].InspireType == 1 || _list[i].InspireType == 5)
{
- fairyInspireCfg = _list[i];
+ fairyInspireConfig = _list[i];
}
}
- coinInspireBtn.gameObject.SetActive(coinInspireCfg != null);
- isCoinInspire = coinInspireCfg == null ? false : true;
- isFairyInspire = !isCoinInspire;
- InitData();
+ m_CoinInspire.gameObject.SetActive(coinInspireConfig != null);
+
+ coinInspire = coinInspireConfig == null ? false : true;
+ fairyInspire = !coinInspire;
+
+ Display();
UpdateInspireType();
+ DisplayRemind();
model.dungeonInspireLvEvent += DungeonEncourageEvent;
}
@@ -96,6 +93,12 @@
protected override void OnAfterOpen()
{
+ var _list = model.GetDungeonInspire(PlayerDatas.Instance.baseData.MapID);
+ if (_list == null)
+ {
+ CloseImmediately();
+ return;
+ }
}
protected override void OnPreClose()
@@ -110,95 +113,125 @@
private void DungeonEncourageEvent()
{
- var lv = model.dungeonCoinInspireCount + model.dungeonJadeInspireCount;
- if (lv >= fairyInspireCfg.InspireCount && !InFairyLandGuiding())
+ var level = model.GetDungeonInspireLevel();
+ if (level >= model.GetInspireMaxCount(PlayerDatas.Instance.baseData.MapID)
+ && !InGuiding())
{
CloseImmediately();
return;
}
+ DisplayCost();
UpdateInspireType();
}
- private void OnCoinInspire()
+ private void CoinInspire()
{
- if (!isCoinInspire)
+ if (!coinInspire)
{
- if (model.dungeonCoinInspireCount >= coinInspireCfg.InspireCount)
+ if (model.GetDungeonInspireLevel(3) >= coinInspireConfig.InspireCount)
{
SysNotifyMgr.Instance.ShowTip("Xjmj_CopperInspireFull");
return;
}
- isCoinInspire = true;
- isFairyInspire = false;
+ coinInspire = true;
+ fairyInspire = false;
}
else
{
- isCoinInspire = false;
+ coinInspire = false;
}
UpdateInspireType();
}
- private void OnFairyInspire()
+ private void FairyInspire()
{
- if (coinInspireCfg == null)
+ if (coinInspireConfig == null)
{
return;
}
- isCoinInspire = false;
- isFairyInspire = !isFairyInspire;
+ coinInspire = false;
+ fairyInspire = !fairyInspire;
UpdateInspireType();
}
- private void OnConfirmBtn()
+ private void Confirm()
{
- if (isFairyInspire)
+ if (fairyInspire)
{
- if (PlayerDatas.Instance.baseData.GoldPaper + PlayerDatas.Instance.baseData.Gold < fairyInspireCfg.MoneyCount
- && !InFairyLandGuiding())
+ uint money = 0;
+ switch (fairyInspireConfig.InspireType)
{
- SysNotifyMgr.Instance.ShowTip("Xjmj_InspireNoEnoughFairy");
+ case 1:
+ money += PlayerDatas.Instance.baseData.Gold;
+ break;
+ case 2:
+ money += PlayerDatas.Instance.baseData.GoldPaper;
+ break;
+ case 5:
+ money = PlayerDatas.Instance.baseData.GoldPaper + PlayerDatas.Instance.baseData.Gold;
+ break;
+ }
+ if (money < model.GetDungeonInspireCost(fairyInspireConfig)
+ && !InGuiding())
+ {
+ CloseImmediately();
+ WindowCenter.Instance.Open<RechargeTipWin>();
}
else
{
- CA508_tagCMDoFBAction inspirepack = new CA508_tagCMDoFBAction();
- inspirepack.ActionType = 0;
- inspirepack.ActionInfo = (uint)fairyInspireCfg.InspireType;
- GameNetSystem.Instance.SendInfo(inspirepack);
+ CA508_tagCMDoFBAction pak = new CA508_tagCMDoFBAction();
+ pak.ActionType = 0;
+ pak.ActionInfo = (uint)fairyInspireConfig.InspireType;
+ GameNetSystem.Instance.SendInfo(pak);
}
}
- else if (isCoinInspire)
+ else if (coinInspire)
{
- if (PlayerDatas.Instance.baseData.Silver < coinInspireCfg.MoneyCount
- && !InFairyLandGuiding())
+ if (UIHelper.GetMoneyCnt(3) < (ulong)model.GetDungeonInspireCost(coinInspireConfig)
+ && !InGuiding())
{
SysNotifyMgr.Instance.ShowTip("Xjmj_InspireNoEnoughGold");
}
else
{
- CA508_tagCMDoFBAction inspirepack = new CA508_tagCMDoFBAction();
- inspirepack.ActionType = 0;
- inspirepack.ActionInfo = (uint)coinInspireCfg.InspireType;
- GameNetSystem.Instance.SendInfo(inspirepack);
+ CA508_tagCMDoFBAction pak = new CA508_tagCMDoFBAction();
+ pak.ActionType = 0;
+ pak.ActionInfo = (uint)coinInspireConfig.InspireType;
+ GameNetSystem.Instance.SendInfo(pak);
}
}
}
- private void OnCancelBtn()
+ private void Cancel()
{
CloseImmediately();
}
- private void InitData()
+ private void Display()
{
- if (coinInspireCfg != null)
- {
- coinInspireInfoText.text = Language.Get("FairyLand_Func9", coinInspireCfg.MoneyCount, coinInspireCfg.InspireCount);
- }
- fairyInspireInfoText.text = Language.Get("FairyLand_Func10", fairyInspireCfg.MoneyCount);
+ DisplayCost();
}
- bool InFairyLandGuiding()
+ private void DisplayCost()
{
- if (NewBieCenter.Instance.inGuiding && NewBieCenter.Instance.currentGuide == GeneralConfig.Instance.fairyLandGuideId)
+ if (coinInspireConfig != null)
+ {
+ m_CoinCost.text = Language.Get("FairyLand_Func9", model.GetDungeonInspireCost(coinInspireConfig), coinInspireConfig.InspireCount);
+ }
+ if (fairyInspireConfig != null)
+ {
+ m_FairyCost.text = Language.Get("FairyLand_Func10", model.GetDungeonInspireCost(fairyInspireConfig));
+ }
+ }
+
+ void DisplayRemind()
+ {
+ m_Remind.gameObject.SetActive(fairyInspireConfig != null && fairyInspireConfig.InspireType == 5);
+ }
+
+ bool InGuiding()
+ {
+ if (NewBieCenter.Instance.inGuiding
+ && NewBieCenter.Instance.currentGuide == GeneralConfig.Instance.fairyLandGuideId)
{
return true;
}
@@ -207,11 +240,12 @@
private void UpdateInspireType()
{
- var lv = model.dungeonJadeInspireCount + model.dungeonCoinInspireCount;
- m_InpsireLvTxt.text = lv == 0 ? Language.Get("FairyLand_Func4")
- : Language.Get("HaveInspired", StringUtility.Contact("<color=#109d06>", lv * model.dungeonInspireUper, "%</color>"));
- coinInspireMark.SetActive(isCoinInspire);
- fairyInspireMark.SetActive(isFairyInspire);
+ var level = model.GetDungeonInspireLevel();
+ m_InspireLevel.text = level == 0 ? Language.Get("FairyLand_Func4")
+ : Language.Get("HaveInspired", StringUtility.Contact("<color=#109d06>",
+ level * model.GetDungeonInspireUpper(PlayerDatas.Instance.baseData.MapID), "%</color>"));
+ m_CoinInspireCheck.gameObject.SetActive(coinInspire);
+ m_FairyInspireCheck.gameObject.SetActive(fairyInspire);
}
}
--
Gitblit v1.8.0