//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Thursday, May 10, 2018
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace Snxxz.UI {
|
|
[XLua.Hotfix]
|
public class OpenServerGiftWin : Window
|
{
|
[SerializeField] RectTransform m_ContainerDisplay;
|
[SerializeField] SuperValueGiftBehaviour[] m_OSGifts;
|
[SerializeField] RectTransform m_ContainerTime;
|
[SerializeField] Text m_Overdue;
|
[SerializeField] Text m_Timer;
|
|
VipModel vipModel
|
{
|
get { return ModelCenter.Instance.GetModel<VipModel>(); }
|
}
|
|
OSGiftModel giftModel { get { return ModelCenter.Instance.GetModel<OSGiftModel>(); } }
|
#region Built-in
|
protected override void BindController()
|
{
|
}
|
|
protected override void AddListeners()
|
{
|
}
|
|
protected override void OnPreOpen()
|
{
|
if (!giftModel.alreadyOpens.Contains(giftModel.selectIndex))
|
{
|
giftModel.selectIndex = giftModel.alreadyOpens[0];
|
}
|
|
GlobalTimeEvent.Instance.secondEvent += SecondEvent;
|
giftModel.onSelectUpdate += OnSelectUpdate;
|
giftModel.jumpGiftId = 0;
|
Display();
|
}
|
|
protected override void OnAfterOpen()
|
{
|
}
|
|
protected override void OnPreClose()
|
{
|
GlobalTimeEvent.Instance.secondEvent -= SecondEvent;
|
giftModel.onSelectUpdate -= OnSelectUpdate;
|
}
|
|
protected override void OnAfterClose()
|
{
|
}
|
#endregion
|
|
private void OnSelectUpdate()
|
{
|
Display();
|
}
|
|
private void SecondEvent()
|
{
|
DisplayTimer();
|
}
|
|
void DisplayTimer()
|
{
|
if (giftModel.selectIndex >= 0 && giftModel.selectIndex < giftModel.gifts.Count)
|
{
|
var gift = giftModel.gifts[giftModel.selectIndex];
|
var startTime = TimeUtility.GetTime(giftModel.startSeconds);
|
var endTime = startTime.AddDays(gift.openDays);
|
endTime = new DateTime(endTime.Year, endTime.Month, endTime.Day, 0, 0, 0);
|
var seconds = (int)(endTime - TimeUtility.ServerNow).TotalSeconds;
|
if (seconds <= 0)
|
{
|
m_ContainerTime.gameObject.SetActive(false);
|
m_Overdue.gameObject.SetActive(true);
|
}
|
else
|
{
|
m_ContainerTime.gameObject.SetActive(true);
|
m_Overdue.gameObject.SetActive(false);
|
m_Timer.text = TimeUtility.SecondsToDHMSCHS(seconds);
|
m_Timer.color = UIHelper.GetUIColor(TextColType.Green);
|
}
|
}
|
}
|
|
private void Display()
|
{
|
var _index = 0;
|
for (int i = 0; i < giftModel.gifts.Count; i++)
|
{
|
if (giftModel.selectIndex == i)
|
{
|
var rechargeId = giftModel.GetRechargeId(giftModel.gifts[i].payType);
|
m_OSGifts[i].Display(rechargeId);
|
_index = i;
|
break;
|
}
|
}
|
giftModel.SetDayRemind(giftModel.selectIndex);
|
for (int i = 0; i < m_OSGifts.Length; i++)
|
{
|
m_OSGifts[i].gameObject.SetActive(_index == i);
|
}
|
DisplayTimer();
|
}
|
}
|
|
}
|
|
|
|
|