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;
|
Transform orgPriceImg;
|
Transform orgPriceImg2;
|
|
MergeServerLimitedTimePackageModel model = MergeServerLimitedTimePackageModel.Instance;
|
|
VipModel vipModel
|
{
|
get { return ModelCenter.Instance.GetModel<VipModel>(); }
|
}
|
|
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);
|
|
var obj = m_ContainerOpen.FindComponent("Transform", "saleImage");
|
if (obj != null)
|
orgPriceImg = obj as Transform;
|
|
obj = m_ContainerClose.FindComponent("Transform", "saleImage");
|
if (obj != null)
|
orgPriceImg2 = obj as Transform;
|
}
|
|
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(recharge.rmb);
|
if (PlayerDatas.Instance.baseData.IsActive90Off)
|
{
|
OrderInfoConfig orderInfo = null;
|
vipModel.TryGetOrderInfoByOrderInfo(recharge.OrderInfo, out orderInfo);
|
showNum = UIHelper.GetMoneyFormat(orderInfo.PayRMBNum);
|
}
|
m_MoneyClose.text = Language.Get("PayMoneyNum", showNum);
|
m_MoneyOpen.text = Language.Get("PayMoneyNum", showNum);
|
|
DisplayRedpoint();
|
DisplaySelect();
|
|
if (orgPriceImg != null)
|
{
|
orgPriceImg.SetActiveIL(PlayerDatas.Instance.baseData.IsActive90Off);
|
}
|
if (orgPriceImg2 != null)
|
{
|
orgPriceImg2.SetActiveIL(PlayerDatas.Instance.baseData.IsActive90Off);
|
}
|
}
|
}
|
}
|
}
|
|
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;
|
}
|
}
|
}
|