// Token: 0x06000024 RID: 36 RVA: 0x00002B1F File Offset: 0x00000D1F // Token: 0x06000025 RID: 37 RVA: 0x00002B27 File Offset: 0x00000D27 public override IEnumerable <Gizmo> GetWornGizmos() { var fuelicon = JPFuelItem.uiIcon; if (fuelicon == null) { ThingDef chkFuelItem = null; if (JPFuelItem == null) { chkFuelItem = DefDatabase <ThingDef> .GetNamed(GetComp <CompJetPack>().Props.JPFuel, false); } if (chkFuelItem != null && chkFuelItem != JPFuelItem) { JPFuelItem = chkFuelItem; var chkFuelMax = GetComp <CompJetPack>().Props.JPFuelMaximum; if (chkFuelMax != JPFuelMax) { JPFuelMax = chkFuelMax; if (JPFuelAmount > JPFuelMax) { JPFuelAmount = JPFuelMax; } } } fuelicon = JPFuelItem.uiIcon; if (fuelicon == null) { JPFuelItem = ThingDefOf.Chemfuel; fuelicon = JPFuelItem.uiIcon; if (fuelicon == null) { fuelicon = def.uiIcon; Log.Message("Error: Jet Pack fuel definition not found."); } } } var chkSkyFallType = GetComp <CompJetPack>().Props.JPSKType; JPSkyFallType = string.IsNullOrEmpty(chkSkyFallType) ? "SFJetPack" : chkSkyFallType; var pilot = Wearer; JPJumpRangeMax = JPUtility.GetJumpRange(pilot, def, JPFuelItem, JPJumpRangeMin); JPFuelRate = JPUtility.GetFuelRate(JPFuelItem); if (Wearer == null || !Wearer.IsColonistPlayerControlled) { yield break; } var wearer = Wearer; if (wearer?.Map == null || Wearer.Downed || !Wearer.Spawned || JPUtility.IsInMeleeWithJP(Wearer)) { yield break; } if (Find.Selector.SingleSelectedThing != Wearer) { yield break; } string text = JPOnCooldown ? "JetPack.CooldownTicks".Translate(JPCooldownTicks.ToString()) : "JetPack.JPJump".Translate(); string desc = "JetPack.JPDesc".Translate(def.label.CapitalizeFirst()); yield return(new Command_JetPack { defaultLabel = text, defaultDesc = desc, icon = def.uiIcon, Pilot = Wearer, JPFuel = JPFuelAmount, JPFRate = JPFuelRate, JPMaxJump = JPJumpRangeMax, JPMinJump = JPJumpRangeMin, JPSKFStr = JPSkyFallType, action = delegate(IntVec3 cell) { SoundDefOf.Click.PlayOneShotOnCamera(); UseJetPack(Wearer, this, cell); } }); if (Settings.AllowSlowBurn) { text = "JetPack.JPSBSet".Translate(); desc = "JetPack.JPSBDesc".Translate(); yield return(new Command_Toggle { icon = ContentFinder <Texture2D> .Get(JPSBTexPath), defaultLabel = text, defaultDesc = desc, isActive = () => JPSlowBurn, toggleAction = delegate { ToggleSlowBurn(JPSlowBurn); } }); } text = "JetPack.JPLabel".Translate(def.label.CapitalizeFirst(), JPFuelAmount.ToString(), JPFuelMax.ToString()); desc = "JetPack.JPDesc".Translate(def.label.CapitalizeFirst()); yield return(new Command_Action { defaultLabel = text, defaultDesc = desc, icon = fuelicon, action = delegate { SoundDefOf.Click.PlayOneShotOnCamera(); RefuelJetPack(Wearer, this); } }); if (Prefs.DevMode) { yield return(new Command_Action { defaultLabel = "Debug Settings", defaultDesc = "Debug Commands", icon = fuelicon, action = delegate { SoundDefOf.Click.PlayOneShotOnCamera(); DoJetPackDebug(Wearer, this); } }); } }
// Token: 0x06000025 RID: 37 RVA: 0x00002B27 File Offset: 0x00000D27 public override IEnumerable <Gizmo> GetWornGizmos() { Texture2D fuelicon = this.JPFuelItem.uiIcon; if (fuelicon == null) { ThingDef chkFuelItem = null; if (this.JPFuelItem == null) { chkFuelItem = DefDatabase <ThingDef> .GetNamed(base.GetComp <CompJetPack>().Props.JPFuel, false); } if (chkFuelItem != null && chkFuelItem != this.JPFuelItem) { this.JPFuelItem = chkFuelItem; int chkFuelMax = base.GetComp <CompJetPack>().Props.JPFuelMaximum; if (chkFuelMax != this.JPFuelMax) { this.JPFuelMax = chkFuelMax; if (this.JPFuelAmount > this.JPFuelMax) { this.JPFuelAmount = this.JPFuelMax; } } } fuelicon = this.JPFuelItem.uiIcon; if (fuelicon == null) { this.JPFuelItem = ThingDefOf.Chemfuel; fuelicon = this.JPFuelItem.uiIcon; if (fuelicon == null) { fuelicon = this.def.uiIcon; Log.Message("Error: Jet Pack fuel definition not found.", false); } } } string chkSkyFallType = base.GetComp <CompJetPack>().Props.JPSKType; if (chkSkyFallType == null || chkSkyFallType == "") { this.JPSkyFallType = "SFJetPack"; } else if (chkSkyFallType != this.JPSkyFallType) { this.JPSkyFallType = chkSkyFallType; } Pawn pilot = base.Wearer; this.JPJumpRangeMax = (float)JPUtility.GetJumpRange(pilot, this.def, this.JPFuelItem, this.JPJumpRangeMin); this.JPFuelRate = JPUtility.GetFuelRate(this.JPFuelItem); if (base.Wearer != null && base.Wearer.IsColonistPlayerControlled) { Pawn wearer = base.Wearer; if ((wearer?.Map) != null && !base.Wearer.Downed && base.Wearer.Spawned && !JPUtility.IsInMeleeWithJP(base.Wearer)) { if (Find.Selector.SingleSelectedThing == base.Wearer) { string text; if (this.JPOnCooldown) { text = TranslatorFormattedStringExtensions.Translate("JetPack.CooldownTicks", this.JPCooldownTicks.ToString()); } else { text = Translator.Translate("JetPack.JPJump"); } string desc = TranslatorFormattedStringExtensions.Translate("JetPack.JPDesc", GenText.CapitalizeFirst(this.def.label)); yield return(new Command_JetPack { defaultLabel = text, defaultDesc = desc, icon = this.def.uiIcon, Pilot = base.Wearer, JPFuel = this.JPFuelAmount, JPFRate = this.JPFuelRate, JPMaxJump = this.JPJumpRangeMax, JPMinJump = this.JPJumpRangeMin, JPSKFStr = this.JPSkyFallType, action = delegate(IntVec3 cell) { SoundStarter.PlayOneShotOnCamera(SoundDefOf.Click, null); this.UseJetPack(base.Wearer, this, cell); } }); if (Settings.AllowSlowBurn) { text = Translator.Translate("JetPack.JPSBSet"); desc = Translator.Translate("JetPack.JPSBDesc"); yield return(new Command_Toggle { icon = ContentFinder <Texture2D> .Get(this.JPSBTexPath, true), defaultLabel = text, defaultDesc = desc, isActive = (() => this.JPSlowBurn), toggleAction = delegate() { this.ToggleSlowBurn(this.JPSlowBurn); } }); } text = TranslatorFormattedStringExtensions.Translate("JetPack.JPLabel", GenText.CapitalizeFirst(this.def.label), this.JPFuelAmount.ToString(), this.JPFuelMax.ToString()); desc = TranslatorFormattedStringExtensions.Translate("JetPack.JPDesc", GenText.CapitalizeFirst(this.def.label)); yield return(new Command_Action { defaultLabel = text, defaultDesc = desc, icon = fuelicon, action = delegate() { SoundStarter.PlayOneShotOnCamera(SoundDefOf.Click, null); this.RefuelJetPack(base.Wearer, this); } }); if (Prefs.DevMode) { yield return(new Command_Action { defaultLabel = "Debug Settings", defaultDesc = "Debug Commands", icon = fuelicon, action = delegate() { SoundStarter.PlayOneShotOnCamera(SoundDefOf.Click, null); this.DoJetPackDebug(base.Wearer, this); } }); } } yield break; } } yield break; }