具有可脚本化对象的Unity事件系统:如何完全避免使用单例

时间:2018-10-12 17:41:07

标签: unity3d unityscript

我有一个可脚本编写的对象,该对象是从MonoBehaviour实例化的。我能够在两者之间来回交流并相应地引发事件。但是我场景中还有更多的MonoBehaviours,它们也需要对可编写脚本的对象进行其他来回操作。可编写脚本的对象“属于”实例化该对象的特定MonoBehaviour。

所以我的问题是:如何从“ MonoBehaviour B”,“ MonoBehaviour C”,“ MonoBehaviour D”等访问“ MonoBehaviour A”实例化的可脚本化对象?

现在我将“ Monobehaviour A”制作为单例,因此场景中的其他MonoBehaviours可以访问它。

1 个答案:

答案 0 :(得分:0)

您可以使用Resources.FindObjectsOfTypeAll来查找特定类型ScriptableObject的所有实例。

如果MonoBehaviours中只有一个(假设您使用单例,我可以假设)

var scriptableObject = Resources.FindObjectsOfTypeAll(typeof(YOUR_SCRIPTABLE_CLASS))[0];