TH1/Unity/Assets/Scripts/TH1_UI/Controller/Outside/UIOutsideLoadingController.cs
2026-05-14 17:25:29 +08:00

86 lines
2.4 KiB
C#

// 文件位置建议: Assets/Scripts/TH1_UI/Controller/UIAnnounceMajorEventController.cs
using Logic;
using Logic.Action;
using TH1_Core.Events;
using TH1_Core.Managers;
using TH1_Logic.Action;
using TH1_Logic.Core;
using TH1_UI.Controller.Base;
using TH1_UI.View.Interaction;
using TH1_UI.View.Outside;
using UnityEngine;
// 确保这里引用了View脚本的命名空间
namespace TH1_UI.Controller.Interaction
{
/// <summary>
/// 重大事件公告界面的控制器。
/// 它的职责是处理玩家相遇、玩家被消灭之类的宣告
/// </summary>
public class UIOutsideLoadingController : ViewController<UIOutsideLoadingView> // 泛型参数是对应的View脚本
{
public UIOutsideLoadingController() { }
private ShowUIOutsideLoading _evtShow;
private HideUIOutsideLoading _evtHide;
protected override void RegisterEventCallback()
{
base.RegisterEventCallback();
if (WindowScript != null)
{
//WindowScript.OnBtnCloseClick += _OnBtnCloseClick;
//WindowScript.OnStartGame += _OnStartGameClick;
}
}
public override void UpdateView()
{
if (WindowScript != null)
{
//Debug.Log("Update View Success!!!!");
}
base.UpdateView();
}
protected override void UnregisterEventCallback()
{
if (WindowScript != null)
{
WindowScript.OnBtnCloseClick = null;
}
base.UnregisterEventCallback();
}
protected override void OnOpen()
{
base.OnOpen();
//参数带 Empire 时切换加载图;没带就保持 prefab 上的默认 LoadingPic
if (WindowScript == null) return;
if (_openParameter is ShowUIOutsideLoading evt && evt.Empire.HasValue)
{
_evtShow = evt;
WindowScript.SetEmpire(evt.Empire.Value);
}
else
{
WindowScript.ResetLoadingPic();
}
}
void _OnBtnCloseClick()
{
Close();
}
public override bool Close()
{
//WindowScript?.OnCloseView();
return base.Close();
}
}
}