private void SaveSettings(MixCastData.OculusOrigin newOrigin)
        {
            MixCast.Settings.oculusOrigin = newOrigin;

            if (saveToSettings)
            {
                MixCastRegistry.WriteData(MixCast.Settings);
            }
        }
        private bool WasOriginChanged(MixCastData.OculusOrigin oldOrigin, MixCastData.OculusOrigin newOrigin)
        {
            if (!oldOrigin.IsInitialized() ||
                !newOrigin.IsInitialized())
            {
                return(false);
            }

            return(oldOrigin != newOrigin);
        }
        /// <summary>
        /// Experimental, does not work for now. Applying position and rotation offset to cameras does not match.
        /// </summary>
        private void ApplyNewOffsetToSettings(MixCastData.OculusOrigin oldOrigin, MixCastData.OculusOrigin newOrigin)
        {
            var diff = new MixCastData.OculusOrigin()
            {
                position = newOrigin.position - oldOrigin.position,
                rotation = newOrigin.rotation - oldOrigin.rotation
            };

            diff.position.z = -diff.position.z;

            foreach (var camera in MixCast.Settings.cameras)
            {
                camera.worldPosition -= diff.position;
                camera.worldRotation *= Quaternion.Euler(diff.rotation);
            }
        }