1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- using System;
- using System.Runtime.InteropServices;
- using UnityEngine;
- using UnityEngine.XR.OpenXR;
- using UnityEngine.XR.OpenXR.Features;
- #if UNITY_EDITOR
- using UnityEditor.XR.OpenXR.Features;
- #endif
- namespace Unity.XR.OpenXR.Features.PICOSupport
- {
- #if UNITY_EDITOR
- [OpenXRFeature(UiName = "OpenXR Composition Layer Secure Content",
- Hidden = false,
- BuildTargetGroups = new[] { UnityEditor.BuildTargetGroup.Android },
- Company = "PICO",
- OpenxrExtensionStrings = extensionString,
- Version = "1.0.0",
- FeatureId = featureId)]
- #endif
- public class LayerSecureContentFeature : OpenXRFeatureBase
- {
- public const string featureId = "com.pico.openxr.feature.LayerSecureContent";
- public const string extensionString = "XR_FB_composition_layer_secure_content";
- public static bool isExtensionEnable =false;
- public override string GetExtensionString()
- {
- return extensionString;
- }
- public override void Initialize(IntPtr intPtr)
- {
- isExtensionEnable=_isExtensionEnable;
- }
- public override void SessionCreate()
- {
- PICOProjectSetting projectConfig = PICOProjectSetting.GetProjectConfig();
- if (projectConfig.useContentProtect)
- {
- SetSecureContentFlag(projectConfig.contentProtectFlags);
- }
- }
-
- public static void SetSecureContentFlag(SecureContentFlag flag)
- {
- if (!isExtensionEnable)
- {
- return;
- }
- setSecureContentFlag((int)flag);
- }
- const string extLib = "openxr_pico";
- [DllImport(extLib, EntryPoint = "PICO_setSecureContentFlag", CallingConvention = CallingConvention.Cdecl)]
- private static extern void setSecureContentFlag(Int32 flag);
- }
- }
|