Files
MinFt/Client/Assets/Scripts/UI/Home/HomeBtnOneTwoPack.cs
Liubing\LB 3d8d4d18f3 first commit
先修复一下,错误的场景

删除不必要的钓场资产

修复into场景

update:更新meta文件,修复报错

update:修复资源

修复第一章节建造

修复建造第三章

update:删除多余内容

update:更新README.md

update:还原图标

update:更新README

update:更新配置
2026-04-28 02:17:22 +08:00

108 lines
3.4 KiB
C#

using asap.core;
using cfg;
using GameCore;
using System;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class HomeBtnOneTwoPack : EventButtonResource, IUIRedPoint
{
public const string redKey = "Home.OneTwo";
Image redpoint;
Button btn_enter;
TMP_Text text_time;
FishingEventData fishingEventData;
int packCount;
private Image icon;
private void Awake()
{
fishingEventData = GContext.container.Resolve<FishingEventData>();
btn_enter = GetComponent<Button>();
redpoint = transform.Find("redpoint").GetComponent<Image>();
text_time = transform.Find("text_time").GetComponent<TMP_Text>();
icon = transform.Find("icon").GetComponent<Image>();
Pack1A2Data Pack1A2Data = fishingEventData.Pack1A2Data;
if (Pack1A2Data == null)
{
gameObject.SetActive(false);
return;
}
EventPackManager eventPackManager = fishingEventData.Get1A2EventPackManager();
if (eventPackManager == null)
{
gameObject.SetActive(false);
return;
}
CheckResource(new List<string> { eventPackManager.Panel, eventPackManager.Icon });
List<int> packIDs = eventPackManager.VIPPackList[Pack1A2Data.vipLevel];
packCount = packIDs.Count;
if (packCount <= Pack1A2Data.index)
{
gameObject.SetActive(false);
return;
}
}
void OnEnable()
{
SetEndTime();
RedPointManager.Instance.AddRedPoint(redKey, this);
redpoint.enabled = RedPointManager.Instance.GetRedPointState(redKey);
}
private void Start()
{
btn_enter.onClick.AddListener(async () =>
{
EventPackManager eventPackManager = fishingEventData.Get1A2EventPackManager();
if (eventPackManager != null)
{
UITypes.GiftPopupPanel_11.SetType(eventPackManager.Panel);
}
await UIManager.Instance.GetUIAsync(UITypes.GiftPopupPanel_11);
});
}
public void SetRedPointState(bool state)
{
Debug.Log("HomeBtnOneTwoPack Home.OneTwo:" + state);
if (redpoint != null)
{
redpoint.enabled = state;
}
}
private void OnDisable()
{
RedPointManager.Instance.RemoveRedPoint(redKey);
}
void SetEndTime()
{
DateTime endTime = fishingEventData.GetEvent1A2EndTime();
TimeSpan now = endTime - ZZTimeHelper.UtcNow().UtcNowOffset();
double seconds = now.TotalSeconds;
if (seconds < 1)
{
gameObject.SetActive(false);
}
else
{
this.AttachTimer((float)seconds,
() => { gameObject.SetActive(false); },
(elapsed) =>
{
now = endTime - ZZTimeHelper.UtcNow().UtcNowOffset();
text_time.text = ConvertTools.ConvertTime2(now.Days, now.Hours, now.Minutes, now.Seconds);
}, useRealTime: true);
}
}
protected override void OnLoadEventResource()
{
EventPackManager eventPackManager = fishingEventData.Get1A2EventPackManager();
if (eventPackManager == null) return;
gameObject.SetActive(true);
_ = GContext.container.Resolve<IUIService>().SetImageSprite(icon, eventPackManager.Icon);
}
}