Files
ft/Client/Assets/Scripts/EventBlocks/Act/EventBlockAct.cs
2026-06-29 21:18:33 +08:00

67 lines
1.7 KiB
C#

using System.Threading.Tasks;
using asap.core;
using EventCubeMelt;
using EventCubeMelt.UI;
using GameCore;
using UnityEngine;
//- 新版本的BlockAct
public class EventBlockAct :AGameAct
{
private EventCubeMeltManager _thisEventManager;
public override async Task<bool> StartAsync()
{
_thisEventManager = GContext.container.Resolve<EventCubeMeltManager>();
await _thisEventManager.PrepareData();
await ShowUI();
var ret = await base.StartAsync();
GContext.Publish(new EventBlockLoadingFinished());
return ret;
}
private async Task ShowUI()
{
await Awaiters.NextFrame;
ELog($"ShowUI {_thisEventManager.EventCubeMeltMainData.UIPanel}");
var uiPanel = new UIType(_thisEventManager.EventCubeMeltMainData.UIPanel);
await UIManager.Instance.ShowUI(uiPanel);
}
public override async Task StopAsync()
{
UIManager.Instance.DestroyUI(_thisEventManager.EventCubeMeltMainData.CompletePanel);
UIManager.Instance.DestroyUI(_thisEventManager.EventCubeMeltMainData.UIPanel);
await base.StopAsync();
}
protected override void OnDestroy()
{
}
#region LOG
private static void LogWarning(string message)
{
Debug.LogWarning($"<color=yellow>{nameof(EventBlockAct)} => {message}</color>");
}
private static void LogError(string message)
{
Debug.LogError($"<color=red>{nameof(EventBlockAct)} => {message}</color>");
}
private static void ELog(string message)
{
#if UNITY_EDITOR
if (!EventCubeMeltLogPolicy.EnableELog) return;
Debug.Log($"<color=orange>{nameof(EventBlockAct)} => {message}</color>");
#endif
}
#endregion
}