public void CheckResources(CompWideBoy compWB) { if (!compWB.parent.IsHashIntervalTick(75)) { return; } compWB.MiningResources = !NoMiningResources(compWB); if (compWB.MiningResources) { return; } var compPower = compWB.parent.TryGetComp <CompPowerTrader>(); if (compPower == null || !compPower.PowerOn) { return; } var compFlick = compWB.parent.TryGetComp <CompFlickable>(); if (compFlick == null || !compFlick.SwitchIsOn) { return; } compFlick.SwitchIsOn = false; AccessTools.Field(typeof(CompFlickable), "wantSwitchOn").SetValue(compFlick, false); Messages.Message("Prospecting.WideBoyZeroLeft".Translate(), parent, MessageTypeDefOf.NeutralEvent, false); }
public void SetSpanValue(CompWideBoy cwb, int spanValue) { if (spanValue <= 0) { return; } if (cwb.parent.TryGetComp <CompForbiddable>() != null) { cwb.parent.SetForbidden(true); } var newSpan = 49; switch (spanValue) { case 1: newSpan = 9; break; case 2: newSpan = 25; break; case 3: newSpan = 49; break; } cwb.span = newSpan; }
public void SetSpanWB(CompWideBoy cwb) { var list = new List <FloatMenuOption>(); string text = "Prospecting.SpanDoNothing".Translate(); list.Add(new FloatMenuOption(text, delegate { SetSpanValue(cwb, 0); }, MenuOptionPriority.Default, null, null, 29f)); for (var i = 0; i < 3; i++) { var spanWidth = i + 1; text = "Prospecting.SpanOption".Translate(spanWidth.ToString()); list.Add(new FloatMenuOption(text, delegate { SetSpanValue(cwb, spanWidth); }, MenuOptionPriority.Default, null, null, 29f)); } Find.WindowStack.Add(new FloatMenu(list)); }
public void CheckBoost(CompWideBoy compWB, bool boost) { Thing drill = compWB?.parent; if (drill == null || !drill.Spawned || drill.Map == null || drill.IsBrokenDown()) { return; } var compPow = drill.TryGetComp <CompPowerTrader>(); if (compPow == null || !compPow.PowerOn) { return; } var powUse = compPow.Props.basePowerConsumption; if (boost) { powUse *= 1.33f; } var newPowUse = -1f * powUse; if (compPow.PowerOutput != newPowUse) { compPow.PowerOutput = newPowUse; } if (!boost || !IsDrillActive(drill)) { return; } DoSparks(drill); CheckBreakdown(drill); }
public void ToggleBoost(bool flag, CompWideBoy cwb) { cwb.WBBoost = !flag; }
public void ToggleMineRock(bool flag, CompWideBoy cwb) { cwb.mineRock = !flag; }