public void SelectBuildingLocation(BuildingSlot buildingSpot = null)
    {
        // Tutorial indicator //
        TutorialManager.instance.DisplayIndicator(TutorialManager.IndicatorID.select_building_spot, false);
        //TutorialManager.instance.DisplayIndicator(TutorialManager.IndicatorID.protect_people, false);
        //TutorialManager.instance.DisplayIndicator(TutorialManager.IndicatorID.protect_people, false);
        TutorialManager.instance.DisplayIndicatorIfNotDisplayedYet(TutorialManager.IndicatorID.select_building);
        // ------------------ //

        // Chose Building Spot
        //chosenBuildingSlot = SelectBuildingSpotFromTouch(); // OLD

        if (buildingSpot != null)
        {
            chosenBuildingSlot = buildingSpot.gameObject;
        }

        if (chosenBuildingSlot != null)
        {
            BuildingSlotManager.instance.ResetAllBuildingSlotsColor();
            SurroundingAreasManager.instance.ResetAllSatelliteBuildingSlotsColor();

            buildingSpot.SetSelectionColor();

            // Display Build button if we can pay for the building
            UpdateBuildingState(1);
        }
        else
        {
            Debug.Log("SelectBuildingLocation | chosenBuildingSlot null");
        }
    }