public static Res GetRes(string resName, string assetBundleName = null) { Res res = SharedLoadedReses.Find(loadedAsset => loadedAsset.Name == resName); if (res != null) { res.Retain(); return(res); } if (resName.StartsWith("resources://")) { res = new ResourceRes(resName); } else { res = new AssetRes(resName, assetBundleName); } res.Load(); SharedLoadedReses.Add(res); res.Retain(); return(res); }
/// <summary> /// 卸载资源 /// </summary> public override void Unload() { m_mainRes.RemoveNotification(OnReceiveNotification); m_mainRes.Unload(); m_mainRes = null; m_listener = null; Recycle2Cache(); }
/// <summary> /// 创建资源 /// </summary> /// <param name="data"></param> public static Res Create(ResData data) { switch (data.type) { case ResType.Bundle: return(BundleRes.Allocate(data)); case ResType.Asset: return(AssetRes.Allocate(data)); case ResType.Resource: return(ResourceRes.Allocate(data)); default: return(null); } }
public void Init(string assetName, ResNotificationListener listener) { m_mainRes = ResPoolSystem.Get <ResourceRes>(ResData.AllocateResource(assetName), true); m_listener = listener; }