private void Awake() { m_Movement = GetComponent <ServerCharacterMovement>(); NetState = GetComponent <NetworkCharacterState>(); m_ActionPlayer = new ActionPlayer(this); if (IsNpc) { m_AIBrain = new AIBrain(this, m_ActionPlayer); } }
public AIBrain(ServerCharacter me, ActionPlayer myActionPlayer) { m_ServerCharacter = me; m_ActionPlayer = myActionPlayer; m_Logics = new Dictionary <AIStateType, AIState> { [AIStateType.IDLE] = new IdleAIState(this), //[ AIStateType.WANDER ] = new WanderAIState(this), // not written yet [AIStateType.ATTACK] = new AttackAIState(this, m_ActionPlayer), }; m_HatedEnemies = new List <ServerCharacter>(); m_CurrentState = AIStateType.IDLE; }
public AttackAIState(AIBrain brain, ActionPlayer actionPlayer) { m_Brain = brain; m_ActionPlayer = actionPlayer; }