以下是一个示例代码,展示了如何在编辑器脚本中引用所选的ScriptableObject:
using UnityEditor;
using UnityEngine;
public class MyEditorScript : EditorWindow
{
[MenuItem("MyMenu/Reference Selected ScriptableObject")]
private static void ReferenceSelectedScriptableObject()
{
// 获取当前选择的对象
Object selectedObject = Selection.activeObject;
// 判断当前选择的对象是否为ScriptableObject
if (selectedObject is ScriptableObject)
{
// 转换为ScriptableObject类型
ScriptableObject selectedScriptableObject = (ScriptableObject)selectedObject;
// 在编辑器脚本中引用所选的ScriptableObject
Debug.Log("Selected ScriptableObject: " + selectedScriptableObject.name);
}
else
{
Debug.LogError("Please select a ScriptableObject.");
}
}
}
在上述代码中,我们首先通过Selection.activeObject
获取当前选择的对象。然后,我们对选中的对象进行类型检查,确保它是一个ScriptableObject。如果是,我们将其转换为ScriptableObject类型,并在编辑器脚本中引用所选的ScriptableObject。
请注意,此示例代码是一个基本的示例,您可以根据自己的需求进行扩展和修改。