protected override void OnUpdate()
        {
            Entities.With(inputGroup).ForEach(
                (ref CameraTransform cameraTransform, ref PlayerInput.Component playerInput) =>
            {
                var forward     = cameraTransform.Rotation * Vector3.up;
                var right       = cameraTransform.Rotation * Vector3.right;
                var input       = Input.GetAxisRaw("Horizontal") * right + Input.GetAxisRaw("Vertical") * forward;
                var isShiftDown = Input.GetKey(KeyCode.LeftShift);

                var oldPlayerInput = playerInput;

                if (Math.Abs(oldPlayerInput.Horizontal - input.x) > MinInputChange ||
                    Math.Abs(oldPlayerInput.Vertical - input.z) > MinInputChange ||
                    oldPlayerInput.Running != isShiftDown)
                {
                    var newPlayerInput = new PlayerInput.Component
                    {
                        Horizontal = input.x,
                        Vertical   = input.z,
                        Running    = isShiftDown
                    };

                    playerInput = newPlayerInput;
                }
            });
        }
        protected override void OnUpdate()
        {
            for (var i = 0; i < playerInputData.Length; i++)
            {
                var cameraTransform = playerInputData.CameraTransform[i];
                var forward         = cameraTransform.Rotation * Vector3.up;
                var right           = cameraTransform.Rotation * Vector3.right;
                var input           = Input.GetAxisRaw("Horizontal") * right + Input.GetAxisRaw("Vertical") * forward;
                var isShiftDown     = Input.GetKey(KeyCode.LeftShift);

                var oldPlayerInput = playerInputData.PlayerInput[i];

                if (Math.Abs(oldPlayerInput.Horizontal - input.x) > MinInputChange ||
                    Math.Abs(oldPlayerInput.Vertical - input.z) > MinInputChange ||
                    oldPlayerInput.Running != isShiftDown)
                {
                    var newPlayerInput = new PlayerInput.Component
                    {
                        Horizontal = input.x,
                        Vertical   = input.z,
                        Running    = isShiftDown
                    };
                    playerInputData.PlayerInput[i] = newPlayerInput;
                }
            }
        }