在运行时期间查找现有的 ScriptableObjects

要在运行时查找活动的 ScriptableObjects,可以使用 Resources.FindObjectsOfTypeAll()

T[] instances = Resources.FindObjectsOfTypeAll<T>();

其中 T 是你正在搜索的 ScriptableObject 实例的类型。活动意味着它之前已经以某种形式加载到内存中。

此方法非常慢,因此请记住缓存返回值并避免频繁调用它。直接在脚本中引用 ScriptableObjects 应该是你的首选选项。

提示: 你可以维护自己的实例集合以加快查找速度。让你的 ScriptableObjects 在 OnEnable() 期间将自己注册到共享集合。