WuhuIslandTesting/Library/PackageCache/com.unity.xr.oculus@4.0.0/Runtime/OculusDevelopment.cs
2025-01-07 02:06:59 +01:00

48 lines
1.6 KiB
C#

using System;
using UnityEngine;
namespace Unity.XR.Oculus
{
public static class Development
{
private enum UserDeveloperModeSettingCache
{
NoUserSettingCached = 0,
UserSettingFalse = 1,
UserSettingTrue = 2
}
private static UserDeveloperModeSettingCache s_CachedMode = UserDeveloperModeSettingCache.NoUserSettingCached;
/// <summary>
/// Enable or disable developer mode, default enable in development build
/// </summary>
public static void TrySetDeveloperMode(bool active)
{
//cache this setting to use it in Start() only
s_CachedMode = active ? UserDeveloperModeSettingCache.UserSettingTrue : UserDeveloperModeSettingCache.UserSettingFalse;
}
internal static void OverrideDeveloperModeStart()
{
bool enable = true;
bool shouldOverride = false;
if (s_CachedMode != UserDeveloperModeSettingCache.NoUserSettingCached)
{
shouldOverride = true;
enable = (s_CachedMode == UserDeveloperModeSettingCache.UserSettingTrue);
}
else if (Debug.isDebugBuild)
shouldOverride = true;
if (shouldOverride && !NativeMethods.SetDeveloperModeStrict(enable))
Debug.LogError("Failed to set DeveloperMode on Start.");
}
internal static void OverrideDeveloperModeStop()
{
if (!NativeMethods.SetDeveloperModeStrict(false))
Debug.LogError("Failed to set DeveloperMode to false on Stop.");
}
}
}