// 卸载 public void unload() { ob = null; obs = null; if (status == XLoadStatus.LOADING || status == XLoadStatus.NONE) { status = XLoadStatus.FAIL; } XAssetKey key = new XAssetKey { res = res, all = all, tp = tp }; // 一般情况下都是属于bundle的,另外Editor模式是属于别的 if (bundle == null) { XLoad.instance.unloadAssetInfoFromCache(key); } else { // 属于bundle的 bundle.unloadAssetInfo(key); } }
public XAssetInfo getAssetInfoFromCache(XAssetKey key, XLoadStatus status) { if (assets.ContainsKey(key)) { return(assets[key]); } XAssetInfo value = new XAssetInfo { res = key.res, all = key.all, tp = key.tp, status = status }; assets[key] = value; return(value); }
// public void unloadBundle() { // 释放函数 if (ab != null) { if (this.assets.Count > 0) { XDebug.LogWarning(this.res + ",有还有" + this.assets.Count + "资源未释放"); } ab.Unload(true); ab = null; } // 恢复到初始状态 this.status = XLoadStatus.NONE; }