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 –