using System;
|
using System.Collections.Generic;
|
using System.Data;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI
|
{
|
|
public class ExclusiveBenefitWin : Window
|
{
|
[SerializeField] ScrollerController m_Controller;
|
[SerializeField] Button CloseBtn;
|
[SerializeField] Button buyBtn;
|
[SerializeField] ImageEx buyImg;
|
[SerializeField] TextEx buyTxt;
|
TextEx orgPrice;
|
|
|
ExclusiveBenefitModel model { get { return ModelCenter.Instance.GetModel<ExclusiveBenefitModel>(); } }
|
VipModel vipModel { get { return ModelCenter.Instance.GetModel<VipModel>(); } }
|
PackModel packModel { get { return ModelCenter.Instance.GetModelEx<PackModel>(); } }
|
protected override void BindController()
|
{
|
var obj = buyBtn.FindComponent("Text", "Txt_orgPrice");
|
if (obj != null)
|
orgPrice = obj as TextEx;
|
}
|
|
protected override void AddListeners()
|
{
|
CloseBtn.SetListener(() =>
|
{
|
WindowCenter.Instance.Close<ExclusiveBenefitWin>();
|
});
|
}
|
|
protected override void OnPreOpen()
|
{
|
m_Controller.OnRefreshCell += OnRefreshCell;
|
vipModel.rechargeCountEvent += VipModel_rechargeCountEvent;
|
DisplayScroll();
|
Display();
|
CloseClick();
|
}
|
|
void Display()
|
{
|
int ctgid = model.ctgid;
|
OrderInfoConfig orderConfig;
|
vipModel.TryGetOrderInfo(ctgid, out orderConfig);
|
buyTxt.text = Language.Get("PayMoneyNum", UIHelper.GetMoneyFormat(orderConfig.PayRMBNum));
|
if (orgPrice != null)
|
{
|
orgPrice.SetActiveIL(PlayerDatas.Instance.baseData.IsActive90Off);
|
orgPrice.text = Language.Get("PayMoneyNum", UIHelper.GetMoneyFormat(orderConfig.m_PayRMBNum));
|
}
|
|
buyBtn.SetActive(!model.IsBuy());
|
buyImg.SetActive(model.IsBuy());
|
buyBtn.SetListener(() =>
|
{
|
if (packModel.GetEmptyGridCount(PackType.Item) < 10)
|
{
|
SysNotifyMgr.Instance.ShowTip("GeRen_lhs_202580");
|
return;
|
}
|
vipModel.CTG(ctgid);
|
});
|
}
|
|
void VipModel_rechargeCountEvent(int obj)
|
{
|
if (obj == model.ctgid)
|
{
|
Display();
|
}
|
}
|
|
protected override void OnAfterOpen()
|
{
|
}
|
|
protected override void OnPreClose()
|
{
|
m_Controller.OnRefreshCell -= OnRefreshCell;
|
vipModel.rechargeCountEvent -= VipModel_rechargeCountEvent;
|
}
|
|
void OnUpdateRechargeGiftActEvent()
|
{
|
DisplayScroll();
|
}
|
|
protected override void OnAfterClose()
|
{
|
|
}
|
|
void DisplayScroll()
|
{
|
m_Controller.Refresh();
|
int ctgid = model.ctgid;
|
List<Item> awards = new List<Item>();
|
vipModel.TryGetRechargeItem(ctgid, out awards);
|
int lineCount = (int)Math.Ceiling((double)awards.Count / 7);
|
for (int i = 0; i < lineCount; i++)
|
{
|
m_Controller.AddCell(ScrollerDataType.Header, i);
|
}
|
m_Controller.Restart();
|
}
|
|
private void OnRefreshCell(ScrollerDataType type, CellView cell)
|
{
|
var _cell = cell as ExclusiveBenefitCell;
|
_cell.Display(_cell.index);
|
}
|
}
|
}
|