76 lines
2.1 KiB
C#
76 lines
2.1 KiB
C#
using asap.core;
|
|
using GameCore;
|
|
using System;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class HomeBtnGiftAds : MonoBehaviour
|
|
{
|
|
Button btn_enter;
|
|
TMP_Text text_time;
|
|
TriggerPackData triggerPackData;
|
|
TriggerPackBuyData triggerPack;
|
|
private void Awake()
|
|
{
|
|
triggerPackData = GContext.container.Resolve<TriggerPackData>();
|
|
btn_enter = GetComponent<Button>();
|
|
text_time = transform.Find("text_time").GetComponent<TMP_Text>();
|
|
var triggerPackDic = triggerPackData.GetTriggerPackList(5);
|
|
if (triggerPackDic.Count <= 0)
|
|
{
|
|
gameObject.SetActive(false);
|
|
return;
|
|
}
|
|
triggerPack = triggerPackDic[0];
|
|
TimeSpan now = triggerPackData.GetCurTriggerPackEndTime(triggerPack);
|
|
if (now.TotalSeconds < 0)
|
|
{
|
|
gameObject.SetActive(false);
|
|
return;
|
|
}
|
|
}
|
|
|
|
void OnEnable()
|
|
{
|
|
SetEndTime();
|
|
}
|
|
private void Start()
|
|
{
|
|
btn_enter.onClick.AddListener(OnClick);
|
|
}
|
|
async void OnClick()
|
|
{
|
|
btn_enter.enabled = false;
|
|
await UIManager.Instance.ShowUILoad(UITypes.AdsPackPanel);
|
|
btn_enter.enabled = true;
|
|
}
|
|
|
|
void SetEndTime()
|
|
{
|
|
DateTime curTime = ZZTimeHelper.UtcNow().UtcNowOffset();
|
|
DateTime endTime = GlobalUtils.TryParseDateTime(triggerPack.time, curTime);
|
|
TimeSpan now = endTime - curTime;
|
|
double seconds = now.TotalSeconds;
|
|
if (seconds < 1)
|
|
{
|
|
gameObject.SetActive(false);
|
|
}
|
|
else
|
|
{
|
|
this.AttachTimer((float)seconds,
|
|
() => { gameObject.SetActive(false); },
|
|
(elapsed) =>
|
|
{
|
|
if (triggerPack.index > 0)
|
|
{
|
|
gameObject.SetActive(false);
|
|
return;
|
|
}
|
|
now = endTime - ZZTimeHelper.UtcNow().UtcNowOffset();
|
|
text_time.text = ConvertTools.ConvertTime2(now.Days, now.Hours, now.Minutes, now.Seconds);
|
|
}, useRealTime: true);
|
|
}
|
|
}
|
|
}
|