Пример #1
0
        protected void LookAtEnemy()
        {
            if (m_Target == null || m_Target.IsDead || !IsEnemy(m_Target) || m_Target.CheckActorState(ActorStateType.IsStealth))
            {
                m_Target = null;
            }

            ActorBase enemy = GetNearestEnemy(m_ActorAI.WaringDist);

            this.SetTarget(enemy);
            if (m_Target != null)
            {
                CachedTransform.LookAt(new Vector3(m_Target.Pos.x, Pos.y, m_Target.Pos.z));
            }
        }
Пример #2
0
        public void Step()
        {
            if (m_NavMeshAgent.enabled == false)
            {
                return;
            }
            if (!m_Owner.CheckActorState(ActorStateType.IsAutoToMove))
            {
                return;
            }
            if (!CheckReached())
            {
                return;
            }

            m_Owner.OnArrive();
            m_OnFinished?.Invoke();
            m_OnFinished = null;
        }