在執行時期間查詢現有的 ScriptableObjects

要在執行時查詢活動的 ScriptableObjects,可以使用 Resources.FindObjectsOfTypeAll()

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

其中 T 是你正在搜尋的 ScriptableObject 例項的型別。活動意味著它之前已經以某種形式載入到記憶體中。

此方法非常慢,因此請記住快取返回值並避免頻繁呼叫它。直接在指令碼中引用 ScriptableObjects 應該是你的首選選項。

提示: 你可以維護自己的例項集合以加快查詢速度。讓你的 ScriptableObjects 在 OnEnable() 期間將自己註冊到共享集合。