private IPassenger _genertateRandomPassenger() { var stations = new List <IStation>(); _map.GetAllStations(stations); int startIdx = _rand.Next(stations.Count); IStation start = stations[startIdx]; stations.Remove(start); int goalIdx = _rand.Next(stations.Count); IStation goal = stations[goalIdx]; int lableIdx = _map.GetStationIndex(goal); IPassengerView passengerView = _passengerViewFactory.MakePassengerView(lableIdx); IPassenger newPassenger = new Passenger(start, goal, passengerView); if (GeneratePassengerEvent != null) { GeneratePassengerEvent.Invoke(newPassenger); } newPassenger.WaitingAtStation(start); return(newPassenger); }
private IPassenger _generateOptionPassenger() { var stations = new List <IStation>(); _map.GetAllStations(stations); StartEndOption option = _getRandomOption(); int startIdx = option.Start; IStation start = stations[startIdx]; int goalIdx = option.End; IStation goal = stations[goalIdx]; int lableIdx = _map.GetStationIndex(goal); IPassengerView passengerView = _passengerViewFactory.MakePassengerView(lableIdx); IPassenger newPassenger = new Passenger(start, goal, passengerView); if (GeneratePassengerEvent != null) { GeneratePassengerEvent.Invoke(newPassenger); } newPassenger.WaitingAtStation(start); return(newPassenger); }