public void StopStateMechine(BattleResult result) { //清理所有格子 BattleboxHelper.Instance.ClearAllBlocks(); //相机照射主角 CameraHelper.Instance.ChangeFollow(GameRuntimeData.Instance.Player.View.transform); //Jyx2_UIManager.Instance.HideUI("BattleActionOrderPanel"); IBattleState curState = GetState(m_currentState); if (curState != null) { curState.OnLeaveState(); } if (m_roleFocusRing != null) { Jyx2ResourceHelper.ReleasePrefabInstance(m_roleFocusRing); m_roleFocusRing = null; } m_currentState = BattleManager.BattleViewStates.None; CurrentRole = null; m_callback?.Invoke(result); }
public void SwitchState(BattleManager.BattleViewStates toState) { if (toState == m_currentState) { IBattleState temp = GetState(toState); temp.RefreshState();//说明是刷新状态 return; } IBattleState toObj = GetState(toState); if (toObj == null) { Debug.LogError("不存在状态" + toState.ToString() + ",无法完成转换"); return; } IBattleState curState = GetState(m_currentState); if (curState != null) { curState.OnLeaveState(); } m_currentState = toState; toObj.OnEnterState(); }