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); }
private void WaitForBuildingDeletion() { GameObject building = RaycastManager.Instance.GetGameObjectFromRaycast(buildingLayerMask, out var hit); if (!building) { return; } BuildingScripts script = building.GetComponentInParent <BuildingScripts>(); if (script) { destroyBuilding = script; } }
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); }
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); } }
public static void OnBuildingDeletionEvent(BuildingScripts building) { OnBuildingDeletion?.Invoke(building); }
public static void OnBuildingPlacementEvent(BuildingScripts building) { OnBuildingPlacement?.Invoke(building); }