public Traffic(EntryRoad entryRoad, ExitRoad exitRoad, float trafficVolume) { this.entryRoad = entryRoad; this.exitRoad = exitRoad; this.trafficVolume = trafficVolume; Enlist(); }
public EntryRoad BuildEntryRoad(Vector3 entryCoordinates) { Grid startGrid, endGrid; GetEntryRoadStartEndGrids(entryCoordinates, out startGrid, out endGrid); EntryRoad entryRoad = Instantiate(roadFactory.GetEntryRoadPrefab(), startGrid.transform.position, startGrid.transform.rotation, SiteManager.Instance.roadManager.transform); entryRoad.StartGrid = startGrid; entryRoad.EndGrid = endGrid; SplitIntersectingRoads(entryRoad); return(entryRoad); }
public void RemoveEntryRoad(EntryRoad entryRoad) { // Make a shallow copy of trafficsStartingAt List <Traffic> trafficsStartingAtCopy = new List <Traffic>(trafficsStartingAt[entryRoad]); foreach (Traffic traffic in trafficsStartingAtCopy) { trafficsStartingAt[traffic.EntryRoad].Remove(traffic); trafficsEndingAt[traffic.ExitRoad].Remove(traffic); traffic.ExitRoad.accessPointInfographic.RemoveTraffic(traffic); if (trafficsEndingAt[traffic.ExitRoad].Count == 0) { traffic.ExitRoad.Demolish(); } } }
public void RemoveEntryRoad(EntryRoad entryRoad) { entryRoadsAt.Remove(entryRoad.EndGrid); }
public void AddEntryRoad(EntryRoad entryRoad) { entryRoadsAt[entryRoad.EndGrid] = entryRoad; }