private void Start() { //Set up state machine Dictionary <EnemyAIStateType, BaseState> stateMachineDictionary = new Dictionary <EnemyAIStateType, BaseState>(); foreach (EnemyAIStateType state in EnemyStates) { stateMachineDictionary.Add(state, StateFactory.CreateBaseState(state, this)); } stateMachine = new EnemyAIStateMachine(stateMachineDictionary); TargetDestination = null; enemyController = GetComponent <Enemy>(); MovementData = (EnemyMovementData)enemyController.GetFiringData(); navMeshAgent = GetComponent <NavMeshAgent>(); //navMeshAgent.updateRotation = false; navMeshAgent.acceleration = MovementData.NavMeshAcceleration; // 8; //enemy navMeshAgent.angularSpeed = MovementData.NavMeshAngularSpeed; //120; // enemy navMeshAgent.speed = MovementData.NavMeshVelocity; //3; // //Events enemyController.UpdateTargetedPlayer += EnemyController_UpdateTargetedPlayer; bulletDetector.AddDangerousBullet += BulletDetector_AddDangerousBullet; }
private void Start() { //Set up state machine Dictionary<StateType, BaseState> stateMachineDictionary = new Dictionary<StateType, BaseState>(); foreach (StateType state in StateTypes) { stateMachineDictionary.Add(state, StateFactory.CreateBaseState(state, this)); } stateMachine = new StateMachine(stateMachineDictionary); //Check for NavMeshAgent NavMeshAgent = GetComponent<NavMeshAgent>(); CanMove = NavMeshAgent != null; if (CanMove) { NavMeshAgent.updateRotation = false; NavMeshAgent.acceleration = enemyMovementData.NavMeshAcceleration; NavMeshAgent.angularSpeed = enemyMovementData.NavMeshAngularSpeed; NavMeshAgent.speed = enemyMovementData.NavMeshVelocity; } }