Пример #1
0
 /// <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);
 }
Пример #2
0
        /// <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);
            }
        }
Пример #3
0
 public ResourcePoolWithLoader(IResourcesLoader <T> loader, IResourcePoolWithLoaderSettings settings)
 {
     _loader   = loader;
     _settings = settings;
 }
Пример #4
0
 public void Bind(IResourcesLoader resourcesLoader)
 {
     _resourcesLoader = resourcesLoader;
 }