public void AddRef(Object o, ObjectState.State state = ObjectState.State.Normal) { ObjectState os = new ObjectState(); os.obj = o; os.state = state; watchList.Add(os); refCount++; ABsManager.Instance.loadedAssetBundles[assetbundleName].AddRef(); }
public static void AddABUser(Object o, string path, ObjectState.State state = ObjectState.State.Normal) { if (ResManager.Instance.m_pattern == ResManager.Pattern.AssetBundle) { string assetBundleName = ConvertResToABPath(path); if (!string.IsNullOrEmpty(assetBundleName)) { AssetBundleUser.GetInstance().SetBundle(assetBundleName, o, state); } else { Debug.LogError("error add ab user = " + path); } } }
public void SetBundle(string s, Object obj, ObjectState.State state = ObjectState.State.Normal) { if (obj != null) { var conf = Find(s); if (conf != null) { conf.AddRef(obj, state); } else { AssetBundleInf abf = new AssetBundleInf(s); abf.AddRef(obj, state); list.Add(abf); } } }
public static Object Load(string path, ObjectState.State state = ObjectState.State.Normal) { Object obj = null; switch (Instance.pattern) { case Pattern.Resources: obj = Resources.Load(GetResourcesName(path)); break; case Pattern.AssetBundle: obj = AssetScene.Load(path); AddABUser(obj, path, state); break; } return(obj); }