private bool UpdateState(ref bool appState)
        {
            if (SRDProjectSettings.IsRunWithoutSRDisplayMode())
            {
                return(true);
            }

            var handle = SRDSessionHandler.SessionHandle;
            var result = SRDCorePlugin.GetActiveStateCrosstalkCorrection(handle, out var pluginState);

            if (result != SrdXrResult.SUCCESS)
            {
                Debug.LogWarning(string.Format("Failed to set CrosstalkCorrection setting: {0}", result));
            }
            else if (appState != pluginState)
            {
                Debug.LogWarning("CrosstalkCorrection setting is not changed. Check your UserSettings.ini");
            }

            appState = _previousFrameActiveState = pluginState;
            return(result == SrdXrResult.SUCCESS);
        }
Beispiel #2
0
        public static void PopupMessageAndForceToTerminate(string message, bool forceToTerminate = true)
        {
            if (SRDProjectSettings.IsRunWithoutSRDisplayMode())
            {
                return;
            }

            if (forceToTerminate && Application.isPlaying)
            {
                message += ("\n" + SRDHelper.SRDMessages.AppCloseMessage);
                SRDCorePlugin.ShowMessageBox("Error", message, Debug.LogError);

#if UNITY_EDITOR
                UnityEditor.EditorApplication.isPlaying = false;
#else
                Application.Quit();
#endif
            }
            else
            {
                SRDCorePlugin.ShowMessageBox("Error", message, Debug.LogError);
            }
        }