修复状态机

This commit is contained in:
Bob.Song
2026-03-10 17:17:29 +08:00
parent d17d13d7e7
commit 5de02db271
3 changed files with 8 additions and 2 deletions

View File

@@ -74,6 +74,8 @@ namespace NBF
public void InitPlayer(MapUnitInfo unitInfo) public void InitPlayer(MapUnitInfo unitInfo)
{ {
PreviousState = PlayerState.None;
State = PlayerState.Idle;
AddComponent<PlayerView>(); AddComponent<PlayerView>();
AddComponent<PlayerStateView>(); AddComponent<PlayerStateView>();
if (unitInfo.Id == RoleModel.Instance.Id) if (unitInfo.Id == RoleModel.Instance.Id)

View File

@@ -28,6 +28,8 @@ namespace NBF
{ {
playerStageView.Init(_player); playerStageView.Init(_player);
} }
OnStageChange();
} }
public void Update() public void Update()
@@ -43,7 +45,7 @@ namespace NBF
} }
_currentStateView = _stageViews.GetValueOrDefault(_player.State); _currentStateView = _stageViews.GetValueOrDefault(_player.State);
_currentStateView.Enter(_player.StateParams, _player.PreviousState); _currentStateView?.Enter(_player.StateParams, _player.PreviousState);
} }
} }

View File

@@ -1,4 +1,5 @@
using UnityEngine; using NBC;
using UnityEngine;
namespace NBF namespace NBF
{ {
@@ -30,6 +31,7 @@ namespace NBF
public void Enter(StateEnterParams par = null, PlayerState prevState = PlayerState.None) public void Enter(StateEnterParams par = null, PlayerState prevState = PlayerState.None)
{ {
Log.Info($"进入状态={GetType()}");
Params = par; Params = par;
PreviousState = prevState; PreviousState = prevState;
EnterTime = Time.time; EnterTime = Time.time;