/// <summary> /// 设置框架内部的资源读取模块 /// 如果不设置则为默认 /// </summary> /// <param name="resourcesLoader"></param> /// <returns></returns> public GameApp SetResources(IResourcesLoader resourcesLoader) { if (resourcesLoader != null) { if (DefaultResourcesModule.Instance != null) { RemoveModule(DefaultResourcesModule.Instance); DefaultResourcesModule.Instance.Freed(); } } _resourcesLoader = resourcesLoader; return(this); }
/// <summary> /// Инициализирует экземпляр класса ссылками на <see cref="IResourcesLoader" /> и на коллекцию /// <see cref="IResourcesStorage" /> /// </summary> /// <param name="resources"></param> /// <param name="embeddedResourcesLoader"></param> /// <exception cref="MessagingConfigurationException"></exception> public ResourcesProvider(IEnumerable <IResourcesStorage> resources, IResourcesLoader embeddedResourcesLoader) { _embeddedResourcesLoader = embeddedResourcesLoader.ThrowIfNull(nameof(resources)); _resources = new Dictionary <Type, IEnumerable <string> >(); foreach (var resource in resources.SelectMany(x => x.EmbeddedResources)) { if (_resources.ContainsKey(resource.Key)) { throw new MessagingConfigurationException($"An embedded resource path for type {resource.Key} has already been registered in ResourceProvider for the message serialization"); } _resources.Add(resource); } }
public ResourcePoolWithLoader(IResourcesLoader <T> loader, IResourcePoolWithLoaderSettings settings) { _loader = loader; _settings = settings; }
public void Bind(IResourcesLoader resourcesLoader) { _resourcesLoader = resourcesLoader; }