Beispiel #1
0
    public void Save()
    {
        SaveClass  saveClass  = Game.Instance.SaveClass;
        CityStruct cityStruct = new CityStruct()
        {
            cityName   = CityName,
            growth     = Growth,
            population = Population,
            vector3    = transform.position
        };

        if (TradeRoutes.Count > 0)
        {
            int[] ids = new int[TradeRoutes.Count];
            for (int i = 0; i < ids.Length; i++)
            {
                ids[i] = TradeRoutes[i];
            }
            cityStruct.cityTradeRouteIDs = ids;
        }


        // а взагалі можна зробити так, щоб saveClass не зберігався постійно в пам'яті,
        // а створювався тільки під час збереження або завантаження і видалявся після завершення
        // цього процесу
        if (saveClass.cities.ContainsKey(Identifier.GameObjectID))
        {
            saveClass.cities[Identifier.GameObjectID] = cityStruct;
        }
        else
        {
            saveClass.cities.Add(Identifier.GameObjectID, cityStruct);
        }
    }
Beispiel #2
0
    public void Load()
    {
        CityStruct cityStruct = Game.Instance.SaveClass.cities[Identifier.GameObjectID];

        CityName        = cityStruct.cityName;
        gameObject.name = CityName;
        Population      = cityStruct.population;
        Growth          = cityStruct.growth;
        if (cityStruct.cityTradeRouteIDs != null)
        {
            TradeRoutes.AddRange(cityStruct.cityTradeRouteIDs);
        }
        transform.position = cityStruct.vector3;
    }