//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Wednesday, July 18, 2018
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
using UnityEngine.UI;
|
//限时礼包
|
namespace vnxbqy.UI
|
{
|
|
public class SuperUPGiftWin : Window
|
{
|
[SerializeField] Button m_Buy_Btn;//购买按钮
|
[SerializeField] GameObject m_BoughtObj;//已购买
|
[SerializeField] LimitedTimeItemInfo[] m_Items;
|
|
[SerializeField] ScrollerController m_ScrollerControl;
|
|
[SerializeField] Text m_Money1;//原价
|
[SerializeField] Text m_Money2;//现价
|
|
#region Built-in
|
SuperUPGiftModel model { get { return ModelCenter.Instance.GetModel<SuperUPGiftModel>(); } }
|
|
VipModel vipModel
|
{
|
get { return ModelCenter.Instance.GetModel<VipModel>(); }
|
}
|
|
protected override void BindController()
|
{
|
}
|
|
protected override void AddListeners()
|
{
|
|
}
|
|
protected override void OnPreOpen()
|
{
|
m_ScrollerControl.OnRefreshCell += OnRefreshGridCell;
|
model.selectUpdate += SelectChanged;
|
vipModel.rechargeCountEvent += RechargeCountEvent;
|
|
model.gifts.Clear();
|
model.gifts = model.GetGiftsForSale(true);
|
model.selectIndex = GetSelect();
|
|
DisPlay(model.selectIndex);
|
DisplayGoodsTab();
|
m_ScrollerControl.JumpIndex(model.selectIndex);
|
model.hasNewGift = false;
|
DayRemind.Instance.SetDayRemind(DayRemind.SUPERUPGIFTS, true);
|
//var _package = new CA123_tagCMQueryCoinToGoldCount();
|
//_package.RecordID = 0;
|
//GameNetSystem.Instance.SendInfo(_package);
|
}
|
|
private void SelectChanged(int select)
|
{
|
DisPlay(select);
|
}
|
|
protected override void OnAfterOpen()
|
{
|
}
|
|
|
|
private int GetSelect()
|
{
|
|
return model.gifts.Count-1;
|
}
|
|
private void DisplayGoodsTab()
|
{
|
m_ScrollerControl.Refresh();
|
for (int i = 0; i < model.gifts.Count; i++)
|
{
|
m_ScrollerControl.AddCell(ScrollerDataType.Header, i);
|
}
|
m_ScrollerControl.Restart();
|
}
|
|
private void DisPlay(int _index = 0)
|
{
|
if (_index == -1 || _index >= model.gifts.Count)
|
return;
|
|
var ctgID = model.gifts[_index];
|
VipModel.RechargeCount _rechargeCount;
|
var config = CTGConfig.Get(ctgID);
|
if (config == null)
|
{
|
return;
|
}
|
m_Buy_Btn.SetActive(false);
|
m_BoughtObj.SetActive(false);
|
vipModel.TryGetRechargeCount(ctgID, out _rechargeCount);
|
if (_rechargeCount.totalCount >= config.TotalBuyCount)
|
{
|
m_BoughtObj.SetActive(true);
|
}
|
else
|
{
|
m_Buy_Btn.SetActive(true);
|
m_Buy_Btn.RemoveAllListeners();
|
m_Buy_Btn.SetListener(()=>{
|
vipModel.CTG(ctgID);
|
});
|
}
|
|
m_Money1.text = Language.Get("PayMoneyNum", UIHelper.GetMoneyFormat(SuperUpRechargeConfig.Get(ctgID).OriginalRMB));
|
m_Money2.text = Language.Get("PayMoneyNum", UIHelper.GetMoneyFormat(vipModel.GetPayRmb(ctgID)));
|
List<Item> goods;
|
vipModel.TryGetRechargeItem(ctgID, out goods);
|
for (int i = 0; i < m_Items.Length; i++)
|
{
|
if (i >= goods.Count)
|
{
|
m_Items[i].SetActive(false);
|
continue;
|
}
|
m_Items[i].SetActive(true);
|
|
var itemID = goods[i].id;
|
var ItemCell = m_Items[i].Item_Cell;
|
ItemCellModel cellModel = new ItemCellModel(itemID, true, (ulong)goods[i].count);
|
ItemCell.Init(cellModel);
|
ItemCell.button.RemoveAllListeners();
|
ItemCell.button.AddListener(() =>
|
{
|
ItemTipUtility.Show(itemID);
|
});
|
|
}
|
}
|
|
|
protected override void OnPreClose()
|
{
|
m_ScrollerControl.OnRefreshCell -= OnRefreshGridCell;
|
model.selectUpdate -= SelectChanged;
|
vipModel.rechargeCountEvent -= RechargeCountEvent;
|
}
|
|
private void RechargeCountEvent(int id)
|
{
|
DisPlay(model.selectIndex);
|
}
|
protected override void OnAfterClose()
|
{
|
}
|
|
|
#endregion
|
private void OnRefreshGridCell(ScrollerDataType type, CellView cell)
|
{
|
var propertyCell = cell as SuperUPGiftCell;
|
var key = cell.index;
|
|
propertyCell.Display(cell.index);
|
|
}
|
}
|
|
}
|