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

128 lines
3.7 KiB
C#

using BingoBrain.Core;
using BingoBrain.HotFix;
namespace BingoBrain
{
public class BingoStartUICtrl : BaseUICtrl
{
private BingoStartUI ui;
private BingoStartModel model;
private uint openUIMsg = SkinInfo.BingoStartUI_Open;
private uint closeUIMsg = SkinInfo.BingoStartUI_Close;
#region
protected override void OnInit()
{
model = ModuleBoardk.GetModel(ModelConst.BingoStartModel) as BingoStartModel;
}
protected override void OnDispose()
{
}
public override void OpenUI(object args = null)
{
if (ui == null)
{
ui = new BingoStartUI(this);
ui.Open(args);
}
else
{
ui.Display(args);
}
}
public override void CloseUI(object args = null)
{
if (ui != null && !ui.isClose)
{
ui.Hide();
}
}
#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.Update101, OnUpdate101);
GameDispatcher.Instance.AddListener(BingoInfo.Update102, OnUpdate102);
GameDispatcher.Instance.AddListener(BingoInfo.Update101Completed, OnUpdate101Completed);
GameDispatcher.Instance.AddListener(BingoInfo.Update102Completed, OnUpdate102Completed);
}
protected override void RemoveListener()
{
uiCtrlDispatcher.RemoveListener(openUIMsg, OpenUI);
uiCtrlDispatcher.RemoveListener(closeUIMsg, CloseUI);
GameDispatcher.Instance.RemoveListener(BingoInfo.Update101, OnUpdate101);
GameDispatcher.Instance.RemoveListener(BingoInfo.Update102, OnUpdate102);
GameDispatcher.Instance.RemoveListener(BingoInfo.Update101Completed, OnUpdate101Completed);
GameDispatcher.Instance.RemoveListener(BingoInfo.Update102Completed, OnUpdate102Completed);
}
#endregion
private void OnUpdate101(object obj)
{
if (obj == null) return;
var changeValue = (decimal)obj;
if (model != null)
{
model.show101 += changeValue;
ui?.Set101(model.show101.ToString("N0"));
}
}
private void OnUpdate101Completed(object obj)
{
if (PreferencesMgr.Instance.IsShowRewardFly101) return;
var value = PreferencesMgr.Instance.Currency101;
if (model != null)
{
model.show101 = value;
}
ui?.Set101();
}
private void OnUpdate102(object obj)
{
if (obj == null) return;
var changeValue = (decimal)obj;
if (model != null)
{
model.show102 += changeValue;
ui?.Set102(model.show102.ToString("N"));
}
}
private void OnUpdate102Completed(object obj)
{
if (PreferencesMgr.Instance.IsShowRewardFly102) return;
var value = PreferencesMgr.Instance.Currency102;
if (model != null)
{
model.show102 = value;
}
ui?.Set102();
}
}
}