在執行時期間查詢現有的 ScriptableObjects
要在執行時查詢活動的 ScriptableObjects,可以使用 Resources.FindObjectsOfTypeAll()
。
T[] instances = Resources.FindObjectsOfTypeAll<T>();
其中 T
是你正在搜尋的 ScriptableObject 例項的型別。活動意味著它之前已經以某種形式載入到記憶體中。
此方法非常慢,因此請記住快取返回值並避免頻繁呼叫它。直接在指令碼中引用 ScriptableObjects 應該是你的首選選項。
提示: 你可以維護自己的例項集合以加快查詢速度。讓你的 ScriptableObjects 在
OnEnable()
期間將自己註冊到共享集合。