/// <summary> /// Creates the "world" with all 3 major elements: /// users, elevatorOS and elevatorModule /// </summary> /// <param name="users"></param> /// <param name="elevatorOS"></param> /// <param name="elevatorModule"></param> public World(List <User> users, ElevatorOS_IF elevatorOS, ElevatorModule_IF elevatorModule) { m_elevatorOS = elevatorOS; m_elevatorModule = elevatorModule; m_usersAll = new List <User>(); m_usersAll.AddRange(users); }
/// <summary> /// /// </summary> /// <param name="name">some random name</param> /// <param name="elevatorOs">the elevator OS that the user shall "talk to"</param> /// <param name="timeSlotRequest">when is the user coming along?</param> /// <param name="floorEntering">on what floor is he coming in? (button outside elevator on floor x)</param> /// <param name="floorLeaving">which floor does he want to go to? (buttton inside elevator, labelled "floor x")</param> public User(string name, ElevatorOS_IF elevatorOs, int timeSlotRequest, int floorEntering, int floorLeaving) { m_name = name; m_elevatorOS = elevatorOs; m_MinuteOfRequest = timeSlotRequest; m_floorEntering = floorEntering; m_floorLeaving = floorLeaving; }
/// <summary> /// Generate some users. /// </summary> /// <param name="elevatorOS"></param> /// <returns>a list of users</returns> private static List <User> GenerateUsers(ElevatorOS_IF elevatorOS) { List <User> users = new List <User>(); int time = 0; for (int i = 0; i < 26; ++i) { var name = "User" + (char)(65 + i); time += userMatrix[i, 0]; var floorEnter = userMatrix[i, 1]; var floorLeave = userMatrix[i, 2]; var user = new User(name, elevatorOS, time, floorEnter, floorLeave); users.Add(user); } return(users); }