Files
BingoGrassland/Assets/BingoBrain/ModuleUI/Baspt/BasptUICtrl.cs
T
2026-04-20 13:49:36 +08:00

79 lines
1.9 KiB
C#

using BingoBrain.Core;
using BingoBrain.HotFix;
namespace BingoBrain
{
public class BasptUICtrl : BaseUICtrl
{
private BasptUI ui;
private BasptModel model;
private uint openUIMsg = SkinInfo.BasptUI_Open;
private uint closeUIMsg = SkinInfo.BasptUI_Close;
#region
protected override void OnInit()
{
model = ModuleBoardk.GetModel(ModelConst.BasptModel) as BasptModel;
}
protected override void OnDispose()
{
}
public override void OpenUI(object args = null)
{
if (ui == null)
{
ui = new BasptUI(this);
ui.Open(args);
}
}
public override void CloseUI(object args = null)
{
if (ui != null && !ui.isClose)
{
ui.Close();
}
ui = null;
}
#endregion
#region
public override uint GetOpenUIMsg(string uiName)
{
return openUIMsg;
}
public override uint GetCloseUIMsg(string uiName)
{
return closeUIMsg;
}
protected override void AddListener()
{
uiCtrlDispatcher.AddListener(openUIMsg, OpenUI);
uiCtrlDispatcher.AddListener(closeUIMsg, CloseUI);
GameDispatcher.Instance.AddListener(BingoInfo.UpdateTodoView, OnUpdateTodoView);
}
protected override void RemoveListener()
{
uiCtrlDispatcher.RemoveListener(openUIMsg, OpenUI);
uiCtrlDispatcher.RemoveListener(closeUIMsg, CloseUI);
GameDispatcher.Instance.RemoveListener(BingoInfo.UpdateTodoView, OnUpdateTodoView);
}
#endregion
private void OnUpdateTodoView(object protoMsg)
{
ui?.OnRefreshView();
}
}
}