📌  相关文章
📜  unity 查找某个类型的所有可编写脚本的对象 - C# (1)

📅  最后修改于: 2023-12-03 14:48:12.823000             🧑  作者: Mango

使用Unity查找某个类型的所有可编写脚本的对象 - C#

在Unity中,我们可以通过以下步骤查找某个类型的所有可编写脚本的对象:

  1. 首先,我们需要在Unity中创建一个名为"ScriptFinder"的C#脚本,然后将以下代码复制到该脚本中:
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"的窗口,并在该窗口中显示所有可编写脚本的对象。

  1. 在Unity中,选择"Window" -> "Script Finder",然后点击"Find Scripts"按钮,该程序将会查找所有可编写脚本的对象,并在窗口中显示出来。

  2. 可以使用滚动条来查看所有的对象。

以上就是如何使用Unity查找某个类型的所有可编写脚本的对象的方法。感谢您的阅读!

参考资料: