// 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); }