public Traffic(EntryRoad entryRoad, ExitRoad exitRoad, float trafficVolume) { this.entryRoad = entryRoad; this.exitRoad = exitRoad; this.trafficVolume = trafficVolume; Enlist(); }
public ExitRoad BuildExitRoad(Vector3 exitCoordinates) { Grid startGrid, endGrid; GetExitRoadStartEndGrids(exitCoordinates, out startGrid, out endGrid); ExitRoad exitRoad = Instantiate(roadFactory.GetExitRoadPrefab(), startGrid.transform.position, startGrid.transform.rotation, SiteManager.Instance.roadManager.transform); exitRoad.StartGrid = startGrid; exitRoad.EndGrid = endGrid; SplitIntersectingRoads(exitRoad); return(exitRoad); }
public void RemoveExitRoad(ExitRoad exitRoad) { // Make a shallow copy of trafficsEndingAt List <Traffic> trafficsEndingAtCopy = new List <Traffic>(trafficsEndingAt[exitRoad]); foreach (Traffic traffic in trafficsEndingAtCopy) { trafficsStartingAt[traffic.EntryRoad].Remove(traffic); traffic.EntryRoad.accessPointInfographic.RemoveTraffic(traffic); if (trafficsStartingAt[traffic.EntryRoad].Count == 0) { traffic.EntryRoad.Demolish(); } trafficsEndingAt[traffic.ExitRoad].Remove(traffic); } }
public void RemoveExitRoad(ExitRoad exitRoad) { exitRoadsAt.Remove(exitRoad.StartGrid); }
public void AddExitRoad(ExitRoad exitRoad) { exitRoadsAt[exitRoad.StartGrid] = exitRoad; }