private PassengerEvent SearchCarriage(Passenger passenger, string eventType, string vehID, int time) { if (!EntityData.CarriageList.ContainsKey(vehID)) { throw new ApplicationException("Can't find carriage!"); } Carriage carriage = EntityData.CarriageList[vehID]; PassengerEventTypes eType = PassengerEventTypes.TripStart; if (eventType == "arriveAt") { eType = PassengerEventTypes.TripEnd; } TripTypes tripType = TripTypes.Public; PassengerTripEvent e = new PassengerPlot.PassengerTripEvent() { AttachedPassenger = passenger, AttachedCarriage = carriage, Type = eType, TripType = tripType, Time = time, }; return(e); }
private PassengerEvent AddActivityEvent(Passenger passenger, string eventType, string activityName, int time) { // find from "plan" file foreach (Activity act in ActivityDic[passenger.ID]) { if (act.Name == activityName) { PassengerEventTypes type = PassengerEventTypes.ActivityStart; if (eventType == "actend") { type = PassengerEventTypes.ActivityEnd; } PassengerActivityEvent e = new PassengerPlot.PassengerActivityEvent() { AttachedPassenger = passenger, Time = time, Type = type, ActivityName = activityName, Location = act.Location }; return(e); } } throw new ApplicationException("Can't find activity!"); }