public void UnloadBuildings() { foreach (Transform child in transform) { Destroy(child.gameObject); } _selectedBody = null; }
public void LoadBuildingGrid(CelestialBodyLogic bodyLogic) { if (LoadedPlanet) { UnloadBuildingGrid(); } _selectedBody = bodyLogic; SetupGridLayout(BuildingGrid); SetupGridLayout(PreviewGrid); SpawnGridTiles(); RedrawBuildings(); }
public void UnloadBuildingGrid() { foreach (Transform child in BuildingGrid.transform) { Destroy(child.gameObject); } foreach (Transform child in PreviewGrid.transform) { Destroy(child.gameObject); } _selectedBody = null; _gridTiles = null; }
public void CancelConstruction() { CelestialBodyLogic logic = GameController.Instance.GetSelectedLogic(); SpaceshipTemplate template = logic.ShipQueue[ShipIndex]; logic.ShipQueue.RemoveAt(ShipIndex); // Refund foreach (ShipCost cost in template.Costs) { logic.Resources[cost.Resource] += cost.Amount; } Controller.UpdateDisplay(); ConstructionUI.UpdateDisplay(); }
private void UpdateDisplay() { CelestialBody selected = GameController.Instance.SelectedBody; if (selected == null) { GridUI.UnloadBuildingGrid(); SelectionUI.UnloadBuildings(); } else { CelestialBodyLogic logic = GameController.Instance.State.FindLogicComponent(selected); GridUI.LoadBuildingGrid(logic); SelectionUI.LoadBuildings(logic); } }
public void LoadBuildings(CelestialBodyLogic bodyLogic) { if (LoadedPlanet) { UnloadBuildings(); } _selectedBody = bodyLogic; _selectedIndex = UNSELECT_INDEX; for (int index = 0; index < Buildings.Length; index++) { GameObject button = Instantiate(BuildingButtonPrefab, transform); var buttonController = button.GetComponent <IndexSelectionButton>(); buttonController.Controller = this; buttonController.Index = index; buttonController.GetComponentInChildren <Text>().text = Buildings[index].DisplayName; } RefreshBuildingButtons(); }
public CelestialBodyBuildings(CelestialBodyLogic logic) { _logic = logic; }
public CelestialBodyResources(CelestialBodyLogic logic) { _logic = logic; }