コード例 #1
0
#pragma warning restore CS0649

        public int TicksToStateChangeFor(DeployedState state)
        {
            switch (state)
            {
            case DeployedState.Submerged:
                return(ticksToSubmerge);

            default:
                return(ticksToSubmerge);
            }
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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;
                }
            }
        }
コード例 #4
0
 public int FinalisedTicksToStateChangeFor(DeployedState state)
 {
     return(Mathf.RoundToInt(Mathf.Lerp(Props.TicksToStateChangeFor(state), 0, 1 - StateChangeProgress)));
 }