using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI
|
{
|
public class LimitedTimePackageItemBehaviour : MonoBehaviour
|
{
|
[SerializeField] RectTransform m_ContainerOpen;
|
[SerializeField] RectTransform m_ContainerClose;
|
[SerializeField] Text m_MoneyClose;
|
[SerializeField] Text m_MoneyOpen;
|
[SerializeField] Image m_OpenRedpoint;
|
[SerializeField] Image m_CloseRedpoint;
|
[SerializeField] Button m_Select;
|
|
LimitedTimePackageItemClassModel model
|
{
|
get { return ModelCenter.Instance.GetModel<LimitedTimePackageItemClassModel>(); }
|
}
|
|
int selectIndex = -1;
|
|
private void Awake()
|
{
|
m_Select.onClick.AddListener(Select);
|
}
|
|
private void OnEnable()
|
{
|
model.selectUpdate += SelectUpdate;
|
// model.accumulateRechargeUpdate += AccumulateRechargeUpdate;
|
model.onStateUpdate += OnStateUpate;
|
}
|
|
private void OnDisable()
|
{
|
model.selectUpdate -= SelectUpdate;
|
// model.accumulateRechargeUpdate -= AccumulateRechargeUpdate;
|
model.onStateUpdate -= OnStateUpate;
|
}
|
|
private void OnStateUpate(int obj)
|
{
|
DisplayRedpoint();
|
}
|
|
private void AccumulateRechargeUpdate()
|
{
|
DisplayRedpoint();
|
}
|
|
public void Display(int index)
|
{
|
selectIndex = index;
|
OperationBase operationBase;
|
if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.GiftPackage, 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];
|
//¸ù¾Ý¸÷µØÇø²»Í¬£¬rmbµ¥Î»Îª·ÖÐèת»»Îª µ¥Î»ÎªÔª´øÁ½Î»Ð¡Êýµã
|
var showNum = UIHelper.GetMoneyFormat(reward.gifts[index].rmb);
|
m_MoneyClose.text = showNum;
|
m_MoneyOpen.text = showNum;
|
DisplayRedpoint();
|
DisplaySelect();
|
}
|
}
|
}
|
}
|
|
void DisplaySelect()
|
{
|
m_ContainerOpen.SetActive(model.selectIndex == selectIndex);
|
m_ContainerClose.SetActive(model.selectIndex != selectIndex);
|
}
|
|
void DisplayRedpoint()
|
{
|
OperationBase operationBase;
|
bool satisfyGet = false;
|
if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.GiftPackage, 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.SetActive(satisfyGet);
|
m_CloseRedpoint.SetActive(satisfyGet);
|
}
|
|
private void SelectUpdate(int index)
|
{
|
m_ContainerOpen.SetActive(index == selectIndex);
|
m_ContainerClose.SetActive(index != selectIndex);
|
}
|
|
private void Select()
|
{
|
if (model.selectIndex != selectIndex && selectIndex != -1)
|
{
|
model.selectIndex = selectIndex;
|
}
|
}
|
}
|
}
|