📅  最后修改于: 2023-12-03 14:48:12.823000             🧑  作者: Mango
在Unity中,我们可以通过以下步骤查找某个类型的所有可编写脚本的对象:
using UnityEngine;
using System.Collections.Generic;
using UnityEditor;
public class ScriptFinder : EditorWindow
{
private List<MonoBehaviour> scripts = new List<MonoBehaviour>();
private Vector2 scrollPosition;
[MenuItem("Window/Script Finder")]
static void Init()
{
ScriptFinder window = (ScriptFinder)EditorWindow.GetWindow(typeof(ScriptFinder));
window.Show();
}
void OnGUI()
{
if (GUILayout.Button("Find Scripts"))
{
scripts.Clear();
MonoBehaviour[] allScripts = FindObjectsOfType<MonoBehaviour>();
foreach (MonoBehaviour script in allScripts)
{
if (!EditorUtility.IsPersistent(script))
{
scripts.Add(script);
}
}
}
GUILayout.Space(10);
scrollPosition = GUILayout.BeginScrollView(scrollPosition);
foreach (MonoBehaviour script in scripts)
{
GUILayout.Label(script.name);
}
GUILayout.EndScrollView();
}
}
这段代码会创建一个名为"Script Finder"的窗口,并在该窗口中显示所有可编写脚本的对象。
在Unity中,选择"Window" -> "Script Finder",然后点击"Find Scripts"按钮,该程序将会查找所有可编写脚本的对象,并在窗口中显示出来。
可以使用滚动条来查看所有的对象。
以上就是如何使用Unity查找某个类型的所有可编写脚本的对象的方法。感谢您的阅读!
参考资料: