迁移 Player/ProcedureGame/ShopUseCase 里的实体方法调用风格

- Player/ShopUseCase:调整了 Weapon 实体的打开方式
- ProcedureGame:调整初始化时的 Hud 和 Player 的初始化写法,流程更清楚
This commit is contained in:
SepComet
2026-06-16 17:09:19 +08:00
committed by basil
parent a721670b36
commit 0bab6ecbc5
8 changed files with 107 additions and 118 deletions
@@ -12,7 +12,7 @@ namespace SepCore.Procedure
public override GameStateType GameStateType => GameStateType.LevelUp;
private ProcedureGame _procedureGame;
public bool IsCompleted { get; set; }
#region FSM
@@ -22,22 +22,21 @@ namespace SepCore.Procedure
Log.Debug("GameStateLevelUp::OnInit");
_procedureGame = master;
var useCase = new LevelUpUseCase(_procedureGame.Player, () => IsCompleted = true);
GameEntry.UIRouter.BindUIUseCase(UIFormType.LevelUpForm, useCase);
}
public override void OnEnter(IFsm<IProcedureManager> procedureOwner)
public override void OnEnter()
{
Log.Debug("GameStateLevelUp::OnEnter");
IsCompleted = false;
GameEntry.UIRouter.OpenUIAsync(UIFormType.LevelUpForm).Forget();
}
public override void OnUpdate(IFsm<IProcedureManager> procedureOwner, float elapseSeconds,
float realElapseSeconds)
public override void OnUpdate(float elapseSeconds, float realElapseSeconds)
{
if (IsCompleted)
{
@@ -45,14 +44,14 @@ namespace SepCore.Procedure
}
}
public override void OnLeave(IFsm<IProcedureManager> procedureOwner)
public override void OnLeave()
{
Log.Debug("GameStateLevelUp::OnLeave");
GameEntry.UIRouter.CloseUIAsync(UIFormType.LevelUpForm).Forget();
}
public override void OnDestroy(IFsm<IProcedureManager> procedureOwner)
public override void OnDestroy()
{
_procedureGame = null;
@@ -60,6 +59,5 @@ namespace SepCore.Procedure
}
#endregion
}
}