//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Tuesday, July 10, 2018
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
//极品白拿
|
namespace Snxxz.UI
|
{
|
|
public class NeedForWhiteWin : Window
|
{
|
|
[SerializeField] Button m_CloseButton;
|
[SerializeField] Text m_TimeLeft_text;
|
[SerializeField] NeedForWhiteInvestment m_Investment_One;
|
[SerializeField] NeedForWhiteInvestment m_Investment_Two;
|
[SerializeField] NeedForWhiteInvestment m_Investment_Three;
|
#region Built-in
|
NeedForWhiteModel m_NeedForWhiteModel;
|
NeedForWhiteModel needForWhiteModel { get { return m_NeedForWhiteModel ?? (m_NeedForWhiteModel = ModelCenter.Instance.GetModel<NeedForWhiteModel>()); } }
|
private bool IsOver = false;
|
protected override void BindController()
|
{
|
}
|
|
protected override void AddListeners()
|
{
|
m_CloseButton.AddListener(() =>
|
{
|
Close();
|
WindowCenter.Instance.Open<MainInterfaceWin>();
|
});
|
}
|
|
protected override void OnPreOpen()
|
{
|
needForWhiteModel.UpdateNeedForWhiteEvent += UpdateNeedForWhiteEvent;
|
PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefreshInfoEvent;
|
SetNeedForWhiteID();
|
}
|
|
protected override void OnAfterOpen()
|
{
|
}
|
|
protected override void OnPreClose()
|
{
|
}
|
|
protected override void OnAfterClose()
|
{
|
needForWhiteModel.UpdateNeedForWhiteEvent -= UpdateNeedForWhiteEvent;
|
PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefreshInfoEvent;
|
}
|
|
private void PlayerDataRefreshInfoEvent(PlayerDataType obj)
|
{
|
if (obj == PlayerDataType.Gold)
|
{
|
SetNeedForWhiteID();
|
}
|
}
|
|
private void UpdateNeedForWhiteEvent()
|
{
|
SetNeedForWhiteID();
|
}
|
|
protected override void LateUpdate()
|
{
|
TimeSpan ts = (DateTime.Now - needForWhiteModel.DateTime_S);
|
int second = (int)ts.TotalSeconds + needForWhiteModel.OpenTimeS;
|
if (needForWhiteModel.FreeGoodsOpenTimeS - second > 0)
|
{
|
TimeLeftSecond(needForWhiteModel.FreeGoodsOpenTimeS - second);
|
IsOver = true;
|
}
|
else
|
{
|
m_TimeLeft_text.text = Language.Get("Is_over");
|
if (IsOver)
|
{
|
IsOver = false;
|
SetNeedForWhiteID();
|
}
|
}
|
}
|
|
private void TimeLeftSecond(int second)
|
{
|
string timeString = string.Empty;
|
TimeSpan ts = new TimeSpan(second * TimeSpan.TicksPerSecond);
|
int Day = (int)ts.TotalDays;
|
int hour = (int)ts.TotalHours % 24;
|
int minute = (int)ts.TotalMinutes % 60;
|
int _second = (int)ts.TotalSeconds % 60;
|
if (ts.TotalDays > 0)//天
|
{
|
timeString = Day + Language.Get("L1074") + hour + Language.Get("Hour") + minute + Language.Get("Minute") + _second + Language.Get("RealmWin_Bewrite_35");
|
}
|
else if (ts.TotalHours > 0)//时
|
{
|
timeString = 0 + Language.Get("L1074") + hour + Language.Get("Hour") + minute + Language.Get("Minute") + _second + Language.Get("RealmWin_Bewrite_35");
|
}
|
else if (ts.TotalMinutes > 0)//分
|
{
|
timeString = 0 + Language.Get("L1074") + 0 + Language.Get("Hour") + minute + Language.Get("Minute") + _second + Language.Get("RealmWin_Bewrite_35");
|
}
|
else//秒
|
{
|
timeString = 0 + Language.Get("L1074") + 0 + Language.Get("Hour") + 0 + Language.Get("Minute") + _second + Language.Get("RealmWin_Bewrite_35");
|
}
|
m_TimeLeft_text.text = string.Format(Language.Get("Time_Left"), timeString);
|
}
|
private void SetNeedForWhiteID()
|
{
|
foreach (var key in needForWhiteModel.NeedForWhiteDic.Keys)
|
{
|
switch (key)
|
{
|
case 1:
|
m_Investment_One.GetId(1);
|
break;
|
case 2:
|
m_Investment_Two.GetId(2);
|
break;
|
case 3:
|
m_Investment_Three.GetId(3);
|
break;
|
default:
|
break;
|
}
|
}
|
}
|
#endregion
|
|
}
|
|
}
|
|
|
|
|