public ScheduleResult Build() { Rooms = InitializeList <ScheduleRoom>(RoomField.GetOrderedValues()).ToList(); TimeSlots = InitializeList <TimeSlot>(TimeSlotField.GetOrderedValues()).ToList(); Slots = InitializeSlots(TimeSlots, Rooms); var allItems = new List <ProgramItemPlaced>(); foreach (var character in characters) { var programItem = ConvertToProgramItem(character); var slots = SelectSlots(character); PutItem(programItem, slots); if (slots.Any()) { allItems.Add(new ProgramItemPlaced(programItem, slots)); } } return(new ScheduleResult() { Conflicted = Conflicted.ToList(), NotScheduled = NotScheduled.ToList(), Rooms = Rooms, TimeSlots = TimeSlots, Slots = Slots.Select(row => row.Select(r => r.ProgramItem).ToList()).ToList(), AllItems = allItems, }); }
protected override void Awake() { base.Awake(); pun = PUNManager.Instance; if (pun == null) { Debug.LogError($"{typeof(PUNMenuController)} could not find an instance of {typeof(PUNManager)}", this); return; } menu = InitialiseNewElement("Multi Player"); VisualElement optionRoot = menu.Q(OPTION_ROOT); { //Join Room RoomField newRoomElement = new RoomField("New Room", "Room Name", "Create"); newRoomElement.OnSubmit += () => CreateRoom(newRoomElement); optionRoot.Add(newRoomElement); } { //Join Room RoomField joinRoomElement = new RoomField("Join Room", "Room Name", "Connect"); joinRoomElement.OnSubmit += () => JoinRoom(joinRoomElement); optionRoot.Add(joinRoomElement); } optionRoot.Add(InitialiseOption("Back to Main Menu", () => { StartAnimation(AnimState.Out, OnComplete: () => { Destroy(PUNManager.Instance); SceneManager.LoadScene(0); }); })); }
private void CreateRoom(RoomField element) { element.Error_Text = ""; if (IsValidInput(element)) { if (pun.CreateNewRoom(element.Value)) { element.Error_Text += "Attempting to create room...\n"; pun.OnCreatedRoomEvent.AddListener(() => { element.Error_Text += "Room created successfully\n"; }); pun.OnJoinedRoomEvent.AddListener(() => { element.Error_Text += "Room joined successfully\n"; }); pun.OnCreateRoomFailedEvent.AddListener((c, r) => { element.Error_Text += $"Error {c}: {r}\n"; }); pun.OnJoinRoomFailedEvent.AddListener((c, r) => { element.Error_Text += $"Error {c}: {r}\n"; }); } else { element.Error_Text += "Failed to send message to photon server\n"; } } }
private bool IsValidInput(RoomField element, int minChar = 4) { Debug.Log(element.Value); if (string.IsNullOrWhiteSpace(element.Value)) { element.Error_Text += "Room name cannot be blank\n"; return(false); } if (element.Value.Length <= minChar) { element.Error_Text += $"Room name must be greater than {minChar} characters\n"; return(false); } return(true); }
public async Task Test_GetRoomFields_sucess() { //Arrange var roomField = new RoomField() { Name = "F1", Id = 1, IsActive = true, IsDeleted = false, Code = "cd100", FacilityGroupId = 1, FacilityId = 1, FacilityTypeId = 1, IconPath = "sym100", }; var baseResult = new BaseResult <List <RoomField> >() { Result = new List <RoomField>() { roomField } }; var pred = new Func <RoomField, bool>(x => x.IsActive && !x.IsDeleted); iRoomFieldLibrary.Setup ( x => x.GetListByPredicate(It.Is <Func <RoomField, bool> >(y => y.GetType() == pred.GetType())) ) .Returns(Task.FromResult(baseResult)); //Act var result = templateRepository.GetRoomFields(); //Assert Assert.IsTrue(result.Result is BaseResult <List <RoomField> >); Assert.IsTrue(result.Result.Result.Any(x => x.Id == roomField.Id)); }