private static void AddUnitToSubSelection(Player player, HUD hud, Unit unitToAdd)
        {
            List <WorldObject> selectedObjects = player.selectedObjects;

            if (unitToAdd && !selectedObjects.Contains(unitToAdd))
            {
                unitToAdd.SetSelection(true, hud.GetPlayingArea());

                selectedObjects.Add(unitToAdd);
            }
        }
        private static void SelectUnit(Player player, HUD hud, Unit unitToSelect)
        {
            ResetPlayerUnitsSelection(player, hud);

            player.SelectedObject = unitToSelect;

            if (!player.selectedObjects.Contains(unitToSelect))
            {
                player.selectedObjects.Add(unitToSelect);
            }

            unitToSelect.SetSelection(true, hud.GetPlayingArea());
        }
        private static void RemoveUnitFromSubSelection(Player player, HUD hud, Unit unitToRemove)
        {
            List <WorldObject> selectedObjects = player.selectedObjects;

            if (unitToRemove && selectedObjects.Contains(unitToRemove))
            {
                unitToRemove.SetSelection(false, hud.GetPlayingArea());
                if (player.SelectedObject && player.SelectedObject.ObjectId == unitToRemove.ObjectId)
                {
                    player.SelectedObject = null;
                }

                selectedObjects.Remove(unitToRemove);
            }
        }