using vnxbqy.UI; using UnityEngine; public class ZhanLingHBuyWin : Window { [SerializeField] ScrollerController scroller; [SerializeField] ButtonEx btnClose; [SerializeField] ButtonEx btnBuy; [SerializeField] TextEx txtBuy; [SerializeField] TextEx txtTitle; [SerializeField] ImageEx imgBK; [SerializeField] TextEx txtPercentage; TextEx orgPrice; VipModel vipModel { get { return ModelCenter.Instance.GetModel(); } } ZhanLingHBuyModel model { get { return ModelCenter.Instance.GetModel(); } } int ctgID; protected override void BindController() { var obj = btnBuy.FindComponent("Text", "Txt_orgPrice"); if (obj != null) orgPrice = obj as TextEx; } protected override void AddListeners() { btnClose.SetListener(CloseClick); btnBuy.SetListener(() => { if (ctgID == 0) { CloseClick(); return; } vipModel.CTG(ctgID); CloseClick(); }); } protected override void OnPreOpen() { scroller.OnRefreshCell += OnScrollerRefreshCell; Display(); } void Display() { ctgID = model.GetCtgID(); if (ctgID == 0) { CloseClick(); return; } OrderInfoConfig orderCfg; vipModel.TryGetOrderInfo(ctgID, out orderCfg); if (model.bgIconkey != null) { imgBK.SetSprite(model.bgIconkey); } txtTitle.text = CTGConfig.Get(ctgID).Title; txtPercentage.text = Language.Get("BlessedLand039", CTGConfig.Get(ctgID).Percentage); txtBuy.text = Language.Get("PayMoneyNum", UIHelper.GetMoneyFormat((long)orderCfg.PayRMBNum)); if (orgPrice != null) { orgPrice.SetActiveIL(PlayerDatas.Instance.baseData.IsActive90Off); orgPrice.text = Language.Get("PayMoneyNum", UIHelper.GetMoneyFormat(orderCfg.m_PayRMBNum)); } } void CreateScroller() { var list = model.GetGiftAllItem(); scroller.Refresh(); for (int i = 0; i < list.Count; i++) { scroller.AddCell(ScrollerDataType.Header, i); } scroller.Restart(); } protected override void OnAfterOpen() { CreateScroller(); } protected override void OnPreClose() { scroller.OnRefreshCell -= OnScrollerRefreshCell; } private void OnScrollerRefreshCell(ScrollerDataType type, CellView cell) { var _cell = cell as ZhanLingHBuyCell; _cell.Display(_cell.index); } protected override void OnAfterClose() { } }