public ExtensionManager( IOptions <ExtensionExpanderOptions> extensionExpanderOptionsAccessor, IOptions <ManifestOptions> manifestOptionsAccessor, IHostingEnvironment hostingEnvironment, IEnumerable <IManifestProvider> manifestProviders, IEnumerable <IExtensionProvider> extensionProviders, IEnumerable <IExtensionLoader> extensionLoaders, IEnumerable <IExtensionDependencyStrategy> extensionDependencyStrategies, IEnumerable <IExtensionPriorityStrategy> extensionPriorityStrategies, ITypeFeatureProvider typeFeatureProvider, ILogger <ExtensionManager> logger, IStringLocalizer <ExtensionManager> localizer) { _extensionExpanderOptions = extensionExpanderOptionsAccessor.Value; _manifestOptions = manifestOptionsAccessor.Value; _hostingEnvironment = hostingEnvironment; _manifestProvider = new CompositeManifestProvider(manifestProviders); _extensionProvider = new CompositeExtensionProvider(extensionProviders); _extensionLoader = new CompositeExtensionLoader(extensionLoaders); _extensionDependencyStrategies = extensionDependencyStrategies; _extensionPriorityStrategies = extensionPriorityStrategies; _typeFeatureProvider = typeFeatureProvider; L = logger; T = localizer; }
/// <summary> /// Initializes this instance. /// </summary> public void Initialize() { if (_extensionLoader == null) { _extensionLoader = _dependencyUtility.Resolve <IExtensionLoader>(); } if (_logger == null) { _logger = _dependencyUtility.Resolve <ILogger>(); } if (_config == null) { _config = _dependencyUtility.Resolve <IConfigurationHandler>(); } if (_connectionManager == null) { _connectionManager = _dependencyUtility.Resolve <IWebSocketConnectionManager>(); } CreateConnectionResources(); CreateRequestResources(); CreateResponseResources(); _isInitialized = true; }
/// <summary> /// Creates instance of <see href="ExtensionManager" /> /// </summary> /// <param name="extensionRepository"></param> /// <param name="loader"></param> /// <param name="options"></param> public ExtensionManager( IExtensionRepository extensionRepository, IExtensionLoader loader, IOptions<ExtensionOptions> options) { _repository = extensionRepository; _loader = loader; _options = options; }
public void Register(IExtensionLoader extensionLoader) { extensionLoader.RegisterEntityExtender <Player>((p) => { p.Components.AddComponent(new ControllableComponent()); p.Components.AddComponent(new HeadComponent() { Offset = new Vector3(0, 0, 3.2f) }); p.Components.AddComponent(new InventoryComponent()); p.Components.AddComponent(new ToolBarComponent()); }); }
public void Register(IExtensionLoader extensionLoader) { foreach (var t in Assembly.GetExecutingAssembly().GetTypes().Where( t => !t.IsAbstract && typeof(IDefinition).IsAssignableFrom(t))) { extensionLoader.RegisterDefinition((IDefinition)Activator.CreateInstance(t)); } extensionLoader.RegisterMapGenerator(new ComplexPlanetGenerator()); extensionLoader.RegisterMapPopulator(new TreePopulator()); extensionLoader.RegisterMapPopulator(new WauziPopulator()); extensionLoader.RegisterEntity <WauziEntity>(); extensionLoader.RegisterDefaultEntityExtender <WauziEntity>(); extensionLoader.RegisterEntityExtender <Player>((p) => { var posComponent = new PositionComponent { Position = new Coordinate(0, new Index3(0, 0, 200), new Vector3(0, 0, 0)) }; p.Components.AddComponent(posComponent); p.Components.AddComponent(new BodyComponent() { Mass = 50f, Height = 3.5f, Radius = 0.75f }); p.Components.AddComponent(new BodyPowerComponent() { Power = 600f, JumpTime = 120 }); p.Components.AddComponent(new GravityComponent()); p.Components.AddComponent(new MoveableComponent()); p.Components.AddComponent(new BoxCollisionComponent()); p.Components.AddComponent(new EntityCollisionComponent()); p.Components.AddComponent(new LocalChunkCacheComponent(posComponent.Planet.GlobalChunkCache, 4, 2)); }); extensionLoader.RegisterSimulationExtender((s) => { s.Components.AddComponent(new WattMoverComponent()); s.Components.AddComponent(new NewtonGravitatorComponent()); s.Components.AddComponent(new ForceAggregatorComponent()); s.Components.AddComponent(new PowerAggregatorComponent()); s.Components.AddComponent(new AccelerationComponent()); s.Components.AddComponent(new MoveComponent()); s.Components.AddComponent(new BlockInteractionComponent(s)); //TODO: unschön }); }
public ExtensionManager( IOptions <ExtensionOptions> optionsAccessor, IEnumerable <IExtensionProvider> extensionProviders, IEnumerable <IExtensionLoader> extensionLoaders, IHostingEnvironment hostingEnvironment, ITypeFeatureProvider typeFeatureProvider, ILogger <ExtensionManager> logger, IStringLocalizer <ExtensionManager> localizer) { _extensionOptions = optionsAccessor.Value; _extensionProvider = new CompositeExtensionProvider(extensionProviders); _extensionLoader = new CompositeExtensionLoader(extensionLoaders); _hostingEnvironment = hostingEnvironment; _typeFeatureProvider = typeFeatureProvider; L = logger; T = localizer; }
/// <summary> /// Initializes a new instance of the <see cref="Default"/> class. /// </summary> /// <param name="dependencyUtility">The dependency utility.</param> public Default(IDependencyUtility dependencyUtility) : base(dependencyUtility) { _extensionLoader = dependencyUtility.Resolve <IExtensionLoader>(); _signalRouter = dependencyUtility.Resolve <ISignalRouter>(); }
public DefaultEnjoyHost(IExtensionLoader loader) { var xxx = loader.Probe().ToList(); }