Example #1
0
    /// <summary>
    /// Metoda inicjalizuje panel Standardowych budowli - wypełnia go przyciskami
    /// </summary>
    public void EditMode_InitializePrestigeBuildingsButtons()
    {
        GameObject[] prestigeBuildings         = BuildingsDatabase.GetBuildingsByType(BuildingType.Prestige);
        Dictionary <GameObject, Building> temp = new Dictionary <GameObject, Building>();

        // Pobieranie listy budynków
        foreach (GameObject building in prestigeBuildings)
        {
            Building buildingScript = building.GetComponent <Building>();

            if (buildingScript != null)
            {
                temp.Add(building, buildingScript);
            }
        }

        // Inicjalizowanie budynków
        foreach (KeyValuePair <GameObject, Building> building in temp.OrderBy(x => x.Value.iBaseCost))
        {
            // Tworznie obiektu przycisku i wrzucanie go do kontenera
            GameObject buildingInfoPanel = GameObject.Instantiate(EditMode_BuildingPanelPrefab);
            buildingInfoPanel.transform.SetParent(EditMode_PrestigeBuildingsContent.transform, false);

            EditMode_BuildingInfoPanelScript infoPanelScript = buildingInfoPanel.GetComponent <EditMode_BuildingInfoPanelScript>();
            if (infoPanelScript != null)
            {
                infoPanelScript.Initialize(building.Value, building.Key);
            }
        }
    }
Example #2
0
    void LoadBuildings()
    {
        // Jeżeli jakiekolwiek budowle są zapisane we właściwości
        if (Buildings != null)
        {
            foreach (SerializableBuilding serializableBuilding in Buildings)
            {
                // Pobieranie budynków z bazy danych
                GameObject[] dbBuildings = BuildingsDatabase.GetBuildingsByType(serializableBuilding.BuildingType);
                foreach (GameObject dbBuilding in dbBuildings)
                {
                    // Wczytywanie skryptu danego budynku w celu znalezienia odpowiedniego budynku po nazwie
                    Building dbBuildingScript = dbBuilding.GetComponent <Building>();
                    if (dbBuildingScript != null)
                    {
                        if (dbBuildingScript.Name == serializableBuilding.BuildingName)
                        {
                            // Znaleziono budynek - tworzenie obiektu budynku i przypisanie go do grupy Buildings
                            GameObject objInst = GameObject.Instantiate(dbBuilding);
                            objInst.transform.SetParent(Helper.GetBuildingsGroup().transform, true);

                            Building instanceScript = objInst.GetComponent <Building>();
                            if (instanceScript != null)
                            {
                                Building.CopyValues(dbBuilding, objInst);
                                instanceScript.LoadBuilding(serializableBuilding);
                            }
                        }
                    }
                }
            }
        }
    }