Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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!");
        }