2026-04-27 11:20:13 +08:00
|
|
|
namespace RedHotRoast
|
2026-04-22 09:52:55 +08:00
|
|
|
{
|
|
|
|
|
public class WindowSystem : BaseSystem
|
|
|
|
|
{
|
|
|
|
|
public WindowSystem(bool isAutoInit = true)
|
|
|
|
|
{
|
|
|
|
|
if (isAutoInit)
|
|
|
|
|
{
|
|
|
|
|
Init();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TaskSequence startGameSequence = new TaskSequence();
|
|
|
|
|
TaskSequence backMainSequence = new TaskSequence();
|
|
|
|
|
|
|
|
|
|
public sealed override void Init()
|
|
|
|
|
{
|
|
|
|
|
base.Init();
|
|
|
|
|
|
|
|
|
|
AddListener();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void AddListener()
|
|
|
|
|
{
|
|
|
|
|
CtrlDispatcher.Instance.AddOnceListener(CtrlMsg.Game_Start, StartGame);
|
|
|
|
|
GameDispatcher.Instance.AddListener(GameMsg.BackMainScene, BackMain);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void StartGame(object obj)
|
|
|
|
|
{
|
|
|
|
|
startGameSequence.Clear();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (startGameSequence.Count == 0)
|
|
|
|
|
{
|
|
|
|
|
End();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
startGameSequence.Run();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void End()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private bool haveBackMain = false;
|
|
|
|
|
|
|
|
|
|
private void BackMain(object obj)
|
|
|
|
|
{
|
|
|
|
|
if (!true)
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
backMainSequence.Clear();
|
|
|
|
|
haveBackMain = true;
|
|
|
|
|
backMainSequence.Run();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void AddRateUs(TaskSequence backMainSequence)
|
|
|
|
|
{
|
2026-04-22 11:13:16 +08:00
|
|
|
bool isAdd = 5 == DataMgr.GameOfCount.Value;
|
2026-04-22 09:52:55 +08:00
|
|
|
|
|
|
|
|
backMainSequence.Add(isAdd, (procedure) =>
|
|
|
|
|
{
|
|
|
|
|
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.RateUsDialogUI_Open);
|
|
|
|
|
UICtrlDispatcher.Instance.AddOnceListener(UICtrlMsg.RateUsDialogUI_Close,
|
|
|
|
|
(e) => { procedure.InvokeComplete(); });
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|