public static void CreateDefault() { OwnedPlaces = new List <PlaceState>(); OwnedPlaces.Add(new PlaceState(WorldData.GetPlaceByName("Winnipeg"))); OwnedPlaces.Add(new PlaceState(WorldData.GetPlaceByName("Quebec"))); var winnipeg = GetStateForPlace(WorldData.GetPlaceByName("Winnipeg")); var employees = winnipeg.Employees; for (int i = 0; i < 2; i++) { var truck = new Truck_TGX_D38(); winnipeg.Trucks.Add(truck); var employee = EmployeeState.GenerateNew(winnipeg); employee.AssignTruck(truck); employees.Add(employee); } var jobs = winnipeg.AvailableJobs; jobs.Add(new JobOffer(1, "Good Foods Inc", winnipeg.Place, WorldData.GetPlaceByName("Ottawa"), TransportableItem.Bananas, 1100, new List <Weekday>() { Weekday.Friday, Weekday.Saturday, Weekday.Sunday })); var existingJob = new JobOffer(2, "Nutty Inc", winnipeg.Place, WorldData.GetPlaceByName("Quebec"), TransportableItem.Peanuts, 1350, new List <Weekday>() { Weekday.Monday, Weekday.Tuesday }); winnipeg.Docks[0].Schedule.Jobs.Add(new ScheduledJob(existingJob, new Dictionary <Weekday, ShipTimeAssignment>() { { Weekday.Monday, new ShipTimeAssignment(new TimeSpan(7, 15, 0), WorldState.GetEmployeeById("#000002"), false) }, { Weekday.Tuesday, new ShipTimeAssignment(new TimeSpan(12, 30, 0), WorldState.GetEmployeeById("#000004"), false) } })); }
internal double GetWeeklyHours(EmployeeState employee) { double result = 0.0; foreach (var dock in Docks) { foreach (var job in dock.Schedule.Jobs) { foreach (var assignment in job.ShipTimes) { if (assignment.Value.AssignedEmployee == employee) { result += job.Job.GetTravelTime(); } } } } return(result); }
public ShipTimeAssignment(TimeSpan time, EmployeeState assignedEmployee, bool stayAtLocation) { Time = time; AssignedEmployee = assignedEmployee; StayAtLocation = stayAtLocation; }
public void AddEmployee(EmployeeState employee) { employee.CurrentLocation = Place; this.Employees.Add(employee); EmployeeStateChanged(); }