public virtual AssetMetadata GetMetadata(string id) { if (m_Cache != null) { AssetBase fullAsset; if (!m_Cache.Get(id, out fullAsset)) { return(null); } if (fullAsset != null) { return(fullAsset.Metadata); } } if (m_ServerURI == null) { return(null); } string uri = m_ServerURI + "/assets/" + id + "/metadata"; return(SynchronousRestObjectRequester.MakeGetRequest <AssetMetadata>(uri, 0, m_Auth)); }
private void AssetRequestProcessor(QueuedAssetRequest r) { string id = r.id; try { AssetBase a = SynchronousRestObjectRequester.MakeGetRequest <AssetBase>(r.uri, 30000, m_Auth); if (a != null && m_Cache != null) { m_Cache.Cache(a); } List <AssetRetrievedEx> handlers; lock (m_AssetHandlers) { handlers = m_AssetHandlers[id]; m_AssetHandlers.Remove(id); } if (handlers != null) { foreach (AssetRetrievedEx h in handlers) { try { h.Invoke(a); } catch { } } handlers.Clear(); } } catch { } }
public virtual AssetBase Get(string id) { AssetBase asset = null; if (m_Cache != null) { if (!m_Cache.Get(id, out asset)) { return(null); } } if (asset == null && m_ServerURI != null) { string uri = m_ServerURI + "/assets/" + id; asset = SynchronousRestObjectRequester.MakeGetRequest <AssetBase>(uri, 0, m_Auth); if (m_Cache != null) { if (asset != null) { m_Cache.Cache(asset); } else { m_Cache.CacheNegative(id); } } } return(asset); }