using vnxbqy.UI;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
|
public class MergeServerLimitedTimePackageItemBehaviour : ILBehaviour
|
{
|
RectTransform m_ContainerOpen;
|
RectTransform m_ContainerClose;
|
Text m_MoneyClose;
|
Text m_MoneyOpen;
|
Image m_OpenRedpoint;
|
Image m_CloseRedpoint;
|
Button m_Select;
|
|
MergeServerLimitedTimePackageModel model = MergeServerLimitedTimePackageModel.Instance;
|
|
int selectIndex = -1;
|
|
protected override void Awake()
|
{
|
m_ContainerOpen = proxy.GetWidgtEx<RectTransform>("Img_Open");
|
m_ContainerClose = proxy.GetWidgtEx<RectTransform>("Img_Close");
|
m_MoneyClose = proxy.GetWidgtEx<Text>("Txt_MoneyClose");
|
m_MoneyOpen = proxy.GetWidgtEx<Text>("Txt_MoneyOpen");
|
m_OpenRedpoint = proxy.GetWidgtEx<Image>("Img_RedpointOpen");
|
m_CloseRedpoint = proxy.GetWidgtEx<Image>("Img_RedpointClose");
|
m_Select = proxy.GetWidgtEx<Button>("Select");
|
m_Select.AddListener(Select);
|
}
|
|
protected override void OnEnable()
|
{
|
model.selectUpdate += SelectUpdate;
|
model.onStateUpdate += OnStateUpate;
|
}
|
|
protected override void OnDisable()
|
{
|
model.selectUpdate -= SelectUpdate;
|
model.onStateUpdate -= OnStateUpate;
|
}
|
|
private void OnStateUpate(int obj)
|
{
|
DisplayRedpoint();
|
}
|
|
|
public void Display(int index)
|
{
|
selectIndex = index;
|
OperationBase operationBase;
|
if (OperationTimeHepler.Instance.TryGetOperationTime(model.operationType, out operationBase))
|
{
|
GiftPackageClass operation = operationBase as GiftPackageClass;
|
GiftPackageClass.Gift_Package reward;
|
if (operation.TryGetGift(TimeUtility.ServerNow, out reward))
|
{
|
if (index < reward.gifts.Length)
|
{
|
var recharge = reward.gifts[index];
|
var showNum = UIHelper.GetMoneyFormat(reward.gifts[index].rmb * 0.01f);
|
m_MoneyClose.text = Language.Get("ArtFontMoney", showNum);
|
m_MoneyOpen.text = Language.Get("ArtFontMoney", showNum);
|
|
DisplayRedpoint();
|
DisplaySelect();
|
}
|
}
|
}
|
}
|
|
void DisplaySelect()
|
{
|
m_ContainerOpen.SetActiveIL(model.selectIndex == selectIndex);
|
m_ContainerClose.SetActiveIL(model.selectIndex != selectIndex);
|
}
|
|
void DisplayRedpoint()
|
{
|
OperationBase operationBase;
|
bool satisfyGet = false;
|
if (OperationTimeHepler.Instance.TryGetOperationTime(model.operationType, out operationBase))
|
{
|
GiftPackageClass operation = operationBase as GiftPackageClass;
|
GiftPackageClass.Gift_Package reward;
|
if (operation.TryGetGift(TimeUtility.ServerNow, out reward))
|
{
|
if (selectIndex < reward.gifts.Length && selectIndex >= 0)
|
{
|
var recharge = reward.gifts[selectIndex];
|
satisfyGet = model.IsExpired(selectIndex) && model.IsOpen();
|
}
|
}
|
}
|
m_OpenRedpoint.SetActiveIL(satisfyGet);
|
m_CloseRedpoint.SetActiveIL(satisfyGet);
|
}
|
|
private void SelectUpdate(int index)
|
{
|
m_ContainerOpen.SetActiveIL(index == selectIndex);
|
m_ContainerClose.SetActiveIL(index != selectIndex);
|
}
|
|
private void Select()
|
{
|
if (model.selectIndex != selectIndex && selectIndex != -1)
|
{
|
model.selectIndex = selectIndex;
|
}
|
}
|
}
|