private void UpdateCountLabels(CitySystem.City city) { Screen.LabelSimulationRoad.Content = city.Roads.Count; Screen.LabelSimulationIntersection.Content = city.Intersections.Count; Screen.LabelSimulationBuilding.Content = city.Buildings.Count; Screen.LabelSimulationGarage.Content = city.Buildings.FindAll(building => building is CitySystem.Garage).Count; }
public void OnSimulationLoad(object source, SimulationEventArgs e) { CitySystem.City cityObject = e.City; DatabaseHelper.QueueDatabaseAction((database) => { var cities = (from c in database.Cities where c.CityName.Equals(e.CityName) select c).ToList(); City city; if (cities.Count == 0) { city = new City() { CityName = e.CityName }; database.Cities.Add(city); foreach (var building in cityObject.Buildings) { if (building is CitySystem.Garage garage) { database.Garages.Add( new Garage { City = city, Location = DatabaseHelper.CreateDBVector(building.Location) } ); } } } else { city = cities.First(); } var instance = new CityInstance { City = city }; Instance = instance; var simulation = new Simulation { CityInstance = instance, Duration = 0 }; database.Simulations.Add(simulation); database.SaveChanges(); }); }
public SimulationEventArgs(CitySystem.City city) { CityName = city.Name; City = city; }