在运行时期间查找现有的 ScriptableObjects
要在运行时查找活动的 ScriptableObjects,可以使用 Resources.FindObjectsOfTypeAll()
。
T[] instances = Resources.FindObjectsOfTypeAll<T>();
其中 T
是你正在搜索的 ScriptableObject 实例的类型。活动意味着它之前已经以某种形式加载到内存中。
此方法非常慢,因此请记住缓存返回值并避免频繁调用它。直接在脚本中引用 ScriptableObjects 应该是你的首选选项。
提示: 你可以维护自己的实例集合以加快查找速度。让你的 ScriptableObjects 在
OnEnable()
期间将自己注册到共享集合。