using LitJson; using vnxbqy.UI; using System; using System.Collections.Generic; using System.Reflection; using UnityEngine; using UnityEngine.UI; /// /// 每日特惠 /// public class DailySpecialsWin : ILWindow { public List btnBuyList = new List(); public List btnHaveList = new List(); public ButtonEx btnAllBuy; public ButtonEx btnClose; public List txtBuyList = new List(); public List txtHaveList = new List(); public TextEx txtAllBuy; public TextEx txtRemaindays; public List imgBuyList = new List(); public List imgHaveList = new List(); public ImageEx imgAllBuy; public List> showLineList = new List>(); TextEx orgAllPrice; public List orgPriceList = new List(); VipModel vipModel { get { return ModelCenter.Instance.GetModelEx(); } } protected override void BindController() { btnAllBuy = proxy.GetWidgtEx("btnAllBuy"); btnClose = proxy.GetWidgtEx("btnBack"); txtAllBuy = proxy.GetWidgtEx("txtAllBuy"); txtRemaindays = proxy.GetWidgtEx("txtRemaindays"); imgAllBuy = proxy.GetWidgtEx("imgAllBuy"); for (int i = 0; i < 4; i++) { btnBuyList.Add(proxy.GetWidgtEx("btnBuy" + i)); btnHaveList.Add(proxy.GetWidgtEx("btnHave" + i)); txtBuyList.Add(proxy.GetWidgtEx("txtBuy" + i)); txtHaveList.Add(proxy.GetWidgtEx("txtHave" + i)); imgBuyList.Add(proxy.GetWidgtEx("imgBuy" + i)); imgHaveList.Add(proxy.GetWidgtEx("imgHave" + i)); if (i == 0) { orgPriceList.Add(null); } else { var obj1 = btnBuyList[i].FindComponent("Text", "Txt_orgPrice"); if (obj1 != null) orgPriceList.Add(obj1 as TextEx); } } for (int i = 0, count = 0; i < 4; i++) { List showItemImgList = new List(); for (int j = 0; j < 3; j++) { showItemImgList.Add(proxy.GetWidgtEx("itemchild" + count)); count++; } showLineList.Add(showItemImgList); } var obj = btnAllBuy.FindComponent("Text", "Txt_orgPrice"); if (obj != null) orgAllPrice = obj as TextEx; } protected override void AddListeners() { btnAllBuy.SetListener(() => { vipModel.CTG(DailySpecialsModel.Instance.packRechargeIdList[0]); }); btnClose.SetListener(() => { CloseWin(); }); } protected override void OnPreOpen() { DailySpecialsModel.Instance.UpdateGiftStateEvent += UpdateGiftStateEvent; Display(); } protected override void OnAfterOpen() { } protected override void OnPreClose() { DailySpecialsModel.Instance.UpdateGiftStateEvent -= UpdateGiftStateEvent; } void UpdateGiftStateEvent() { Display(); } void Display() { //显示物品图标 for (int i = 0; i < showLineList.Count; i++) { for (int j = 0; j < showLineList[i].Count; j++) { if (j < DailySpecialsModel.Instance.itemAllList[i].Count) { showLineList[i][j].SetActiveIL(true); var itemId = DailySpecialsModel.Instance.itemAllList[i][j].id; var model = new ItemCellModel(itemId, false, (ulong)DailySpecialsModel.Instance.itemAllList[i][j].count); showLineList[i][j].Init(model); showLineList[i][j].button.SetListener(() => { ItemTipUtility.Show(itemId); }); } else { showLineList[i][j].SetActiveIL(false); } } } //打包相关 bool isBuyAllPack = DailySpecialsModel.Instance.IsBuyAllPack(); btnAllBuy.SetActiveIL(isBuyAllPack ? false : true); txtAllBuy.SetActiveIL(isBuyAllPack ? false : true); txtRemaindays.SetActiveIL(isBuyAllPack); OrderInfoConfig orderCfg; vipModel.TryGetOrderInfo(DailySpecialsModel.Instance.packRechargeIdList[0], out orderCfg); txtAllBuy.text = Language.Get("winfix15", orderCfg.PayRMBNum, DailySpecialsModel.Instance.maxDay); txtRemaindays.text = Language.Get("TheRemainingNumberDays_Z", DailySpecialsModel.Instance.maxDay - (TimeUtility.ServerNow.Date - TimeUtility.GetTime(DailySpecialsModel.Instance.PackBuyTime).Date).Days); if (orgAllPrice != null) { orgAllPrice.SetActiveIL(PlayerDatas.Instance.baseData.IsActive90Off); orgAllPrice.text = Language.Get("PayMoneyNum", UIHelper.GetMoneyFormat(orderCfg.m_PayRMBNum)); } //分支礼包相关 for (int i = 0; i < 4; i++) { int index = i; var state = DailySpecialsModel.Instance.GetGiftState(i); int ctgID = -1; btnBuyList[i].SetActiveIL(state == 0); txtBuyList[i].SetActiveIL(state == 0); imgBuyList[i].SetActiveIL(state == 1); btnHaveList[i].SetActiveIL(state == 2); txtHaveList[i].SetActiveIL(state == 2); imgHaveList[i].SetActiveIL(state == 3); if (i == 0) { txtBuyList[i].text = Language.Get("AloneFree"); txtHaveList[i].text = Language.Get("AloneFree"); } else { ctgID = DailySpecialsModel.Instance.ctgIdDict[i][0]; vipModel.TryGetOrderInfo(ctgID, out orderCfg); txtBuyList[i].text = Language.Get("NeedMoney", orderCfg.PayRMBNum); txtHaveList[i].text = Language.Get("RealmPractice109"); if (orgPriceList[i] != null) { orgPriceList[i].SetActiveIL(PlayerDatas.Instance.baseData.IsActive90Off); orgPriceList[i].text = Language.Get("PayMoneyNum", UIHelper.GetMoneyFormat(orderCfg.m_PayRMBNum)); } } btnBuyList[i].SetListener(() => { if (ctgID == -1) return; vipModel.CTG(ctgID); }); btnHaveList[i].SetListener(() => { var pak = new IL_CA504_tagCMPlayerGetReward(); pak.RewardType = 64; pak.DataEx = (uint)index; GameNetSystem.Instance.SendInfo(pak); }); } } }