Exemple #1
0
        public virtual void DoWander()
        {
            if (m_creature.agent.velocity.magnitude <= 0)
            {
                var direction = new Vector3(m_creature.transform.position.x + 1 * Random.Range(-10f, 10f),
                                            m_creature.transform.position.y, m_creature.transform.position.z + 1 * Random.Range(-10f, 10f));
                m_creature.agent.SetDestination(direction);
            }

            if (behavior == EAI_Behavior.BEHAVIOR_AGRESSIVE && state == EAI_State.STATE_WANDER)
            {
                var actor = m_creature.GetActorInRange(10, EGameActorType.TYPE_PLAYER);
                if (actor != null && m_creature.CanSee(actor))
                {
                    m_target = actor;
                    state    = EAI_State.STATE_COMBAT;
                }
            }
        }