Exemple #1
0
        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*/;
            }
        }
Exemple #2
0
        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*/;
        }
Exemple #4
0
        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()*/;
        }
Exemple #5
0
        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()*/;
        }