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); } }
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; }