예제 #1
0
 protected void Awake()
 {
     this._myTransform = base.transform;
     this._takeDamage  = base.GetComponent <TakeDamage>();
     this._wildMove    = base.GetComponent <BaseAIMovement>();
     this._interp      = base.GetComponent <TransformInterpolator>();
     UnityEngine.Object.Destroy(base.GetComponent <BasicWildLifeMovement>());
     UnityEngine.Object.Destroy(base.GetComponent <VisNode>());
     this._takeDamage.enabled = false;
 }
예제 #2
0
        private void IOnAIMovement(BasicWildLifeAI ai, BaseAIMovement movement)
        {
            var nmMovement = movement as NavMeshMovement;
            if (!nmMovement) return;

            if (nmMovement._agent.pathStatus == NavMeshPathStatus.PathInvalid && ai.GetComponent<TakeDamage>().alive)
            {
                TakeDamage.KillSelf(ai.GetComponent<IDBase>());
                Interface.Oxide.LogInfo($"{ai} was destroyed for having an invalid NavMeshPath");
            }
        }
예제 #3
0
        public static void AnimalMovement(BaseAIMovement m, BasicWildLifeAI ai, ulong simMillis)
        {
            var movement = m as NavMeshMovement;

            if (!movement)
            {
                return;
            }

            bool IsAlive = ai.GetComponent <TakeDamage>().alive;

            if (movement._agent.pathStatus == NavMeshPathStatus.PathInvalid && IsAlive)
            {
                TakeDamage.KillSelf(ai.GetComponent <IDBase>());
                Logger.LogDebug("[NavMesh] AI destroyed for having invalid path.");
            }
        }
예제 #4
0
        private void IOnAIMovement(BasicWildLifeAI ai, BaseAIMovement movement)
        {
            var nmMovement = movement as NavMeshMovement;
            if (!nmMovement) return;

            if (nmMovement._agent.pathStatus == NavMeshPathStatus.PathInvalid && ai.GetComponent<TakeDamage>().alive)
            {
                TakeDamage.KillSelf(ai.GetComponent<IDBase>());
                Interface.Oxide.LogInfo($"{ai} was destroyed for having an invalid NavMeshPath");
            }
        }
예제 #5
0
 protected void Awake()
 {
     this._myTransform = base.transform;
     this._takeDamage = base.GetComponent<TakeDamage>();
     this._wildMove = base.GetComponent<BaseAIMovement>();
     this._interp = base.GetComponent<TransformInterpolator>();
     UnityEngine.Object.Destroy(base.GetComponent<BasicWildLifeMovement>());
     UnityEngine.Object.Destroy(base.GetComponent<VisNode>());
     this._takeDamage.enabled = false;
 }