public void InitFSM() { CachEntityAnimation(); m_FSMSystem = new FSMSystem(this); MonsterMoveState moveState = new MonsterMoveState(); m_FSMSystem.AddState(moveState); MonsterIdleState idleState = new MonsterIdleState(); m_FSMSystem.AddState(idleState); m_MonsterAttackState = new MonsterAttackState(); m_FSMSystem.AddState(m_MonsterAttackState); m_MonsterBeAttackState = new MonsterBeAttackState(); m_FSMSystem.AddState(m_MonsterBeAttackState); MonsterDieState dieState = new MonsterDieState(); m_FSMSystem.AddState(dieState); MonsterStandState standState = new MonsterStandState(); m_FSMSystem.AddState(standState); m_MonsterBeHitFlyState = new MonsterBeHitFlyState(); m_FSMSystem.AddState(m_MonsterBeHitFlyState); MonsterBeAdsorbState monsterBeAdsorbState = new MonsterBeAdsorbState(); m_FSMSystem.AddState(monsterBeAdsorbState); m_FSMSystem.AddState(new MonsterBeHordeState()); m_FSMSystem.PerformTransition(Transition.MonsterToIdle); }
override public void InitState() { base.InitState(); { State state = new MonsterIdleState(); state.Init(this); _stateMap[eStateType.IDLE] = state; } _state = _stateMap[eStateType.IDLE]; }