using vnxbqy.UI;
using System.Collections.Generic;
using System.Linq;
///
/// 古宝总星数
///
public class GuBaoTotalStarsWin : ILWindow
{
ScrollerController scroller;
TextEx txtBuy;
TextEx txtProfitRatio;
ButtonEx btnClose;
ButtonEx btnBuy;
ImageEx imgBuy;
TextEx orgPrice;
VipModel vipModel { get { return ModelCenter.Instance.GetModelEx(); } }
protected override void BindController()
{
scroller = proxy.GetWidgtEx("scroller");
txtBuy = proxy.GetWidgtEx("txtBuy");
txtProfitRatio = proxy.GetWidgtEx("txtProfitRatio");
btnClose = proxy.GetWidgtEx("btnClose");
btnBuy = proxy.GetWidgtEx("btnBuy");
imgBuy = proxy.GetWidgtEx("imgBuy");
var obj = btnBuy.FindComponent("Text", "Txt_orgPrice");
if (obj != null)
orgPrice = obj as TextEx;
}
protected override void AddListeners()
{
btnClose.SetListener(() =>
{
CloseWin();
});
btnBuy.SetListener(() =>
{
vipModel.CTG(GuBaoTotalStarsModel.Instance.ctgIdDict[4]);
});
}
protected override void OnPreOpen()
{
GuBaoTotalStarsModel.Instance.UpdateGiftStateEvent += UpdateGiftStateEvent;
TreasurePavilionModel.Instance.UpdateGubaoEvent += OnUpdateGubaoEvent;
scroller.OnRefreshCell += OnScrollerRefreshCell;
bool isBuyZhanLing = GuBaoTotalStarsModel.Instance.zhanLingInfoDict[4].isActivite > 0;
btnBuy.SetActiveIL(!isBuyZhanLing);
imgBuy.SetActiveIL(isBuyZhanLing);
OrderInfoConfig orderCfg;
vipModel.TryGetOrderInfo(GuBaoTotalStarsModel.Instance.ctgIdDict[4], out orderCfg);
txtBuy.text = Language.Get("PayMoneyNum", UIHelper.GetMoneyFormat((int)orderCfg.PayRMBNum));
if (orgPrice != null)
{
orgPrice.SetActiveIL(PlayerDatas.Instance.baseData.IsActive90Off);
orgPrice.text = Language.Get("PayMoneyNum", UIHelper.GetMoneyFormat((int)orderCfg.m_PayRMBNum));
}
txtProfitRatio.text = Language.Get("BlessedLand039", CTGConfig.Get(GuBaoTotalStarsModel.Instance.ctgIdDict[4]).Percentage);
}
protected override void OnAfterOpen()
{
Initialize();
}
protected override void OnPreClose()
{
GuBaoTotalStarsModel.Instance.UpdateGiftStateEvent -= UpdateGiftStateEvent;
TreasurePavilionModel.Instance.UpdateGubaoEvent -= OnUpdateGubaoEvent;
scroller.OnRefreshCell -= OnScrollerRefreshCell;
}
private void OnUpdateGubaoEvent()
{
if (GuBaoTotalStarsModel.Instance.zhanLingInfoDict == null || !GuBaoTotalStarsModel.Instance.zhanLingInfoDict.ContainsKey(4))
return;
scroller.m_Scorller.RefreshActiveCellViews();
GuBaoTotalStarsModel.Instance.IsPlayAnimation = true;
}
private void UpdateGiftStateEvent()
{
scroller.m_Scorller.RefreshActiveCellViews();
bool isBuyZhanLing = GuBaoTotalStarsModel.Instance.zhanLingInfoDict[4].isActivite > 0;
btnBuy.SetActiveIL(!isBuyZhanLing);
imgBuy.SetActiveIL(isBuyZhanLing);
GuBaoTotalStarsModel.Instance.IsPlayAnimation = true;
}
private void OnScrollerRefreshCell(ScrollerDataType type, CellView cell)
{
var _cell = cell.GetILBehaviour();
_cell.Display(cell.index);
GuBaoTotalStarsModel.Instance.IsPlayAnimation = true;
}
void Initialize()
{
List cellList = ILZhanlingConfig.GetTypeToIDDict(4).Keys.ToList();
scroller.Refresh();
for (int i = 0; i < cellList.Count; i++)
{
scroller.AddCell(ScrollerDataType.Header, cellList[i]);
}
scroller.Restart();
scroller.JumpIndex(GuBaoTotalStarsModel.Instance.GetJumpStartIndex(4));
GuBaoTotalStarsModel.Instance.IsPlayAnimation = true;
}
}