public override FloatMenuAcceptanceReport StillValid(IEnumerable <IThingHolder> pods, int destinationTile) { FloatMenuAcceptanceReport floatMenuAcceptanceReport = base.StillValid(pods, destinationTile); if (!floatMenuAcceptanceReport) { return(floatMenuAcceptanceReport); } if (this.settlement != null && this.settlement.Tile != destinationTile) { return(false); } return(TransportPodsArrivalAction_AttackSettlement.CanAttack(pods, this.settlement)); }
public override IEnumerable <FloatMenuOption> GetTransportPodsFloatMenuOptions(IEnumerable <IThingHolder> pods, CompLaunchable representative) { using (IEnumerator <FloatMenuOption> enumerator = base.GetTransportPodsFloatMenuOptions(pods, representative).GetEnumerator()) { if (enumerator.MoveNext()) { FloatMenuOption o = enumerator.Current; yield return(o); /*Error: Unable to find new state assignment for yield return*/; } } using (IEnumerator <FloatMenuOption> enumerator2 = TransportPodsArrivalAction_VisitSettlement.GetFloatMenuOptions(representative, pods, this).GetEnumerator()) { if (enumerator2.MoveNext()) { FloatMenuOption f3 = enumerator2.Current; yield return(f3); /*Error: Unable to find new state assignment for yield return*/; } } using (IEnumerator <FloatMenuOption> enumerator3 = TransportPodsArrivalAction_GiveGift.GetFloatMenuOptions(representative, pods, this).GetEnumerator()) { if (enumerator3.MoveNext()) { FloatMenuOption f2 = enumerator3.Current; yield return(f2); /*Error: Unable to find new state assignment for yield return*/; } } using (IEnumerator <FloatMenuOption> enumerator4 = TransportPodsArrivalAction_AttackSettlement.GetFloatMenuOptions(representative, pods, this).GetEnumerator()) { if (enumerator4.MoveNext()) { FloatMenuOption f = enumerator4.Current; yield return(f); /*Error: Unable to find new state assignment for yield return*/; } } yield break; IL_029c: /*Error near IL_029d: Unexpected return in MoveNext()*/; }
public override IEnumerable <FloatMenuOption> GetTransportPodsFloatMenuOptions(IEnumerable <IThingHolder> pods, CompLaunchable representative) { foreach (FloatMenuOption o in base.GetTransportPodsFloatMenuOptions(pods, representative)) { yield return(o); } foreach (FloatMenuOption f in TransportPodsArrivalAction_VisitSettlement.GetFloatMenuOptions(representative, pods, this)) { yield return(f); } foreach (FloatMenuOption f2 in TransportPodsArrivalAction_GiveGift.GetFloatMenuOptions(representative, pods, this)) { yield return(f2); } foreach (FloatMenuOption f3 in TransportPodsArrivalAction_AttackSettlement.GetFloatMenuOptions(representative, pods, this)) { yield return(f3); } }
public override IEnumerable <FloatMenuOption> GetTransportPodsFloatMenuOptions(IEnumerable <IThingHolder> pods, CompLaunchable representative) { foreach (FloatMenuOption transportPodsFloatMenuOption in base.GetTransportPodsFloatMenuOptions(pods, representative)) { yield return(transportPodsFloatMenuOption); } foreach (FloatMenuOption floatMenuOption in TransportPodsArrivalAction_VisitSettlement.GetFloatMenuOptions(representative, pods, this)) { yield return(floatMenuOption); } foreach (FloatMenuOption floatMenuOption2 in TransportPodsArrivalAction_GiveGift.GetFloatMenuOptions(representative, pods, this)) { yield return(floatMenuOption2); } if (base.HasMap) { yield break; } foreach (FloatMenuOption floatMenuOption3 in TransportPodsArrivalAction_AttackSettlement.GetFloatMenuOptions(representative, pods, this)) { yield return(floatMenuOption3); } }
public bool MoveNext() { uint num = (uint)this.$PC; this.$PC = -1; bool flag = false; switch (num) { case 0u: enumerator = TransportPodsArrivalActionUtility.GetFloatMenuOptions <TransportPodsArrivalAction_AttackSettlement>(() => TransportPodsArrivalAction_AttackSettlement.CanAttack(pods, settlement), () => new TransportPodsArrivalAction_AttackSettlement(settlement, PawnsArrivalModeDefOf.EdgeDrop), "AttackAndDropAtEdge".Translate(new object[] { settlement.Label }), representative, settlement.Tile).GetEnumerator(); num = 4294967293u; break; case 1u: break; case 2u: goto IL_1A9; default: return(false); } try { switch (num) { } if (enumerator.MoveNext()) { f = enumerator.Current; this.$current = f; if (!this.$disposing) { this.$PC = 1; } flag = true; return(true); } } finally { if (!flag) { if (enumerator != null) { enumerator.Dispose(); } } } enumerator2 = TransportPodsArrivalActionUtility.GetFloatMenuOptions <TransportPodsArrivalAction_AttackSettlement>(() => TransportPodsArrivalAction_AttackSettlement.CanAttack(< GetFloatMenuOptions > c__AnonStorey.pods, <GetFloatMenuOptions> c__AnonStorey.settlement), () => new TransportPodsArrivalAction_AttackSettlement(< GetFloatMenuOptions > c__AnonStorey.settlement, PawnsArrivalModeDefOf.CenterDrop), "AttackAndDropInCenter".Translate(new object[] {
public static IEnumerable <FloatMenuOption> GetFloatMenuOptions(CompLaunchable representative, IEnumerable <IThingHolder> pods, SettlementBase settlement) { foreach (FloatMenuOption f in TransportPodsArrivalActionUtility.GetFloatMenuOptions <TransportPodsArrivalAction_AttackSettlement>(() => TransportPodsArrivalAction_AttackSettlement.CanAttack(pods, settlement), () => new TransportPodsArrivalAction_AttackSettlement(settlement, PawnsArrivalModeDefOf.EdgeDrop), "AttackAndDropAtEdge".Translate(new object[] { settlement.Label }), representative, settlement.Tile)) { yield return(f); } foreach (FloatMenuOption f2 in TransportPodsArrivalActionUtility.GetFloatMenuOptions <TransportPodsArrivalAction_AttackSettlement>(() => TransportPodsArrivalAction_AttackSettlement.CanAttack(pods, settlement), () => new TransportPodsArrivalAction_AttackSettlement(settlement, PawnsArrivalModeDefOf.CenterDrop), "AttackAndDropInCenter".Translate(new object[] { settlement.Label }), representative, settlement.Tile)) { yield return(f2); } yield break; }
public override IEnumerable <FloatMenuOption> GetShuttleFloatMenuOptions(IEnumerable <IThingHolder> pods, Action <int, TransportPodsArrivalAction> launchAction) { foreach (FloatMenuOption shuttleFloatMenuOption in base.GetShuttleFloatMenuOptions(pods, launchAction)) { yield return(shuttleFloatMenuOption); } if ((bool)TransportPodsArrivalAction_GiveGift.CanGiveGiftTo(pods, this)) { yield return(new FloatMenuOption("GiveGiftViaTransportPods".Translate(base.Faction.Name, FactionGiftUtility.GetGoodwillChange(pods, this).ToStringWithSign()), delegate { TradeRequestComp tradeReqComp = GetComponent <TradeRequestComp>(); if (tradeReqComp.ActiveRequest && pods.Any((IThingHolder p) => p.GetDirectlyHeldThings().Contains(tradeReqComp.requestThingDef))) { Find.WindowStack.Add(new Dialog_MessageBox("GiveGiftViaTransportPodsTradeRequestWarning".Translate(), "Yes".Translate(), delegate { launchAction(base.Tile, new TransportPodsArrivalAction_GiveGift(this)); }, "No".Translate())); } else { launchAction(base.Tile, new TransportPodsArrivalAction_GiveGift(this)); } })); } if (base.HasMap) { yield break; } foreach (FloatMenuOption floatMenuOption in TransportPodsArrivalActionUtility.GetFloatMenuOptions(() => TransportPodsArrivalAction_AttackSettlement.CanAttack(pods, this), () => new TransportPodsArrivalAction_Shuttle(this), "AttackShuttle".Translate(Label), launchAction, base.Tile)) { yield return(floatMenuOption); } }