118 lines
3.8 KiB
C#
118 lines
3.8 KiB
C#
|
|
/*******************************************************************************
|
|||
|
|
Copyright © 2015-2022 PICO Technology Co., Ltd.All rights reserved.
|
|||
|
|
|
|||
|
|
NOTICE:All information contained herein is, and remains the property of
|
|||
|
|
PICO Technology Co., Ltd. The intellectual and technical concepts
|
|||
|
|
contained herein are proprietary to PICO Technology Co., Ltd. and may be
|
|||
|
|
covered by patents, patents in process, and are protected by trade secret or
|
|||
|
|
copyright law. Dissemination of this information or reproduction of this
|
|||
|
|
material is strictly forbidden unless prior written permission is obtained from
|
|||
|
|
PICO Technology Co., Ltd.
|
|||
|
|
*******************************************************************************/
|
|||
|
|
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using Unity.XR.PXR;
|
|||
|
|
using UnityEditor;
|
|||
|
|
using UnityEditor.XR.Management;
|
|||
|
|
using UnityEditor.XR.Management.Metadata;
|
|||
|
|
using UnityEngine;
|
|||
|
|
using UnityEngine.XR.Management;
|
|||
|
|
|
|||
|
|
namespace Pico.Platform.Editor
|
|||
|
|
{
|
|||
|
|
public class PicoGs
|
|||
|
|
{
|
|||
|
|
public static string appId
|
|||
|
|
{
|
|||
|
|
get { return PXR_PlatformSetting.Instance.appID; }
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
PXR_PlatformSetting.Instance.appID = value;
|
|||
|
|
EditorUtility.SetDirty(PXR_PlatformSetting.Instance);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public static bool useHighlight
|
|||
|
|
{
|
|||
|
|
get { return PXR_PlatformSetting.Instance.useHighlight; }
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
PXR_PlatformSetting.Instance.useHighlight = value;
|
|||
|
|
EditorUtility.SetDirty(PXR_PlatformSetting.Instance);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public static bool enableEntitlementCheck
|
|||
|
|
{
|
|||
|
|
get { return PXR_PlatformSetting.Instance.entitlementCheckSimulation; }
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
PXR_PlatformSetting.Instance.entitlementCheckSimulation = value;
|
|||
|
|
EditorUtility.SetDirty(PXR_PlatformSetting.Instance);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public static List<string> entitlementCheckDeviceList
|
|||
|
|
{
|
|||
|
|
get { return PXR_PlatformSetting.Instance.deviceSN; }
|
|||
|
|
set { PXR_PlatformSetting.Instance.deviceSN = value; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#if USING_XR_SDK_PICO&&!PICO_OPENXR_SDK
|
|||
|
|
static XRManagerSettings GetXrSettings()
|
|||
|
|
{
|
|||
|
|
XRGeneralSettings generalSettings = XRGeneralSettingsPerBuildTarget.XRGeneralSettingsForBuildTarget(BuildTargetGroup.Android);
|
|||
|
|
if (generalSettings == null) return null;
|
|||
|
|
var assignedSettings = generalSettings.AssignedSettings;
|
|||
|
|
return assignedSettings;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
static PXR_Loader GetPxrLoader()
|
|||
|
|
{
|
|||
|
|
var x = GetXrSettings();
|
|||
|
|
if (x == null) return null;
|
|||
|
|
foreach (var i in x.activeLoaders)
|
|||
|
|
{
|
|||
|
|
if (i is PXR_Loader)
|
|||
|
|
{
|
|||
|
|
return i as PXR_Loader;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return null;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public static bool UsePicoXr
|
|||
|
|
{
|
|||
|
|
get { return GetPxrLoader() != null; }
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
var x = GetXrSettings();
|
|||
|
|
if (x == null) return;
|
|||
|
|
var loader = GetPxrLoader();
|
|||
|
|
if (value == false)
|
|||
|
|
{
|
|||
|
|
if (loader == null)
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
x.TryRemoveLoader(loader);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
if (loader == null)
|
|||
|
|
{
|
|||
|
|
var res = XRPackageMetadataStore.AssignLoader(x, nameof(PXR_Loader), BuildTargetGroup.Android);
|
|||
|
|
Debug.Log($"设置XR{res} {value}");
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
#endif
|
|||
|
|
}
|
|||
|
|
}
|