private void comboFlipMap_SelectedIndexChanged(object sender, EventArgs e) { if (_editor.SelectedRoom == null) { return; } var room = _editor.SelectedRoom; short alternateGroupIndex = (short)(comboFlipMap.SelectedIndex - 1); if (room.Alternated) { if (alternateGroupIndex == -1) { // Delete flipped room EditorActions.AlternateRoomDisableWithWarning(room, this); } else { // Change flipped map number, not much to do here if (room.AlternateGroup != alternateGroupIndex && room.AlternateOpposite.AlternateGroup != alternateGroupIndex) { room.AlternateGroup = alternateGroupIndex; room.AlternateOpposite.AlternateGroup = alternateGroupIndex; _editor.RoomPropertiesChange(room); _editor.RoomPropertiesChange(room.AlternateOpposite); } } } else { if (alternateGroupIndex != -1) {// Create a new flipped room EditorActions.AlternateRoomEnable(room, alternateGroupIndex); } } // Update combo box even if nothing changed internally // to correct invalid user input EditorEventRaised(new Editor.RoomPropertiesChangedEvent { Room = room }); }