private void FixedUpdate() { timeNow += Time.deltaTime; if (timeNow < TIME_DELAY) { return; } timeNow = 0; var newPosition = transform.position.ToCoordinates(); var newRotation = QuantizationUtils.QuantizeAngle(transform.rotation.eulerAngles.y); // 沿Y轴旋转 fixedFramesSinceLastUpdate++; if ((PositionNeedsUpdate(newPosition) || RotationNeedsUpdate(newRotation)) && fixedFramesSinceLastUpdate > SimulationSettings.TransformUpdatesToSkipBetweenSends) { fixedFramesSinceLastUpdate = 0; var update = new Position.Update() { Coords = newPosition }; positionComponent.SendUpdate(update); var update2 = new TransformComponent.Update() { Rotation = newRotation }; transformComponent.SendUpdate(update2); } }
private void FixedUpdate() { var newPosition = transform.position.ToCoordinates(); var newRotation = QuantizationUtils.QuantizeAngle(transform.rotation.eulerAngles.y); fixedFramesSinceLastUpdate++; if ((PositionNeedsUpdate(newPosition) || RotationNeedsUpdate(newRotation)) && fixedFramesSinceLastUpdate > SimulationSettings.TransformUpdatesToSkipBetweenSends) { fixedFramesSinceLastUpdate = 0; transformComponent.Send(new TransformComponent.Update().SetPosition(newPosition).SetRotation(newRotation)); } }
private void SendPosition() { var newPosition = transform.position.ToCoordinates(); var newRotation = QuantizationUtils.QuantizeAngle(transform.rotation.eulerAngles.y); // 沿Y轴旋转 var update = new Position.Update() { Coords = newPosition }; positionComponent.SendUpdate(update); var update2 = new TransformComponent.Update() { Rotation = newRotation }; transformComponent.SendUpdate(update2); }