Exemple #1
0
        public static void TickStatic(IHTNAgent npc)
        {
            npc.AiDomain.NpcContext.EnemyPlayersInLineOfSight.Clear();
            List <NpcPlayerInfo> enemyPlayersInRange = npc.AiDomain.NpcContext.EnemyPlayersInRange;

            for (int index = 0; index < enemyPlayersInRange.Count; ++index)
            {
                NpcPlayerInfo info = enemyPlayersInRange[index];
                if (Object.op_Equality((Object)info.Player, (Object)null) || Object.op_Equality((Object)((Component)info.Player).get_transform(), (Object)null) || (info.Player.IsDestroyed || info.Player.IsDead()))
                {
                    enemyPlayersInRange.RemoveAt(index);
                    --index;
                }
                else
                {
                    BearEnemyPlayersLineOfSightSensor.TickLineOfSightTest(npc, ref info);
                }
            }
        }
Exemple #2
0
        public static void TickStatic(IHTNAgent npc)
        {
            npc.AiDomain.NpcContext.EnemyPlayersInLineOfSight.Clear();
            List <NpcPlayerInfo> enemyPlayersInRange = npc.AiDomain.NpcContext.EnemyPlayersInRange;

            for (int i = 0; i < enemyPlayersInRange.Count; i++)
            {
                NpcPlayerInfo item = enemyPlayersInRange[i];
                if (item.Player == null || item.Player.transform == null || item.Player.IsDestroyed || item.Player.IsDead())
                {
                    enemyPlayersInRange.RemoveAt(i);
                    i--;
                }
                else
                {
                    BearEnemyPlayersLineOfSightSensor.TickLineOfSightTest(npc, ref item);
                }
            }
        }