public override object LoadResource(string resourceName, ResourceLoadMode resourceLoadMode) { object obj2 = null; switch (resourceLoadMode) { case ResourceLoadMode.Local: case ResourceLoadMode.LocalAndFragment: return(LoadFromLocalAssemblies(resourceName)); case ResourceLoadMode.ClassSpace: obj2 = LoadFromLocalAssemblies(resourceName); if (obj2 == null) { obj2 = LoadFromDependencyAssemblies(resourceName); if (obj2 == null) { obj2 = LoadFromDependentBundles(resourceName); if (obj2 != null) { return(obj2); } } return(obj2); } return(obj2); } return(obj2); }
public override object LoadResource(string resourceName, ResourceLoadMode resourceLoadMode) { Predicate <IBundleMetadata> match = null; Predicate <IFragmentBundleMetadata> predicate2 = null; object result = base.LoadResource(resourceName, resourceLoadMode); if ((result == null) && ((resourceLoadMode == ResourceLoadMode.LocalAndFragment) || (resourceLoadMode == ResourceLoadMode.ClassSpace))) { if (match == null) { match = a => a.BundleID == Bundle.BundleID; } Interface1 interface2 = FrameworkAdaptor.State.Bundles.Find(match) as Interface1; if (predicate2 == null) { predicate2 = delegate(IFragmentBundleMetadata a) { IBundle bundle = Framework.Bundles.Find(bundle => bundle.BundleID == a.BundleID); if (bundle == null) { return(false); } return((result = bundle.LoadResource(resourceName, resourceLoadMode)) != null); }; } if (interface2.Fragments.Exists(predicate2)) { return(result); } } return(result); }
public override object LoadResource(string resourceName, ResourceLoadMode loadMode) { if (base.ActivatorPolicy == ActivatorPolicy.Lazy) { this.ActivateForStarting(); } return(base.LoadResource(resourceName, loadMode)); }
/// <summary> /// 根据资源名称和加载模式加载指定的资源 /// </summary> /// <param name="resourceName"></param> /// <param name="mode"></param> /// <returns></returns> public object LoadResource(string resourceName, ResourceLoadMode mode) { if (this.bundleLoader != null) { return(bundleLoader.LoadResource(resourceName, mode)); } return(null); }
public static string GetResourceInitString(ResourceLoadMode loadMode) { var resources = ServiceLocator.GetInstance<IResourceMapService>().GetResourcesByMode(loadMode); var result = ""; foreach (var resource in resources) result += String.Format("Loader.dependsOn('{0}'); \n", resource.Name); return result; }
/// <summary> /// 设置加载器 /// </summary> /// <param name="loadMode">加载模式</param> /// <param name="isEditorMode">是否是编辑器模式</param> /// <param name="manifestName">AB包清单名称</param> public void SetLoader(ResourceLoadMode loadMode, bool isEditorMode, string manifestName) { LoadMode = loadMode; IsEditorMode = isEditorMode; AssetBundleRootPath = Application.persistentDataPath + "/"; AssetBundleManifestName = manifestName; _loadWait = new WaitUntil(() => { return(!_isLoading); }); }
/// <summary> /// 初始化 /// </summary> public void OnInitialization(ResourceLoadMode loadMode, bool isEditorMode, bool isCacheAssetBundle, string manifestName) { LoadMode = loadMode; IsEditorMode = isEditorMode; AssetBundleRootPath = Application.streamingAssetsPath + "/"; IsCacheAssetBundle = isCacheAssetBundle; AssetBundleManifestName = manifestName; _loadWait = new WaitUntil(() => { return(!_isLoading); }); }
public void MapResource(string name, ResourceType resType, string url, ResourceLoadMode loadMode, string loadBefore = "", string loadAfter = "") { if (_registered.ContainsKey(name)) throw new Exception("Recurso já existe: " + name); var map = new ResourceMap(name, resType, url, loadMode, loadBefore, loadAfter); _resources[loadMode].Add(map); _mappings.Add(map); _registered[name] = map; }
public void SetResourceLoadMode(ResourceLoadMode mode) { #if UNITY_EDITOR loadMode = mode; #else loadMode = ResourceLoadMode.AssetBundle; #endif InitLoader(); }
public override object LoadResource(string resourceName, ResourceLoadMode resourceLoadMode) { var assembly = GetAssembly(); if (assembly != null) { return(assembly.GetManifestResourceStream(resourceName)); } return(null); }
public ResourceMap(string name, ResourceType resType, string url, ResourceLoadMode loadMode, string loadBefore = "", string loadAfter = "") { this.Name = name; this.Type = resType; this.Url = url; this.LoadMode = loadMode; this.LoadBefore = loadBefore; this.LoadAfter = LoadAfter; this.Order = Interlocked.Increment(ref _order); }
public override object LoadResource(string resourceName, ResourceLoadMode resourceLoadMode) { AssemblyLoader loader = FindDepdentAssemblyLoader(); if (loader != null) { return(loader.LoadResource(resourceName, resourceLoadMode)); } return(null); }
public static string GetResourceInitString(ResourceLoadMode loadMode) { var resources = ServiceLocator.GetInstance <IResourceMapService>().GetResourcesByMode(loadMode); var result = ""; foreach (var resource in resources) { result += String.Format("Loader.dependsOn('{0}'); \n", resource.Name); } return(result); }
/// <summary> /// 获取图片资源 /// </summary> /// <param name="resourceName"></param> /// <param name="mode"></param> /// <param name="bundle"></param> /// <returns></returns> public static Bitmap LoadImage(string resourceName, ResourceLoadMode mode, IBundle bundle) { using (var stream = (Stream)bundle.LoadResource(resourceName, mode)) { if (stream == null) { return(null); } return((Bitmap)Bitmap.FromStream(stream)); } }
public void MapResource(string name, ResourceType resType, string url, ResourceLoadMode loadMode, string loadBefore = "", string loadAfter = "") { if (_registered.ContainsKey(name)) { throw new Exception("Recurso já existe: " + name); } var map = new ResourceMap(name, resType, url, loadMode, loadBefore, loadAfter); _resources[loadMode].Add(map); _mappings.Add(map); _registered[name] = map; }
/// <summary> /// 加载资源 /// </summary> /// <param name="resourceName"></param> /// <param name="loadMode"></param> /// <returns></returns> public override object LoadResource(string resourceName, ResourceLoadMode loadMode) { IBundleLoader loader = this.BundleLoader; if (loader == null) { return(null); } object result = loader.LoadResource(resourceName, loadMode); return(result); }
public object LoadResource(string resourceName, ResourceLoadMode mode) { if (mode == ResourceLoadMode.ClassSpace) { return(this.assembly.GetManifestResourceStream(resourceName)); } else if (mode == ResourceLoadMode.Local) { string path = Path.Combine(bundle.Location, resourceName); return(File.Open(path, FileMode.Open, FileAccess.ReadWrite)); } return(null); }
public static void Initialize(ResourceLoadMode mode, string abDir = null, string manifestBundleName = null) { switch (mode) { #if UNITY_EDITOR case ResourceLoadMode.EDITOR: mResourceLoader = new ResourceEditorLoader(); break; #endif case ResourceLoadMode.AB: mResourceLoader = new ResourceAbLoader(abDir, manifestBundleName); break; } }
/// <summary> /// 根据资源名称和加载模式加载指定的资源 /// </summary> /// <param name="resourceName"></param> /// <param name="mode"></param> /// <returns></returns> public override object LoadResource(string resourceName, ResourceLoadMode mode) { if (mode == ResourceLoadMode.Local) { return(LoadResourceFromLocal(this.bundle, resourceName)); } else if (mode == ResourceLoadMode.FragmentAndLocal) { return(LoadResourceFromFragmentLocal(resourceName)); } else { return(LoadResourceFromAssemblies(resourceName)); } }
public virtual object LoadResource(string resourceName, ResourceLoadMode loadMode) { object obj2; Stopwatch stopwatch = new Stopwatch(); try { stopwatch.Start(); obj2 = BundleLoaderProxy.LoadResource(resourceName, loadMode); } finally { stopwatch.Stop(); FileLogUtility.Verbose(string.Format(Messages.LoadResourceTimeCounter, new object[] { stopwatch.ElapsedMilliseconds, resourceName, SymbolicName, Version })); } return(obj2); }
/// <summary> /// 初始化资源加载相关的 /// </summary> public void init() { #if UNITY_EDITOR mResLoadMode = (ResourceLoadMode)PlayerPrefs.GetInt(ResLoadModeKey, (int)ResourceLoadMode.AssetBundle); if (mResLoadMode == ResourceLoadMode.AssetBundle) { CurrentResourceModule = new AssetBundleModule(); } else if (mResLoadMode == ResourceLoadMode.AssetDatabase) { CurrentResourceModule = new AssetDatabaseModule(); } #else //非编辑器只支持AssetBundle模式 mResLoadMode = ResourceLoadMode.AssetBundle; CurrentResourceModule = new AssetBundleModule(); #endif Debug.Log(string.Format("当前资源加载模式 : {0}", mResLoadMode)); CurrentResourceModule.init(); }
public override object LoadResource(string resourceName, ResourceLoadMode loadMode) { CheckValidState(); return(null); }
public IEnumerable <IResourceMap> GetResourcesByMode(ResourceLoadMode mode) { return(_resources[mode]); }
public object LoadResource(string resourceName, ResourceLoadMode resourceLoadMode) { CreateBundleLoader(); return(_loader.LoadResource(resourceName, resourceLoadMode)); }
public override object LoadResource(string resourceName, ResourceLoadMode loadMode) { throw new NotImplementedException(); }
public override object LoadResource(string resourceName, ResourceLoadMode resourceLoadMode) { Equals(resourceLoadMode, ResourceLoadMode.ClassSpace); return(FindDepdentBundle().LoadResource(resourceName, resourceLoadMode)); }
public IEnumerable<IResourceMap> GetResourcesByMode(ResourceLoadMode mode) { return _resources[mode]; }
/// <summary> /// 加载资源 /// </summary> /// <param name="resourceName"></param> /// <param name="loadMode"></param> /// <returns></returns> public override object LoadResource(string resourceName, ResourceLoadMode loadMode) { return(null); }
/// <summary> /// 从当前插件中根据资源名称获取资源 /// </summary> /// <param name="resourceName"></param> /// <param name="loadMode"></param> /// <returns></returns> public abstract object LoadResource(string resourceName, ResourceLoadMode loadMode);