public void AddDrivingPath(DrivingPath newDrivingPath) { int startRoadID = newDrivingPath.GetStartRoadID(); if (!DrivingPathList.ContainsKey(startRoadID)) { Dictionary<string, DrivingPath> temp = new Dictionary<string, DrivingPath>(); DrivingPathList.Add(startRoadID, temp); } if (DrivingPathList[startRoadID].ContainsKey(newDrivingPath.GetName())) { int currentPro = DrivingPathList[startRoadID][newDrivingPath.GetName()].GetProbability(); DrivingPathList[startRoadID][newDrivingPath.GetName()].SetProbability(currentPro + newDrivingPath.GetProbability()); } else { DrivingPathList[startRoadID].Add(newDrivingPath.GetName(), newDrivingPath); } GenerateDrivingPathTable(startRoadID); if (Simulator.TESTMODE) Simulator.UI.AddMessage("System", "Add driving path to road " + startRoadID); }
public void SetDrivingPath(DrivingPath drivingPath) { this.drivingPath = drivingPath; passingRoads.Clear(); AddPassingRoad(drivingPath.GetStartRoadID()); foreach (int passingRoadID in drivingPath.GetPassingRoads()) { AddPassingRoad(passingRoadID); } AddPassingRoad(drivingPath.GetGoalRoadID()); }