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