(Unity) 如何从 GameObject 获取通用组件 class?
(Unity) How to get generic component class from GameObject?
如何在 Unity 中从生成的 GameObject 获取通用组件?
即我有一个基础通用 class:
class Base<T> : MonoBehaviour where T : MonoBehaviour
{
public Foo() {}
}
并导出 class:
class Example : Base<Example>
{
}
而且我想从生成的 GameObject 中获取这个 class,我将其作为组件附加到其中。
我试过了,但我的结果是空的,所以我决定寻求帮助:)
// @object - Spawned before and exists.
Base<MonoBehaviour> tmp = @object.GetComponent<Base<MonoBehaviour>>();
尝试使用接口实现:
class Base<T> : MonoBehaviour, IBase where T : MonoBehaviour
并从 GO 获取界面:
var tmp = @object.GetComponent<IBase>();
如何在 Unity 中从生成的 GameObject 获取通用组件?
即我有一个基础通用 class:
class Base<T> : MonoBehaviour where T : MonoBehaviour
{
public Foo() {}
}
并导出 class:
class Example : Base<Example>
{
}
而且我想从生成的 GameObject 中获取这个 class,我将其作为组件附加到其中。
我试过了,但我的结果是空的,所以我决定寻求帮助:)
// @object - Spawned before and exists.
Base<MonoBehaviour> tmp = @object.GetComponent<Base<MonoBehaviour>>();
尝试使用接口实现:
class Base<T> : MonoBehaviour, IBase where T : MonoBehaviour
并从 GO 获取界面:
var tmp = @object.GetComponent<IBase>();