Пример #1
0
        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) }
            }));
        }
Пример #2
0
        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);
        }
Пример #3
0
 public ShipTimeAssignment(TimeSpan time, EmployeeState assignedEmployee, bool stayAtLocation)
 {
     Time             = time;
     AssignedEmployee = assignedEmployee;
     StayAtLocation   = stayAtLocation;
 }
Пример #4
0
 public void AddEmployee(EmployeeState employee)
 {
     employee.CurrentLocation = Place;
     this.Employees.Add(employee);
     EmployeeStateChanged();
 }