public static IEnumerable <FloatMenuOption> GetFloatMenuOptions <T>(Func <FloatMenuAcceptanceReport> acceptanceReportGetter, Func <T> arrivalActionGetter, string label, CompLaunchable representative, int destinationTile) where T : TransportPodsArrivalAction { _003CGetFloatMenuOptions_003Ec__Iterator0 <T> _003CGetFloatMenuOptions_003Ec__Iterator = (_003CGetFloatMenuOptions_003Ec__Iterator0 <T>) /*Error near IL_0036: stateMachine*/; FloatMenuAcceptanceReport rep = acceptanceReportGetter(); if (rep.Accepted || !rep.FailReason.NullOrEmpty() || !rep.FailMessage.NullOrEmpty()) { if (rep.FailReason.NullOrEmpty()) { yield return(new FloatMenuOption(label, delegate { FloatMenuAcceptanceReport floatMenuAcceptanceReport = acceptanceReportGetter(); if (floatMenuAcceptanceReport.Accepted) { representative.TryLaunch(destinationTile, arrivalActionGetter()); } else if (!floatMenuAcceptanceReport.FailMessage.NullOrEmpty()) { Messages.Message(floatMenuAcceptanceReport.FailMessage, new GlobalTargetInfo(destinationTile), MessageTypeDefOf.RejectInput, historical: false); } })); /*Error: Unable to find new state assignment for yield return*/; } yield return(new FloatMenuOption(label + " (" + rep.FailReason + ")", null)); /*Error: Unable to find new state assignment for yield return*/; } }
public static IEnumerable <FloatMenuOption> GetFloatMenuOptions <T>(Func <FloatMenuAcceptanceReport> acceptanceReportGetter, Func <T> arrivalActionGetter, string label, Caravan caravan, int pathDestination, WorldObject revalidateWorldClickTarget) where T : CaravanArrivalAction { _003CGetFloatMenuOptions_003Ec__Iterator0 <T> _003CGetFloatMenuOptions_003Ec__Iterator = (_003CGetFloatMenuOptions_003Ec__Iterator0 <T>) /*Error near IL_003a: stateMachine*/; FloatMenuAcceptanceReport rep = acceptanceReportGetter(); if (rep.Accepted || !rep.FailReason.NullOrEmpty() || !rep.FailMessage.NullOrEmpty()) { if (rep.FailReason.NullOrEmpty()) { Action action = delegate { FloatMenuAcceptanceReport floatMenuAcceptanceReport = acceptanceReportGetter(); if (floatMenuAcceptanceReport.Accepted) { caravan.pather.StartPath(pathDestination, arrivalActionGetter(), repathImmediately: true); } else if (!floatMenuAcceptanceReport.FailMessage.NullOrEmpty()) { Messages.Message(floatMenuAcceptanceReport.FailMessage, new GlobalTargetInfo(pathDestination), MessageTypeDefOf.RejectInput, historical: false); } }; yield return(new FloatMenuOption(label, action, MenuOptionPriority.Default, null, null, 0f, null, revalidateWorldClickTarget)); /*Error: Unable to find new state assignment for yield return*/; } yield return(new FloatMenuOption(label + " (" + rep.FailReason + ")", null)); /*Error: Unable to find new state assignment for yield return*/; } }
public IEnumerable <FloatMenuOption> GetFloatMenuOptions(Caravan caravan, Site site) { _003CGetFloatMenuOptions_003Ec__Iterator0 _003CGetFloatMenuOptions_003Ec__Iterator = (_003CGetFloatMenuOptions_003Ec__Iterator0) /*Error near IL_0036: stateMachine*/; if (site.HasMap) { yield break; } string label = (!site.KnownDanger) ? "VisitSite".Translate(site.Label) : "AttackSite".Translate(site.Label); string label2 = label; Action action = delegate { caravan.pather.StartPath(site.Tile, new CaravanArrivalAction_VisitSite(site), true); }; Site revalidateWorldClickTarget = site; yield return(new FloatMenuOption(label2, action, MenuOptionPriority.Default, null, null, 0f, null, revalidateWorldClickTarget)); /*Error: Unable to find new state assignment for yield return*/; }
public override IEnumerable <FloatMenuOption> GetFloatMenuOptions(Pawn myPawn) { _003CGetFloatMenuOptions_003Ec__Iterator0 _003CGetFloatMenuOptions_003Ec__Iterator = (_003CGetFloatMenuOptions_003Ec__Iterator0) /*Error near IL_003c: stateMachine*/; using (IEnumerator <FloatMenuOption> enumerator = this._003CGetFloatMenuOptions_003E__BaseCallProxy0(myPawn).GetEnumerator()) { if (enumerator.MoveNext()) { FloatMenuOption o = enumerator.Current; yield return(o); /*Error: Unable to find new state assignment for yield return*/; } } if (base.innerContainer.Count != 0) { yield break; } if (!myPawn.CanReach(this, PathEndMode.InteractionCell, Danger.Deadly, false, TraverseMode.ByPawn)) { FloatMenuOption failer = new FloatMenuOption("CannotUseNoPath".Translate(), null, MenuOptionPriority.Default, null, null, 0f, null, null); yield return(failer); /*Error: Unable to find new state assignment for yield return*/; } _003CGetFloatMenuOptions_003Ec__Iterator0 _003CGetFloatMenuOptions_003Ec__Iterator2 = (_003CGetFloatMenuOptions_003Ec__Iterator0) /*Error near IL_017a: stateMachine*/; JobDef jobDef = JobDefOf.EnterCryptosleepCasket; string jobStr = "EnterCryptosleepCasket".Translate(); Action jobAction = delegate { Job job = new Job(jobDef, _003CGetFloatMenuOptions_003Ec__Iterator2._0024this); myPawn.jobs.TryTakeOrderedJob(job, JobTag.Misc); }; yield return(FloatMenuUtility.DecoratePrioritizedTask(new FloatMenuOption(jobStr, jobAction, MenuOptionPriority.Default, null, null, 0f, null, null), myPawn, this, "ReservedBy")); /*Error: Unable to find new state assignment for yield return*/; IL_0226: /*Error near IL_0227: Unexpected return in MoveNext()*/; }
public override IEnumerable <FloatMenuOption> GetFloatMenuOptions(Caravan caravan) { _003CGetFloatMenuOptions_003Ec__Iterator0 _003CGetFloatMenuOptions_003Ec__Iterator = (_003CGetFloatMenuOptions_003Ec__Iterator0) /*Error near IL_003c: stateMachine*/; using (IEnumerator <FloatMenuOption> enumerator = this._003CGetFloatMenuOptions_003E__BaseCallProxy0(caravan).GetEnumerator()) { if (enumerator.MoveNext()) { FloatMenuOption o = enumerator.Current; yield return(o); /*Error: Unable to find new state assignment for yield return*/; } } yield return(new FloatMenuOption("VisitPeaceTalks".Translate(this.Label), delegate { caravan.pather.StartPath(_003CGetFloatMenuOptions_003Ec__Iterator._0024this.Tile, new CaravanArrivalAction_VisitPeaceTalks(_003CGetFloatMenuOptions_003Ec__Iterator._0024this), true); }, MenuOptionPriority.Default, null, null, 0f, null, this)); /*Error: Unable to find new state assignment for yield return*/; IL_01c2: /*Error near IL_01c3: Unexpected return in MoveNext()*/; }