86 lines
2.4 KiB
C#
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();
|
|
}
|
|
}
|
|
} |