0
我一直在寻找这么多来解决我的问题,但我什么也没找到。C#UnityEvents - 覆盖
那么,我的问题是什么? 我有一个从UnityEvent扩展的类,它有2个虚拟方法,它在另一个应该调用这些方法的文件中有公共标识符。但是,当我把我的脚本放在检查器中时,什么都没有发生(除了root虚拟方法)。
类:
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) {
}
}
}
我overrided在一个文件中的方法和但可变的“剧本”如下图所示,但他们没有overrided。使用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(参数)是OnSomething(参数)。这同样适用于OnClickListener –