Beispiel #1
0
    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;
    }
Beispiel #4
0
    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);
        }
    }
Beispiel #6
0
    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;
 }
Beispiel #8
0
 public CelestialBodyResources(CelestialBodyLogic logic)
 {
     _logic = logic;
 }