public void ToggleDoor() { // if we're already in process if (_operatingDoor) { return; } // update from physical so we don't break things _doorState = PhysicalState; Debug.Print("DoorController.ToggleDoor, current state: " + _doorState.ToString()); if (_doorState == DoorStateType.Closed || _doorState == DoorStateType.Unknown) { OperateDoor(true); } else { OperateDoor(false); } }