Ejemplo n.º 1
0
        protected override void Initialized()
        {
            GunClass[] guns = GetComponentsInChildren <GunClass>();
            foreach (GunClass item in guns)
            {
                m_Guns.Add(item);
            }

            m_CurrentlyActiveGun = m_Guns[Random.Range(0, m_Guns.Count)];

            float sqrRange = m_AIGunnerField.AttackbyGunRange * m_AIGunnerField.AttackbyGunRange;

            m_unwareAIState  = new AIUnwareState <AIManager>(this, sqrRange);
            m_patrolAIState  = new AIPatrolState <AIManager>(this, sqrRange);
            m_chaseAIState   = new AIChaseState <AIManager>(this, sqrRange);
            m_searchAIState  = new AISearchState <AIManager>(this, sqrRange);
            m_coverAIState   = new AICoverState <AIManager>(this);
            m_gunFireAIState = new AIGunFireState(this);

            if (m_unwareAIState == null || m_patrolAIState == null ||
                m_chaseAIState == null || m_searchAIState == null ||
                m_gunFireAIState == null)
            {
                Debug.LogError("AI State is null");
            }

            base.Initialized();
        }
Ejemplo n.º 2
0
        protected override void Initialized()
        {
            m_GiveHitColliders = GetComponentsInChildren <GiveHitCollider>();

            float sqrRange = m_AIBoxerField.AttackRange * m_AIBoxerField.AttackRange;

            m_unwareAIState = new AIUnwareState <AIManager>(this, sqrRange);
            m_patrolAIState = new AIPatrolState <AIManager>(this, sqrRange);
            m_chaseAIState  = new AIChaseState <AIManager>(this, sqrRange);
            m_searchAIState = new AISearchState <AIManager>(this, sqrRange);
            m_coverAIState  = new AICoverState <AIManager>(this);

            float sqrKickDist  = m_AIBoxerField.KickRange * m_AIBoxerField.KickRange;
            float sqrPunchDist = m_AIBoxerField.PunchRange * m_AIBoxerField.PunchRange;

            m_boxingAIState = new AIBoxingState(this, m_charRadius, sqrRange, sqrKickDist, sqrPunchDist);

            DisableGiveHitCollider(HitColliderType.LeftAnkle);
            base.Initialized();
        }