version 2.5.0
This commit is contained in:
64
com.htc.upm.vive.openxr/Editor/ViveMockRuntimeEditor.cs
Normal file
64
com.htc.upm.vive.openxr/Editor/ViveMockRuntimeEditor.cs
Normal file
@@ -0,0 +1,64 @@
|
||||
// Copyright HTC Corporation All Rights Reserved.
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
using VIVE.OpenXR.Feature;
|
||||
|
||||
namespace VIVE.OpenXR.Editor
|
||||
{
|
||||
[CustomEditor(typeof(ViveMockRuntime))]
|
||||
internal class ViveMockRuntimeEditor : UnityEditor.Editor
|
||||
{
|
||||
private SerializedProperty enableFuture;
|
||||
private SerializedProperty enableAnchor;
|
||||
|
||||
void OnEnable()
|
||||
{
|
||||
enableFuture = serializedObject.FindProperty("enableFuture");
|
||||
enableAnchor = serializedObject.FindProperty("enableAnchor");
|
||||
}
|
||||
|
||||
public override void OnInspectorGUI()
|
||||
{
|
||||
serializedObject.Update();
|
||||
// Show a text field for description
|
||||
EditorGUILayout.HelpBox("VIVE's mock runtime. Used with OpenXR MockRuntime to test unsupported extensions and features on Editor.", MessageType.Info);
|
||||
|
||||
if (GUILayout.Button("Install MockRuntime Library")) {
|
||||
InstallMockRuntimeLibrary();
|
||||
}
|
||||
|
||||
// check if changed
|
||||
EditorGUI.BeginChangeCheck();
|
||||
EditorGUILayout.PropertyField(enableFuture);
|
||||
if (EditorGUI.EndChangeCheck()) {
|
||||
if (!enableFuture.boolValue) {
|
||||
enableAnchor.boolValue = false;
|
||||
}
|
||||
}
|
||||
|
||||
EditorGUI.BeginChangeCheck();
|
||||
EditorGUILayout.PropertyField(enableAnchor);
|
||||
if (EditorGUI.EndChangeCheck()) {
|
||||
if (enableAnchor.boolValue) {
|
||||
enableFuture.boolValue = true;
|
||||
}
|
||||
}
|
||||
|
||||
serializedObject.ApplyModifiedProperties();
|
||||
}
|
||||
|
||||
public void InstallMockRuntimeLibrary() {
|
||||
string sourcePathName = "Packages/com.htc.upm.vive.openxr/MockRuntime~/Win64/ViveMockRuntime.dll";
|
||||
string destPath = "Assets/Plugins/Win64";
|
||||
string destPathName = "Assets/Plugins/Win64/ViveMockRuntime.dll";
|
||||
|
||||
// check if the folder exists. If not, create it.
|
||||
if (!System.IO.Directory.Exists(destPath)) {
|
||||
System.IO.Directory.CreateDirectory(destPath);
|
||||
}
|
||||
|
||||
FileUtil.CopyFileOrDirectory(sourcePathName, destPathName);
|
||||
AssetDatabase.Refresh();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user