public override void OnMouseDown(MouseButtonDownEventArgs args) { List <RayQueryResult> raycastResult = input.CursorRaycast(); IntVector2? vertex = map.RaycastToVertex(raycastResult); if (!vertex.HasValue) { return; } //NOTE: this is slow, make it faster if (!verticies.Remove(vertex.Value)) { verticies.Add(vertex.Value); } map.HighlightCornerList(SelectedVerticies, Color.Green); }