コード例 #1
0
        private void Awake()
        {
            m_Movement = GetComponent <ServerCharacterMovement>();

            NetState       = GetComponent <NetworkCharacterState>();
            m_ActionPlayer = new ActionPlayer(this);
            if (IsNpc)
            {
                m_AIBrain = new AIBrain(this, m_ActionPlayer);
            }
        }
コード例 #2
0
        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;
        }
コード例 #3
0
 public AttackAIState(AIBrain brain, ActionPlayer actionPlayer)
 {
     m_Brain        = brain;
     m_ActionPlayer = actionPlayer;
 }