创建类似Game Creator的工具| Unity编辑器自定义

时间:2019-07-01 17:18:58

标签: unity3d unity-editor

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

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

我需要什么-
OnCollisionTrigger->在编辑器中显示两个字段
1. Gameobject字段-我可以在其中轻松拖动任何场景GameObject的地方
2.功能列表,如“切换活动”,“销毁”等

我看了很多可用于编辑脚本的视频,但没有一个可以解释这些主题。

我知道我们在Unity Editor中拥有处理程序,可以很方便地完成很多工作。但是我对如何在编辑器上实现这样的东西一无所知。

我不确定是否可以以多种方式解决此问题。但是我还没有开始研究的起点。 实际上,在视频或文档中很少记录Unity编辑器脚本。 将我引导到正确方向的任何帮助都将真正帮助我。

非常感谢:)

1 个答案:

答案 0 :(得分:2)

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

在下面的示例中,我创建了一个示例类,该类在调用SomeFunction时触发OnSomethingHappened事件(您可以将其命名为OnClick或其他名称)。因为我“调用”了该事件。

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

using UnityEngine;
using UnityEngine.Events;

public class Example : MonoBehaviour
{
    public UnityEvent OnSomethingHappened;

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

}