internal AssetRequest(AssetBundleManager manager, Int32 priority, AssetBundleCache assetBundleCache, AssetKey assetKey, AssetRequestCallback callback) : base(manager) { m_Priority = priority; m_AssetBundleCache = assetBundleCache; m_AssetKey = assetKey; m_Callback = callback; }
public void GetAsset(UUID assetId, AssetRequestCallback callback, AssetRequestInfo requestInfo) { requestInfo.AssetId = assetId; requestInfo.Callback = callback; if (IsNegativeCached(assetId)) { callback(assetId, null); } else { m_assetServer.RequestAsset(assetId, requestInfo); } }
private void ExecuteCallback() { if (m_Callback != null) { try { m_Callback(this); } catch (Exception exception) { Debug.LogException(exception); } m_Callback = null; } }
private static Boolean LoadPrefab(String assetName, AssetRequestCallback callback, Object userToken) { AssetRequest assetRequest = null; if (LegacyLogic.Instance.ModController.InModMode) { assetRequest = AssetBundleManagers.Instance.Mod.RequestAsset(assetName, 0, callback, userToken); } if (assetRequest == null) { assetRequest = AssetBundleManagers.Instance.Main.RequestAsset(assetName, 0, callback, userToken); } if (assetRequest == null) { Debug.LogError("Prefab not found! " + assetName); return(true); } return(assetRequest.Status >= ERequestStatus.Done); }
protected void WithNotecard(UUID assetID, AssetRequestCallback cb) { World.AssetService.Get(assetID.ToString(), this, delegate(string i, object sender, AssetBase a) { UUID uuid = UUID.Zero; UUID.TryParse(i, out uuid); cb(uuid, a); }); }
public void GetAsset(UUID assetID, AssetRequestCallback callback, bool isTexture) { throw new NotImplementedException(); }
public void GetAsset(UUID assetId, AssetRequestCallback callback, AssetRequestInfo requestInfo) { requestInfo.AssetId = assetId; requestInfo.Callback = callback; if (IsNegativeCached(assetId)) callback(assetId, null); else m_assetServer.RequestAsset(assetId, requestInfo); }
public AssetRequest RequestAsset(String assetName, Int32 priority, AssetRequestCallback callback, Object userToken) { return(RequestAsset(assetName, typeof(UnityEngine.Object), priority, callback, userToken)); }
public AssetRequest RequestAsset(String assetName, Type assetType, Int32 priority, AssetRequestCallback callback, Object userToken) { if (String.IsNullOrEmpty(assetName)) { throw new ArgumentException("value is null or empty", "assetName"); } if (assetType == null) { throw new ArgumentNullException("assetType"); } if (!assetType.IsAssignableFrom(typeof(UnityEngine.Object))) { throw new ArgumentException("asset type is not a subclass of UnityEngine.Object", "assetType"); } if (m_Database == null || m_AssetBundles == null) { throw new InvalidOperationException("Database not loaded!"); } AssetBundleData assetBundleData = m_Database.FindBundleByAssetName(assetName); AssetBundleCache assetBundleCache; if (assetBundleData != null && m_AssetBundles.TryGetValue(assetBundleData.Name, out assetBundleCache)) { AssetRequest assetRequest = new AssetRequest(this, priority, assetBundleCache, new AssetKey(assetName, assetType), callback); assetRequest.Tag = userToken; m_RequestTasks.Add(assetRequest); m_SortRequestFlag = true; m_CheckTaskFlag = true; return(assetRequest); } return(null); }