public void CheckState() { bool processCompleted = false; switch (currentState) { case State.Warning: Echo("Warning"); speakers.StartWarning(WarningSource.DOOR, warningTime); break; case State.Depressurizing: Echo("Depressurizing"); airTanks.DepressurizeBay(out processCompleted); if (processCompleted) { currentState = State.Opening; startDoorMove = true; } break; case State.Opening: Echo("Opening Doors"); ChangeBayDoors(DoorStatus.Open); break; case State.Closing: Echo("Closing Doors"); startDoorMove = true; break; default: break; } }