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; } }