#pragma warning restore CS0649 public int TicksToStateChangeFor(DeployedState state) { switch (state) { case DeployedState.Submerged: return(ticksToSubmerge); default: return(ticksToSubmerge); } }
public override void ReceiveCompSignal(string signal) { bool hasPowerComp = cachedPowerComp != null; // Flicked or powered on; deploy building if ((!hasPowerComp && signal == CompFlickable.FlickedOnSignal) || signal == CompPowerTrader.PowerTurnedOnSignal) { targetState = DeployedState.Deployed; ticksToStateChange = FinalisedTicksToStateChangeFor(targetState); } // Flicked or powered off; submerge building if ((!hasPowerComp && signal == CompFlickable.FlickedOffSignal) || signal == CompPowerTrader.PowerTurnedOffSignal) { targetState = DeployedState.Submerged; ticksToStateChange = FinalisedTicksToStateChangeFor(targetState); } }
public override void CompTick() { if (ticksToStateChange > 0) { ticksToStateChange--; DoProgressBar(); } // Update state else { if (state != targetState) { state = targetState; parent.Map.mapDrawer.SectionAt(parent.Position).RegenerateAllLayers(); parent.Map.pathing.RecalculatePerceivedPathCostUnderThing(parent); } if (cachedProgressBar != null) { cachedProgressBar.Cleanup(); cachedProgressBar = null; } } }
public int FinalisedTicksToStateChangeFor(DeployedState state) { return(Mathf.RoundToInt(Mathf.Lerp(Props.TicksToStateChangeFor(state), 0, 1 - StateChangeProgress))); }