public static void Default_1_Check() { var openVRManager = OpenVRManager.GetInstance(); var checkResult = openVRManager.Check(); Logger.GetInstance(typeof(OpenVRManagerTests)).Info($"IsApiReady: {checkResult.IsApiReady}"); Logger.GetInstance(typeof(OpenVRManagerTests)).Info($"IsHmdPresent: {checkResult.IsHmdPresent}"); Logger.GetInstance(typeof(OpenVRManagerTests)).Info($"IsRuntimeInstalled: {checkResult.IsRuntimeInstalled}"); Logger.GetInstance(typeof(OpenVRManagerTests)).Info($"IsRuntimeRunning: {checkResult.IsRuntimeRunning}"); }
public static void Default_2_IsRuntimeConnected() { var openVRManager = OpenVRManager.GetInstance(); var checkResult = openVRManager.Check(); if (!checkResult.IsApiReady) { Logger.GetInstance(typeof(OpenVRManagerTests)).Warn("OpenVR API is not ready. Skip"); return; } if (!checkResult.IsRuntimeRunning) { Logger.GetInstance(typeof(OpenVRManagerTests)).Warn("OpenVR runtime is not running. Try to launch runtime"); var success = openVRManager.LaunchRuntime(); if (!success) { Logger.GetInstance(typeof(OpenVRManagerTests)).Warn("OpenVR runtime can not be launched. Skip"); return; } SpinWait.SpinUntil(() => false, TimeSpan.FromSeconds(RuntimeLaunchingTimeInSec)); } openVRManager.OnEnableHomeAppSettingsHaveChanged += OpenVRManager_OnEnableHomeAppSettingsHaveChanged; openVRManager.OnSceneApplicationStateChanged += OpenVRManager_OnSceneApplicationStateChanged; var isRuntimeConnected = openVRManager.IsRuntimeConnected(); if (isRuntimeConnected) { Assert.True(openVRManager.DisconnectRuntime()); } Assert.False(openVRManager.IsRuntimeConnected()); var connected = openVRManager.ConnectRuntime(); if (!connected) { Logger.GetInstance(typeof(OpenVRManagerTests)).Error($"Con not connect to OpenVR runtime. error: {openVRManager.GetLastRuntimeConnectingError()}"); return; } Assert.True(openVRManager.ConnectRuntime()); Assert.True(openVRManager.IsRuntimeConnected()); Assert.True(openVRManager.DisconnectRuntime()); Assert.True(openVRManager.DisconnectRuntime()); Assert.False(openVRManager.IsRuntimeConnected()); }
public static void Default_3_EnableHomeApp() { var openVRManager = OpenVRManager.GetInstance(); var checkResult = openVRManager.Check(); if (!checkResult.IsApiReady) { Logger.GetInstance(typeof(OpenVRManagerTests)).Warn("OpenVR API is not ready. Skip"); return; } if (!checkResult.IsRuntimeRunning) { Logger.GetInstance(typeof(OpenVRManagerTests)).Warn("OpenVR runtime is not running. Try to launch runtime"); var success = openVRManager.LaunchRuntime(); if (!success) { Logger.GetInstance(typeof(OpenVRManagerTests)).Warn("OpenVR runtime can not be launched. Skip"); return; } SpinWait.SpinUntil(() => false, TimeSpan.FromSeconds(RuntimeLaunchingTimeInSec)); } openVRManager.OnEnableHomeAppSettingsHaveChanged += OpenVRManager_OnEnableHomeAppSettingsHaveChanged; var isRuntimeConnected = openVRManager.IsRuntimeConnected(); if (!isRuntimeConnected) { var connected = openVRManager.ConnectRuntime(); if (!connected) { Logger.GetInstance(typeof(OpenVRManagerTests)).Error($"Con not connect to OpenVR runtime. error: {openVRManager.GetLastRuntimeConnectingError()}"); return; } } var isHomeAppEnabled = openVRManager.IsHomeAppEnabled(); if (isHomeAppEnabled) { const string homeAppKey = "openvr.tool.steamvr_environments"; var homeAppProcessId = openVRManager.GetApplicationProcessId(homeAppKey); Logger.GetInstance(typeof(OpenVRManagerTests)).Info($"{homeAppKey}({homeAppProcessId})"); Assert.False(homeAppProcessId == 0); Assert.True(openVRManager.EnableHomeApp(false)); Assert.True(openVRManager.EnableHomeApp(false)); Assert.False(openVRManager.IsHomeAppEnabled()); SpinWait.SpinUntil(() => false, TimeSpan.FromSeconds(HomeAppKillingTimeInSec)); var applicationError = openVRManager.LaunchApplication(homeAppKey); Logger.GetInstance(typeof(OpenVRManagerTests)).Info($"Try to launch {homeAppKey}, error: {applicationError}"); Assert.True(applicationError == OpenVRManager.ApplicationError.None || applicationError == OpenVRManager.ApplicationError.ApplicationAlreadyRunning); } else { Assert.True(openVRManager.EnableHomeApp(true)); Assert.True(openVRManager.EnableHomeApp(true)); Assert.True(openVRManager.IsHomeAppEnabled()); } }
public static void Default_0_GetInstance() { var openVRManager = OpenVRManager.GetInstance(); Assert.NotNull(openVRManager); }
private static void Main(string[] args) { var openVRManager = OpenVRManager.GetInstance(); openVRManager.OnRuntimeConnected += OpenVRManager_OnRuntimeConnected; openVRManager.OnRuntimeDisconnected += OpenVRManager_OnRuntimeDisconnected; openVRManager.OnRuntimeKilled += OpenVRManager_OnRuntimeKilled; openVRManager.OnRuntimeLaunched += OpenVRManager_OnRuntimeLaunched; Logger.GetInstance(typeof(Program)).Info("Start OpenVR runtime watching"); openVRManager.StartRuntimeWatching(); Console.ReadKey(); var checkResult = openVRManager.Check(); var isApiReady = checkResult.IsApiReady; var isRuntimeInstalled = checkResult.IsRuntimeInstalled; var isRuntimeRunning = checkResult.IsRuntimeRunning; Logger.GetInstance(typeof(Program)).Info($"IsApiReady: {isApiReady}"); Logger.GetInstance(typeof(Program)).Info($"IsHmdPresent: {checkResult.IsHmdPresent}"); Logger.GetInstance(typeof(Program)).Info($"IsRuntimeInstalled: {isRuntimeInstalled}"); Logger.GetInstance(typeof(Program)).Info($"IsRuntimeRunning: {isRuntimeRunning}"); if (!isApiReady) { Logger.GetInstance(typeof(Program)).Error("OpenVR API is not ready."); return; } if (!isRuntimeInstalled) { Logger.GetInstance(typeof(Program)).Error("OpenVR runtime is not installed."); return; } if (!isRuntimeRunning) { Logger.GetInstance(typeof(Program)).Error("OpenVR runtime is not running. Try to launch runtime"); var success = openVRManager.LaunchRuntime(); if (!success) { Logger.GetInstance(typeof(Program)).Warn("OpenVR runtime can not be launched. Skip"); return; } } Console.ReadKey(); openVRManager.OnEnableHomeAppSettingsHaveChanged += OpenVRManager_OnEnableHomeAppSettingsHaveChanged; openVRManager.OnSceneApplicationStateChanged += OpenVRManager_OnSceneApplicationStateChanged; var isRuntimeConnected = openVRManager.IsRuntimeConnected(); if (!isRuntimeConnected) { Logger.GetInstance(typeof(Program)).Info("OpenVR runtime is not connected yet. try to connect."); var connected = openVRManager.ConnectRuntime(); if (!connected) { Logger.GetInstance(typeof(Program)).Error($"Con not connect to OpenVR runtime. error: {openVRManager.GetLastRuntimeConnectingError()}"); return; } } Logger.GetInstance(typeof(Program)).Info("OpenVR runtime is connected."); Logger.GetInstance(typeof(Program)).Info($"EnableHomeApp: {openVRManager.IsHomeAppEnabled()}"); Logger.GetInstance(typeof(Program)).Info($"SceneApplicationState: {openVRManager.GetSceneApplicationState()}"); Console.ReadKey(); Logger.GetInstance(typeof(Program)).Info("Try to disconnect and reconnect OpenVR runtime."); var disconnected = openVRManager.DisconnectRuntime(); if (!disconnected) { Logger.GetInstance(typeof(Program)).Error("Con not disconnect to OpenVR runtime. part 1"); return; } isRuntimeConnected = openVRManager.IsRuntimeConnected(); if (isRuntimeConnected) { Logger.GetInstance(typeof(Program)).Error("Con not disconnect to OpenVR runtime. part 2"); return; } var reconnected = openVRManager.ConnectRuntime(); if (!reconnected) { Logger.GetInstance(typeof(Program)).Error("Con not reconnect to OpenVR runtime. part 1"); return; } isRuntimeConnected = openVRManager.IsRuntimeConnected(); if (!isRuntimeConnected) { Logger.GetInstance(typeof(Program)).Error("Con not reconnect to OpenVR runtime. part 2"); return; } Logger.GetInstance(typeof(Program)).Info("OpenVR runtime is reconnected."); Console.ReadKey(); var killed = openVRManager.KillRuntime(); if (!killed) { Logger.GetInstance(typeof(Program)).Error("Can not kill OpenVR runtime"); } Console.ReadKey(); Logger.GetInstance(typeof(Program)).Info("Stop OpenVR runtime watching"); openVRManager.StopRuntimeWatching(); Console.ReadKey(); Logger.GetInstance(typeof(Program)).Info("Done"); }