private void Awake() { StateMachine = new PlayerStateMachine(); IdleState = new PlayerIdleState(this, StateMachine, playerData); MoveState = new PlayerMoveState(this, StateMachine, playerData); DieState = new PlayerDieState(this, StateMachine, playerData); }
public void InitFSM() { CachEntityAnimation(); m_FSMSystem = new FSMSystem(this, AllowStateChange); m_FSMSystem.OnPerformTransition += this.OnPlayerStateChangedHandle; PlayerIdleState idleState = new PlayerIdleState(); m_FSMSystem.AddState(idleState); PlayerRunState runState = new PlayerRunState(); m_FSMSystem.AddState(runState); PlayerBeAttackedState beAttackedState = new PlayerBeAttackedState(); m_FSMSystem.AddState(beAttackedState); PlayerNormalSkillFireState normalSkillFireState = new PlayerNormalSkillFireState(); m_FSMSystem.AddState(normalSkillFireState); PlayerInitiativeSkillFireState initiativeSkillFireState = new PlayerInitiativeSkillFireState(); m_FSMSystem.AddState(initiativeSkillFireState); InitiativeSkillSelectedState initiativeSkillSelectState = new InitiativeSkillSelectedState(); m_FSMSystem.AddState(initiativeSkillSelectState); m_initiativeSkillSelectedState = initiativeSkillSelectState; PlayerFindPathState findPathState = new PlayerFindPathState(); m_FSMSystem.AddState(findPathState); PlayerDieState playerDieState = new PlayerDieState(); m_FSMSystem.AddState(playerDieState); m_FSMSystem.AddState(new PlayerBeAdsorbState()); m_FSMSystem.AddState(new PlayerScrollSkillFireState()); m_FSMSystem.AddState(new PlayerBeHitFlyState()); m_FSMSystem.AddState(new PlayerStandState()); m_FSMSystem.AddState(new PlayerCastAbilityState()); m_FSMSystem.PerformTransition(Transition.PlayerToIdle); }