void HandleCallFloorRequest(CallFloorRequest request) { // Handle it listFloorsRequesting.Add(request.level); UpdateElevator(); // Send response CallFloorResponse response = new CallFloorResponse(ResultCode.Succeeded, listFloorsRequesting); SendCallFloorResponse(response); }
IEnumerator RoutineStimulation() { while (true) { if (IsStimulating) { int randomTerminal = Random.Range(0, (int)GameConfig.NumElevator); int randomFloor = Random.Range((int)GameConfig.GetBottomFloor(), (int)GameConfig.GetTopFloor() + 1); int randomPlace = Random.Range(1, 3); // Floor or elevator if (randomPlace == 1) // floor request elevator { // then up or down or both? int randomDirection = Random.Range(0, 2); Direction d = Direction.None; if (randomDirection == 0) { d = Direction.Up; } if (randomDirection == 1) { d = Direction.Down; } if (randomDirection == 2) { d = Direction.Both; } CallElevatorRequest request = new CallElevatorRequest((uint)randomFloor, d); terminalControllers[randomTerminal].FakeOnGetCallElevatorRequest(request); } else if (randomPlace == 2) // elevator call floor { CallFloorRequest request = new CallFloorRequest((uint)randomFloor); terminalControllers[randomTerminal].FakeOnGetCallFloorRequest(request); } } yield return(new WaitForSeconds(SpeedSendRequest)); } }
public void SendCallFloorRequest(uint level) { CallFloorRequest request = new CallFloorRequest(level); onCallRequestCallback?.Invoke(request); }
public void FakeOnGetCallFloorRequest(CallFloorRequest request) { Logger.Log(logTagReq, "FakeOnGetCallFloorRequest " + JsonUtility.ToJson(request)); HandleCallFloorRequest(request); }