【发布时间】:2017-12-12 06:58:13
【问题描述】:
我一直在寻找解决问题的方法,但一无所获。
那么,我的问题是什么? 我有一个从 UnityEvent 扩展的类,它有 2 个虚拟方法,并且在另一个应该调用这些方法的文件中有公共标识符。但是当我将脚本放入检查器时,什么也没有发生(除了根虚拟方法)。
班级:
using UnityEngine;
using UnityEngine.Events;
using System.Collections;
namespace Namespace {
[System.Serializable]
public class SomeClass : UnityEvent {
public virtual void OnSomething(GameObject objectSender, GameObject objectAction) {
}
public virtual void OnSomethingElse(GameObject objectSender, GameObject objectAction) {
}
}
}
我在一个文件中覆盖了这些方法,但在下面显示的变量“脚本”中,但它们没有被覆盖。 并使用 SomeClass:
using UnityEngine;
using UnityEngine.Events;
using System.Collections;
namespace Namespace {
public class ActionListener : MonoBehaviour {
public SomeClass script;
// When I lose last hope
// private void Start() {
// script.Invoke();
//}
public void OnHover(GameObject sender, GameObject action) {
script.OnHoverListener(sender, action);
}
public void OnClick(GameObject sender, GameObject action) {
script.OnClickListener(sender, action);
}
}
}
【问题讨论】:
-
script.OnHoverListener(args) 是 OnSomething(args)。这同样适用于 OnClickListener
标签: c# inheritance events unity5 extends