Example #1
0
        private void ConfirmBuildingSelection()
        {
            if (selectionState != SelectionStates.DisplayOutline)
            {
                return;
            }

            BuildingScripts building = Instantiate(selectedBuilding.BuildingPrefab,
                                                   highlightObject.transform.position, Quaternion.identity, this.transform).GetComponent <BuildingScripts>();

            building.ConfirmPlacement();

            DisableSelection(true);
        }
Example #2
0
        private void WaitForBuildingDeletion()
        {
            GameObject building = RaycastManager.Instance.GetGameObjectFromRaycast(buildingLayerMask, out var hit);

            if (!building)
            {
                return;
            }

            BuildingScripts script = building.GetComponentInParent <BuildingScripts>();

            if (script)
            {
                destroyBuilding = script;
            }
        }
Example #3
0
    private void OnBuildingDeletion(BuildingScripts building)
    {
        Debug.Log("Building Deleted");
        if (!building)
        {
            return;
        }

        building.DestroyBuilding();

        string buildingType = building.building.BuildingType;

        if (inGameBuildings.ContainsKey(buildingType))
        {
            inGameBuildings[buildingType].Remove(building);
        }

        Destroy(building.gameObject);
    }
Example #4
0
    private void OnBuildingPlacement(BuildingScripts building)
    {
        Debug.Log("Building Placed");

        if (!building)
        {
            return;
        }
        building.Initialize(resourceManager);

        string buildingType = building.building.BuildingType;

        if (inGameBuildings.ContainsKey(buildingType))
        {
            inGameBuildings[buildingType].Add(building);
        }
        else
        {
            inGameBuildings.Add(buildingType, new List <BuildingScripts>());
            inGameBuildings[buildingType].Add(building);
        }
    }
Example #5
0
 public static void OnBuildingDeletionEvent(BuildingScripts building)
 {
     OnBuildingDeletion?.Invoke(building);
 }
Example #6
0
 public static void OnBuildingPlacementEvent(BuildingScripts building)
 {
     OnBuildingPlacement?.Invoke(building);
 }