using UnityEngine;
|
using UnityEngine.UI;
|
namespace vnxbqy.UI {
|
//福地-聚宝盆
|
public class BlessedLandCornucopiaWin : Window
|
{
|
[SerializeField] ScrollerController itemScroller;
|
[SerializeField] Slider slider;
|
[SerializeField] TextEx txtBuy;
|
[SerializeField] ImageEx imgHave;
|
[SerializeField] ButtonEx btnHave;
|
[SerializeField] ButtonEx btnBuy;
|
[SerializeField] ButtonEx btnCollect;
|
[SerializeField] ButtonEx btnClose;
|
[SerializeField] TextEx txtCount;
|
[SerializeField] TextEx txtPercent;
|
[SerializeField] TextEx txtSchedule;
|
[SerializeField] TextEx txtRebate;
|
[SerializeField] ItemCell itemCell;
|
|
TextEx orgPrice;
|
VipModel vipModel { get { return ModelCenter.Instance.GetModel<VipModel>(); } }
|
BlessedLandModel blessedLandModel { get { return ModelCenter.Instance.GetModel<BlessedLandModel>(); } }
|
|
protected override void BindController()
|
{
|
var obj = btnBuy.FindComponent("Text", "Txt_orgPrice");
|
if (obj != null)
|
orgPrice = obj as TextEx;
|
}
|
|
protected override void AddListeners()
|
{
|
btnClose.SetListener(() =>
|
{
|
WindowCenter.Instance.Close<BlessedLandCornucopiaWin>();
|
});
|
|
btnBuy.SetListener(() =>
|
{
|
vipModel.CTG(blessedLandModel.rechargeIDListForActivatingTreasureBowlArr[blessedLandModel.cornucopiaIndex][0]);
|
});
|
|
btnCollect.SetListener(() =>
|
{
|
blessedLandModel.SendCB033Pack(3);
|
blessedLandModel.SendCB033Pack(2);
|
});
|
|
btnHave.SetListener(() =>
|
{
|
blessedLandModel.SendCA504Pack(69, (uint)blessedLandModel.cornucopiaIndex);
|
});
|
}
|
|
protected override void OnPreOpen()
|
{
|
itemScroller.OnRefreshCell += OnItemCellScrollerRefreshCell;
|
blessedLandModel.UpdateMineAreaData += OnUpdateMineAreaData;
|
blessedLandModel.UpdateFellowAndSurroundAreaData += OnUpdateFellowAndSurroundAreaData;
|
DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
|
Display();
|
}
|
|
public void Display()
|
{
|
int state = blessedLandModel.GetCornucopiaState(); //0 未激活 1 已激活 - 不能领 2 已激活 - 可领取 3 已激活 - 已领取
|
|
btnBuy.SetActive(state == 0);
|
btnCollect.SetActive(state == 1);
|
btnHave.SetActive(state == 2);
|
imgHave.SetActive(state == 3);
|
|
if (blessedLandModel.rechargeIDListForActivatingTreasureBowlArr[blessedLandModel.cornucopiaIndex].Length > 0)
|
{
|
OrderInfoConfig orderCfg;
|
vipModel.TryGetOrderInfo(blessedLandModel.rechargeIDListForActivatingTreasureBowlArr[blessedLandModel.cornucopiaIndex][0], out orderCfg);
|
txtBuy.text = Language.Get("PayMoneyNum", UIHelper.GetMoneyFormat(orderCfg.PayRMBNum));
|
|
if (orgPrice != null)
|
{
|
orgPrice.SetActiveIL(PlayerDatas.Instance.baseData.IsActive90Off);
|
orgPrice.text = Language.Get("PayMoneyNum", UIHelper.GetMoneyFormat(orderCfg.m_PayRMBNum));
|
}
|
}
|
|
int percent = blessedLandModel.TreasureProgress[blessedLandModel.cornucopiaIndex];
|
slider.value = percent;
|
txtPercent.text = Language.Get("BlessedLand039", percent);
|
txtSchedule.text = Language.Get("BlessedLand048", blessedLandModel.TreasureBowlSchedule[blessedLandModel.cornucopiaIndex]);
|
txtRebate.text = StringUtility.Contact(blessedLandModel.TreasureBowlRebate[blessedLandModel.cornucopiaIndex], "%");
|
int[][] itemArr = blessedLandModel.rewardForFullProgressInTreasureBowlArr[blessedLandModel.cornucopiaIndex];
|
txtCount.text = itemArr[0][1].ToString();
|
itemCell.Init(new ItemCellModel(itemArr[0][0], false, 0));
|
itemCell.button.SetListener(() =>
|
{
|
ItemTipUtility.Show(itemArr[0][0]);
|
});
|
}
|
|
protected override void OnAfterOpen()
|
{
|
itemScroller.Refresh();
|
for (int i = 0; i < blessedLandModel.rechargeIDListForActivatingTreasureBowlArr.Length; i++)
|
{
|
itemScroller.AddCell(ScrollerDataType.Header, i);
|
}
|
itemScroller.Restart();
|
}
|
|
protected override void OnAfterClose()
|
{
|
|
}
|
|
protected override void OnPreClose()
|
{
|
itemScroller.OnRefreshCell -= OnItemCellScrollerRefreshCell;
|
blessedLandModel.UpdateMineAreaData -= OnUpdateMineAreaData;
|
blessedLandModel.UpdateFellowAndSurroundAreaData -= OnUpdateFellowAndSurroundAreaData;
|
DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
|
}
|
|
private void OnBeforePlayerDataInitialize()
|
{
|
if (WindowCenter.Instance.IsOpen<BlessedLandCornucopiaWin>())
|
{
|
WindowJumpMgr.Instance.ClearJumpData();
|
WindowCenter.Instance.CloseAll();
|
}
|
}
|
|
private void OnUpdateFellowAndSurroundAreaData()
|
{
|
WindowJumpMgr.Instance.WindowJumpToEx("BlessedLandSeekWin");
|
}
|
|
private void OnUpdateMineAreaData()
|
{
|
Display();
|
itemScroller.m_Scorller.RefreshActiveCellViews();
|
}
|
|
private void OnItemCellScrollerRefreshCell(ScrollerDataType type, CellView cell)
|
{
|
var _cell = cell as BlessedLandCornucopiaCell;
|
_cell.Display(_cell.index);
|
}
|
|
|
|
}
|
}
|