该项目的要求是创建一个工具,我可以通过编辑器脚本直接在游戏对象上定义简单的onClick,onTrigger或onCollision动作。
Unity已经在onClick的按钮上提供了一些东西,我可以在其中选择游戏对象,从而可以访问该游戏对象上的所有脚本及其功能,然后我只需选择一个在运行时执行的功能即可。
我需要什么-
OnCollisionTrigger->在编辑器中显示两个字段
1. Gameobject字段-我可以在其中轻松拖动任何场景GameObject的地方
2.功能列表,如“切换活动”,“销毁”等
我看了很多可用于编辑脚本的视频,但没有一个可以解释这些主题。
我知道我们在Unity Editor中拥有处理程序,可以很方便地完成很多工作。但是我对如何在编辑器上实现这样的东西一无所知。
我不确定是否可以以多种方式解决此问题。但是我还没有开始研究的起点。 实际上,在视频或文档中很少记录Unity编辑器脚本。 将我引导到正确方向的任何帮助都将真正帮助我。
非常感谢:)
答案 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();
}
}