创建类似的工具,如 Game Creator | Unity 编辑器定制

Creating similar tool like Game Creator | Unity Editor Customization

该项目的要求是创建一个工具,我可以使用该工具直接通过编辑器脚本对游戏对象定义简单的 onClick、onTrigger 或 onCollision 操作。

Unity 已经在 onClick 按钮上提供了一些东西,我可以在其中 select 游戏对象,这让我可以访问该游戏对象上的所有脚本及其功能,然后我只需 select在运行时执行的函数。

我需要的-
OnCollisionTrigger -> 它在编辑器中显示两个字段
1. 游戏对象字段——我可以简单地拖动任何场景游戏对象
2. Toggle Active, Destroy等函数列表

我看过许多可用于编辑器脚本的视频,但none 可以解释这些主题。

我知道我们在 Unity Editor 中有句柄,它非常适合做很多事情。但是我真的不知道如何在编辑器上实现这样的东西。

我不确定这个问题是否可以通过多种方式解决。但我没有得到我需要开始研究的起点。 Unity Editor 脚本在视频或文档中的记录确实较少。 任何指导我正确方向的帮助都会真正帮助我。

提前致谢:)

你需要的是UnityEvents。当您创建一个 UI.Button 对象时,它有一个名为 OnClick 的 UnityEvent。

在下面的示例中,我创建了一个示例 class,它会在调用 SomeFunction 时触发 OnSomethingHappened 事件(您可以将其命名为 OnClick 或其他任何名称)。因为我'invoked'事件。

如果将其拖放到游戏对象上,您将看到 OnSomethingHappened 事件作为 UI.Button 的 OnClick 事件。

using UnityEngine;
using UnityEngine.Events;

public class Example : MonoBehaviour
{
    public UnityEvent OnSomethingHappened;

    private void SomeFunction() {
        OnSomethingHappened.Invoke();
    }

}