/// <summary> /// 状态机初始化 /// </summary> private void ConstructFSM() { if (this is EntityMonster) { fsm.AddFSMState(FSMStateType.Patroling, new PatrolBase(this)); fsm.AddFSMState(FSMStateType.Chasing, new ChaseBase(this)); fsm.AddFSMState(FSMStateType.Attacking, new AttackBase(this)); fsm.AddFSMState(FSMStateType.Dead, new DeadBase(this)); fsm.AddFSMState(FSMStateType.Hit, new StateHit(this)); fsm.AddFSMState(FSMStateType.Idle, new StateIdle(this)); } else if (this is EntityMyself) { fsm.AddFSMState(FSMStateType.Idle, new StateIdle(this)); fsm.AddFSMState(FSMStateType.Hit, new StateHit(this)); fsm.AddFSMState(FSMStateType.Dead, new DeadBase(this)); } }