/// <summary> /// (De)Select the given map object /// </summary> /// <param name="mapObject"></param> public void SelectMapObject(MapObject mapObject) { MapObjectGroup selection = controller.Selection; if (mapObject != null) { if (modifierKey == Keys.Control) { if (selection.Contains(mapObject)) { mapObject.Selected = false; selection.Remove(mapObject); } else { mapObject.Selected = true; selection.Add(mapObject); } } else if (!selection.Contains(mapObject)) { selection.Clear(); mapObject.Selected = true; selection.Add(mapObject); } } else if (!selection.Empty) { // deselect SolidGrabHandles handles = controller.RubberBand.Handles; selection.Clear(); handles.ResetMode(); } }