Init
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
|
||||
/*******************************************************************************
|
||||
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;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
#if UNITY_EDITOR || DEVELOPMENT_BUILD
|
||||
namespace Unity.XR.PXR.Debugger
|
||||
{
|
||||
|
||||
[CreateAssetMenu(fileName = "MainConfig", menuName = "ScriptableObjects / PXR_PicoDebuggerSO", order = 1)]
|
||||
public class PXR_PicoDebuggerSO : ScriptableObject
|
||||
{
|
||||
private static PXR_PicoDebuggerSO _instance;
|
||||
public static PXR_PicoDebuggerSO Instance
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_instance == null)
|
||||
{
|
||||
GetAsset(out PXR_PicoDebuggerSO picoDebuggerSO, "PXR_PicoDebuggerSO");
|
||||
_instance = picoDebuggerSO;
|
||||
}
|
||||
|
||||
return _instance;
|
||||
}
|
||||
}
|
||||
[Header("default")]
|
||||
public bool isOpen;
|
||||
public LauncherButton debuggerLauncherButton;
|
||||
public StartPosiion startPosition;
|
||||
[Header("console")]
|
||||
[Range(500,1000)]public int maxInfoCount;
|
||||
[Header("tools")]
|
||||
public LauncherButton rulerClearButton;
|
||||
internal static void GetAsset<T>(out T asset, string name) where T : PXR_PicoDebuggerSO
|
||||
{
|
||||
asset = null;
|
||||
#if UNITY_EDITOR
|
||||
string path = GetPath(name);
|
||||
asset = AssetDatabase.LoadAssetAtPath(path, typeof(T)) as T;
|
||||
|
||||
if (asset == null )
|
||||
{
|
||||
asset = ScriptableObject.CreateInstance<T>();
|
||||
AssetDatabase.CreateAsset(asset, path);
|
||||
}
|
||||
#else
|
||||
asset = Resources.Load<T>(name);
|
||||
#endif
|
||||
}
|
||||
#if UNITY_EDITOR
|
||||
internal static string GetPath(string name)
|
||||
{
|
||||
string resourcesPath = Path.Combine(Application.dataPath, "Resources");
|
||||
if (!Directory.Exists(resourcesPath))
|
||||
{
|
||||
Directory.CreateDirectory(resourcesPath);
|
||||
}
|
||||
string assetPath = Path.GetRelativePath(Application.dataPath, Path.GetFullPath(Path.Combine(resourcesPath, $"{name}.asset")));
|
||||
// Unity's AssetDatabase path requires a slash before "Assets"
|
||||
return "Assets/" + assetPath.Replace('\\', '/');
|
||||
}
|
||||
|
||||
public void AddToPreloadedAssets()
|
||||
{
|
||||
var preloadedAssets = PlayerSettings.GetPreloadedAssets().ToList();
|
||||
|
||||
if (!preloadedAssets.Contains(this))
|
||||
{
|
||||
preloadedAssets.Add(this);
|
||||
PlayerSettings.SetPreloadedAssets(preloadedAssets.ToArray());
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#if UNITY_EDITOR
|
||||
public static PXR_PicoDebuggerSO GetSerializedObject(string path)
|
||||
{
|
||||
var config = AssetDatabase.LoadAssetAtPath<PXR_PicoDebuggerSO>(path);
|
||||
if (config == null)
|
||||
{
|
||||
Debug.LogError("Failed to load PXR_PicoDebuggerSO at path: " + path);
|
||||
}
|
||||
return config;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d84923cab4d03452a8a3b80e3386b9b4
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user