// Token: 0x06003F23 RID: 16163 RVA: 0x001D9638 File Offset: 0x001D7A38
        public static void DebugDrawAttackTargetScores_Update()
        {
            IAttackTargetSearcher attackTargetSearcher = Find.Selector.SingleSelectedThing as IAttackTargetSearcher;

            if (attackTargetSearcher == null)
            {
                return;
            }
            if (attackTargetSearcher.Thing.Map != Find.CurrentMap)
            {
                return;
            }
            Verb currentEffectiveVerb = attackTargetSearcher.CurrentEffectiveVerb;

            if (currentEffectiveVerb == null)
            {
                return;
            }
            XenomorphTargetFinder.tmpTargets.Clear();
            List <Thing> list = attackTargetSearcher.Thing.Map.listerThings.ThingsInGroup(ThingRequestGroup.AttackTarget);

            for (int i = 0; i < list.Count; i++)
            {
                XenomorphTargetFinder.tmpTargets.Add((IAttackTarget)list[i]);
            }
            List <Pair <IAttackTarget, float> > availableShootingTargetsByScore = XenomorphTargetFinder.GetAvailableShootingTargetsByScore(XenomorphTargetFinder.tmpTargets, attackTargetSearcher, currentEffectiveVerb);

            for (int j = 0; j < availableShootingTargetsByScore.Count; j++)
            {
                GenDraw.DrawLineBetween(attackTargetSearcher.Thing.DrawPos, availableShootingTargetsByScore[j].First.Thing.DrawPos);
            }
        }
        // Token: 0x06003F1C RID: 16156 RVA: 0x001D8D50 File Offset: 0x001D7150
        private static IAttackTarget GetRandomShootingTargetByScore(List <IAttackTarget> targets, IAttackTargetSearcher searcher, Verb verb)
        {
            Pair <IAttackTarget, float> pair;

            if (XenomorphTargetFinder.GetAvailableShootingTargetsByScore(targets, searcher, verb).TryRandomElementByWeight((Pair <IAttackTarget, float> x) => x.Second, out pair))
            {
                return(pair.First);
            }
            return(null);
        }