private void Checkpoint_OnSelected(CheckPointController checkpoint)
    {
        var previouslySelectedCheckpoint = _map.CheckPoints.SingleOrDefault(c => c.IsSelected);

        if (previouslySelectedCheckpoint != null && _map.HasDirectPath(previouslySelectedCheckpoint, checkpoint))
        {
            previouslySelectedCheckpoint.MoveHeroesTo(checkpoint);
        }
        OnCheckpointSelected?.Invoke(checkpoint);
    }
 private void OnMouseUp()
 {
     OnCheckpointSelected?.Invoke(this);
     Select();
 }