Beispiel #1
0
        // Token: 0x0600002B RID: 43 RVA: 0x0000302C File Offset: 0x0000122C
        internal void RefuelJetPack(Pawn pilot, ThingWithComps thing)
        {
            List <FloatMenuOption> list = new List <FloatMenuOption>();
            string text = Translator.Translate("JetPack.JPDoNothing");

            list.Add(new FloatMenuOption(text, delegate()
            {
                this.RefuelJP(pilot, thing, false);
            }, MenuOptionPriority.Default, null, null, 29f, null, null));
            if (this.JPFuelAmount < this.JPFuelMax)
            {
                text = Translator.Translate("JetPack.JPDoRefuel");
                list.Add(new FloatMenuOption(text, delegate()
                {
                    this.RefuelJP(pilot, thing, true);
                }, MenuOptionPriority.Default, null, null, 29f, null, null));
            }
            if (this.JPFuelAmount > 0)
            {
                text = Translator.Translate("JetPack.JPDropFuel");
                list.Add(new FloatMenuOption(text, delegate()
                {
                    this.DropFuelJP(pilot, thing);
                }, MenuOptionPriority.Default, null, null, 29f, null, null));
            }
            List <string> fuels = JPUtility.ListFuelTypes(this.def);

            if (fuels.Count > 0)
            {
                for (int i = 0; i < fuels.Count; i++)
                {
                    ThingDef fuelref = DefDatabase <ThingDef> .GetNamed(fuels[i], true);

                    if (fuelref != (thing as JetPackApparel).JPFuelItem)
                    {
                        text = TranslatorFormattedStringExtensions.Translate("JetPack.JPDoChangeFuel", GenText.CapitalizeFirst(fuelref.label));
                        list.Add(new FloatMenuOption(text, delegate()
                        {
                            this.ChangeFuelJP(pilot, thing, fuelref, this.JPJumpRangeMin);
                        }, MenuOptionPriority.Default, null, null, 29f, null, null));
                    }
                }
            }
            Find.WindowStack.Add(new FloatMenu(list));
        }
Beispiel #2
0
        // Token: 0x0600002B RID: 43 RVA: 0x0000302C File Offset: 0x0000122C
        internal void RefuelJetPack(Pawn pilot, ThingWithComps thing)
        {
            var    list = new List <FloatMenuOption>();
            string text = "JetPack.JPDoNothing".Translate();

            list.Add(new FloatMenuOption(text, delegate { RefuelJP(pilot, thing, false); }, MenuOptionPriority.Default,
                                         null, null, 29f));
            if (JPFuelAmount < JPFuelMax)
            {
                text = "JetPack.JPDoRefuel".Translate();
                list.Add(new FloatMenuOption(text, delegate { RefuelJP(pilot, thing, true); },
                                             MenuOptionPriority.Default, null, null, 29f));
            }

            if (JPFuelAmount > 0)
            {
                text = "JetPack.JPDropFuel".Translate();
                list.Add(new FloatMenuOption(text, delegate { DropFuelJP(pilot, thing); }, MenuOptionPriority.Default,
                                             null, null, 29f));
            }

            var fuels = JPUtility.ListFuelTypes(def);

            if (fuels.Count > 0)
            {
                foreach (var defName in fuels)
                {
                    var fuelref = DefDatabase <ThingDef> .GetNamed(defName);

                    if (fuelref == (thing as JetPackApparel)?.JPFuelItem)
                    {
                        continue;
                    }

                    text = "JetPack.JPDoChangeFuel".Translate(fuelref.label.CapitalizeFirst());
                    list.Add(new FloatMenuOption(text,
                                                 delegate { ChangeFuelJP(pilot, thing, fuelref, JPJumpRangeMin); },
                                                 MenuOptionPriority.Default, null, null, 29f));
                }
            }

            Find.WindowStack.Add(new FloatMenu(list));
        }