public override void DoAction(Transition trans) { LordToil_DefendPoint lordToil_DefendPoint = (LordToil_DefendPoint)trans.target; Pawn pawn = TraderCaravanUtility.FindTrader(lordToil_DefendPoint.lord); if (pawn != null) { lordToil_DefendPoint.SetDefendPoint(pawn.Position); return; } IEnumerable <Pawn> source = lordToil_DefendPoint.lord.ownedPawns.Where((Pawn x) => x.GetTraderCaravanRole() == TraderCaravanRole.Carrier); if (source.Any()) { lordToil_DefendPoint.SetDefendPoint(source.RandomElement().Position); } else { lordToil_DefendPoint.SetDefendPoint(lordToil_DefendPoint.lord.ownedPawns.RandomElement().Position); } }
public override void DoAction(Transition trans) { LordToil_DefendPoint lordToil_DefendPoint = (LordToil_DefendPoint)trans.target; Pawn pawn = TraderCaravanUtility.FindTrader(lordToil_DefendPoint.lord); if (pawn != null) { lordToil_DefendPoint.SetDefendPoint(pawn.Position); } else { IEnumerable <Pawn> source = from x in lordToil_DefendPoint.lord.ownedPawns where x.GetTraderCaravanRole() == TraderCaravanRole.Carrier select x; if (source.Any <Pawn>()) { lordToil_DefendPoint.SetDefendPoint(source.RandomElement <Pawn>().Position); } else { lordToil_DefendPoint.SetDefendPoint(lordToil_DefendPoint.lord.ownedPawns.RandomElement <Pawn>().Position); } } }
public override void DoAction(Transition trans) { LordToil_DefendPoint lordToil_DefendPoint = (LordToil_DefendPoint)trans.target; lordToil_DefendPoint.SetDefendPoint(lordToil_DefendPoint.lord.ownedPawns.RandomElement <Pawn>().Position); }