public void LoadLibrary(string assetLibrary, int ordinal, bool loadIIDtoPID, bool loadPIDtoObj, Action <bool> callback) { if (m_ordinalToLib.ContainsKey(ordinal)) { Debug.LogWarningFormat("Asset Library {0} with this same ordinal {1} already loaded", m_ordinalToLib[ordinal].name, ordinal); callback(false); return; } ResourceRequest request = Resources.LoadAsync <AssetLibraryAsset>(assetLibrary); Action <AsyncOperation> completed = null; completed = ao => { AssetLibraryAsset assetLib = (AssetLibraryAsset)request.asset; if (assetLib == null) { if (IsBuiltinLibrary(ordinal)) { if (ordinal - AssetLibraryInfo.BUILTIN_FIRST == 0) { Debug.LogWarningFormat("Asset Library was not found : {0}. Click Tools->Runtime SaveLoad->Update Libraries.", assetLibrary); } } else if (IsSceneLibrary(ordinal)) { if (ordinal - AssetLibraryInfo.SCENELIB_FIRST == 0) { Debug.LogWarningFormat("Asset Library was not found : {0}. Click Tools->Runtime SaveLoad->Update Libraries.", assetLibrary); } } else { Debug.LogWarningFormat("Asset Library was not found : {0}", assetLibrary); } callback(false); return; } AddLibrary(assetLib, ordinal, loadIIDtoPID, loadPIDtoObj); callback(true); request.completed -= completed; }; request.completed += completed; }
public bool AddLibrary(AssetLibraryAsset assetLib, int ordinal, bool IIDtoObj, bool PIDtoObj) { if (m_ordinalToLib.ContainsKey(ordinal)) { Debug.LogWarningFormat("Asset Library with ordinal {0} already loadeded", assetLib.Ordinal); return(false); } if (m_loadedLibraries.Contains(assetLib)) { Debug.LogWarning("Asset Library already added"); return(false); } assetLib.Ordinal = ordinal; m_loadedLibraries.Add(assetLib); m_ordinalToLib.Add(ordinal, assetLib); LoadMapping(ordinal, IIDtoObj, PIDtoObj); return(true); }