private float CheapestSapperCost(Faction faction) { IEnumerable <PawnGroupMaker> enumerable = this.PawnGenOptionsWithSappers(faction); if (!enumerable.Any <PawnGroupMaker>()) { Log.Error(string.Concat(new string[] { "Tried to get MinimumPoints for ", base.GetType().ToString(), " for faction ", faction.ToString(), " but the faction has no groups with sappers." })); return(99999f); } float num = 9999999f; foreach (PawnGroupMaker current in enumerable) { foreach (PawnGenOption current2 in from op in current.options where RaidStrategyWorker_ImmediateAttackSappers.CanBeSapper(op.kind) select op) { if (current2.Cost < num) { num = current2.Cost; } } } return(num); }
private float CheapestSapperCost(Faction faction) { IEnumerable <PawnGroupMaker> enumerable = this.PawnGenOptionsWithSappers(faction); if (!enumerable.Any()) { Log.Error("Tried to get MinimumPoints for " + base.GetType().ToString() + " for faction " + faction.ToString() + " but the faction has no groups with sappers."); return(99999f); } float num = 9999999f; foreach (PawnGroupMaker item in enumerable) { foreach (PawnGenOption item2 in from op in item.options where RaidStrategyWorker_ImmediateAttackSappers.CanBeSapper(op.kind) select op) { if (item2.Cost < num) { num = item2.Cost; } } } return(num); }
public override bool CanUsePawnGenOption(PawnGenOption opt, List <PawnGenOption> chosenOpts) { if (chosenOpts.Count == 0 && (opt.kind.weaponTags.Count != 1 || !RaidStrategyWorker_ImmediateAttackSappers.CanBeSapper(opt.kind))) { return(false); } return(true); }
private IEnumerable <PawnGroupMaker> PawnGenOptionsWithSappers(Faction faction) { return(faction.def.pawnGroupMakers.Where(delegate(PawnGroupMaker gm) { bool arg_3B_0; if (gm.kindDef == PawnGroupKindDefOf.Normal) { arg_3B_0 = gm.options.Any((PawnGenOption op) => RaidStrategyWorker_ImmediateAttackSappers.CanBeSapper(op.kind)); } else { arg_3B_0 = false; } return arg_3B_0; })); }
public override bool CanUsePawnGenOption(PawnGenOption opt, List <PawnGenOption> chosenOpts) { return(chosenOpts.Count != 0 || (opt.kind.weaponTags.Count == 1 && RaidStrategyWorker_ImmediateAttackSappers.CanBeSapper(opt.kind))); }
private IEnumerable <PawnGroupMaker> PawnGenOptionsWithSappers(Faction faction) { return(from gm in faction.def.pawnGroupMakers where gm.kindDef == PawnGroupKindDefOf.Normal && gm.options.Any((PawnGenOption op) => RaidStrategyWorker_ImmediateAttackSappers.CanBeSapper(op.kind)) select gm); }