public void Initialize(IConfigSource config, IRegistryCore registry) { IConfig handlerConfig = config.Configs["Handlers"]; if (handlerConfig.GetString("AssetHandler", "") != Name) { return; } string localAssetHandler = handlerConfig.GetString("LocalAssetHandler", "AssetService"); List <IAssetService> services = AuroraModuleLoader.PickupModules <IAssetService>(); #if (!ISWIN) foreach (IAssetService s in services) { if (s.GetType().Name == localAssetHandler) { m_localService = s; } } #else foreach (IAssetService s in services.Where(s => s.GetType().Name == localAssetHandler)) { m_localService = s; } #endif if (m_localService == null) { m_localService = new AssetService(); } m_localService.Configure(config, registry); m_remoteService = new AssetServicesConnector(); m_remoteService.Initialize(config, registry); registry.RegisterModuleInterface <IAssetService>(this); m_registry = registry; }