public void OnRemotePlayerMovement_MovePlayerGameObject() { // Given const float horizontal = 1f; const float vertical = 2f; var jobj = JSONObjectBuilder.Empty() .WithPlayerId("TEST_ID") .WithMovementCoordinates(horizontal, vertical) .WrapAsPayload(); var socketEvent = SocketIOEventBuilder.New("test").WithData(jobj).Build(); const float time = 0.123f; unityTimeProxyMock.Setup(x => x.deltaTime).Returns(time); const float movementSpeed = 12f; const float rotationSpeed = 7f; controller.SetMovementSpeed(movementSpeed); controller.SetRotatonSpeed(rotationSpeed); // When Debug.Log(fakePlayerInstance.transform.position); controller.OnRemotePlayerMovement(socketEvent); Debug.Log(fakePlayerInstance.transform.position); // Then unityGameObjectProxyMock.Verify(x => x.Find("Player:TEST_ID"), Times.Once); const float rotationAngle = horizontal * rotationSpeed * time * Mathf.Rad2Deg; Assert.AreEqual(vertical * movementSpeed * time, fakePlayerInstance.transform.position.x); Assert.AreEqual(rotationAngle, fakePlayerInstance.transform.rotation.y); }
private static SocketIOEvent BuildSocketIOEventWithPlayer(string eventName, string playerId, float posX = 0F, float posY = 0F, float posZ = 0F) { var jobj = JSONObjectBuilder.Empty() .WithPayload(BuildJSONObjectWithPlayerId(playerId, posX, posY, posZ)) .Build(); var socketEvent = SocketIOEventBuilder.New(eventName).WithData(jobj).Build(); return(socketEvent); }
private static SocketIOEvent BuildOnPlayerReceivedEvent(List <JSONObject> players) { var jobj = JSONObjectBuilder.Empty() .WithField(SOCKET_DATA_FIELDS.Payload, players) .Build(); var socketEvent = SocketIOEventBuilder.New("test").WithData(jobj).Build(); var data = socketEvent.data.GetField("players"); return(socketEvent); }
private static SocketIOEvent BuildPlayerInitialPositionSocketEvent(float posX, float posY, float posZ) { var data = JSONObjectBuilder.Empty() .WithPosition(posX, posY, posZ) .WrapAsPayload(); var socketEvent = SocketIOEventBuilder.Empty(SOCKET_EVENTS.ServerWelcome) .WithData(data) .Build(); return(socketEvent); }