public virtual void SetExecutingFsmEnemy(FsmEnemy fsmEnemy) { if (fsmEnemy != null) { _fsmEnemy = fsmEnemy; } }
public void Awake() { _currentState = null; _fsmStates = new Dictionary <FSMStateType, AbstractFSMState>(); NavMeshAgent navMeshAgent = GetComponent <NavMeshAgent>(); FsmEnemy fsmEnemy = GetComponent <FsmEnemy>(); Transform player = GameObject.Find("Player").transform; foreach (AbstractFSMState state in _validStates) { state.SetExecutingFSM(this); state.SetExecutingFsmEnemy(fsmEnemy); state.SetNavMeshAgent(navMeshAgent); state.SetExecutingPlayer(player); _fsmStates.Add(state.StateType, state); } }