Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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));
            }
        }
Exemplo n.º 3
0
        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);
        }