1
次のスクリプトでは、どのようにしてAssetsフォルダのスクリプトへのパスを取得できますか?ScriptableObjectのOnEnable関数が呼び出されていない
using UnityEngine;
using System.Reflection;
using System.IO;
using UnityEditor;
[InitializeOnLoad]
public class MyWindow : ScriptableObject
{
static string pathToScript;
[MenuItem("Window/My Window")]
static void Open()
{
// Do something with `pathToScript`
}
// This function is NOT called when the object is loaded.
protected void OnEnable()
{
var script = MonoScript.FromScriptableObject(this);
pathToScript = AssetDatabase.GetAssetPath(script);
}
}
問題は、それが呼び出されていないOnEnabled
、またそれはスクリプトへのパスを取得する唯一の方法インスタンスが必要ですAssetDatabase.GetAssetPath
ているようだということです。
Unityのバージョンは5.5.0b3です。