public void Compose(IModule composableModule, Loader.IServiceRepository serviceContainer) { foreach (IPlatformInfo platform in serviceContainer.Get <IStoneProvider>().Platforms.Values) { Console.WriteLine(platform.PlatformId); } }
public void Compose(IModule composableModule, Loader.IServiceRepository serviceContainer) { var register = serviceContainer.Get <IServiceRegistrationProvider>(); var shiragameDb = new SqliteDatabase(Path.Combine(composableModule.ContentsDirectory.FullName, "shiragame.db")); register.RegisterService <IShiragameProvider>(new ShiragameProvider(shiragameDb)); }
public void Compose(IModule module, Loader.IServiceRepository serviceContainer) { var physicalFs = serviceContainer.Get <IFileSystem>(); var contentDirectory = serviceContainer.Get <IContentDirectoryProvider>(); string sqlitePath = Path.Combine(contentDirectory.ApplicationData.FullName, "library.db"); var optionsBuilder = new DbContextOptionsBuilder <DatabaseContext>(); optionsBuilder .UseSqlite($"Data Source={sqlitePath}"); using (var context = new DatabaseContext(optionsBuilder.Options)) { var connection = context.Database.GetDbConnection(); connection.Open(); using (var command = connection.CreateCommand()) { command.CommandText = "PRAGMA journal_mode=WAL;"; command.ExecuteNonQuery(); } } // game library dependency tree var gameRecordLibrary = new GameRecordLibrary(optionsBuilder); var gameLibrary = new GameLibrary(gameRecordLibrary); var configStore = new ConfigurationCollectionStore(optionsBuilder); var fileLibrary = new FileRecordLibrary(optionsBuilder); var appDataPath = physicalFs.ConvertPathFromInternal(contentDirectory.ApplicationData.FullName); var gameFs = physicalFs.GetOrCreateSubFileSystem(appDataPath / "games"); // Add default extensions gameLibrary.AddExtension <IGameFileExtensionProvider, IGameFileExtension>(new GameFileExtensionProvider(fileLibrary, gameFs)); gameLibrary.AddExtension <IGameConfigurationExtensionProvider, IGameConfigurationExtension>(new GameConfigurationExtensionProvider(configStore)); // register game library. serviceContainer.Get <IServiceRegistrationProvider>() .RegisterService <IGameLibrary>(gameLibrary); var pluginLibrary = new PluginConfigurationStore(optionsBuilder); // plugin config store serviceContainer.Get <IServiceRegistrationProvider>() .RegisterService <IPluginConfigurationStore>(pluginLibrary); // controller elements var inputStore = new ControllerElementMappingsStore(optionsBuilder); serviceContainer.Get <IServiceRegistrationProvider>() .RegisterService <IControllerElementMappingsStore>(inputStore); }
public void Compose(IModule composableModule, Loader.IServiceRepository serviceContainer) { var logProvider = serviceContainer.Get <ILogProvider>(); var appdataProvider = serviceContainer.Get <IContentDirectoryProvider>(); var registrationProvider = serviceContainer.Get <IServiceRegistrationProvider>(); var configStoreProvider = serviceContainer.Get <IPluginConfigurationStore>(); var pluginManager = new PluginManager(logProvider, appdataProvider, configStoreProvider); registrationProvider.RegisterService <IPluginManager>(pluginManager); }
public void Compose(IModule module, Loader.IServiceRepository coreInstance) { var pm = coreInstance.Get <IPluginManager>(); var im = coreInstance.Get <IInputManager>(); // pm.Register<IInputEnumerator>(new WiimoteEnumerator(coreInstance)); pm.Register <IInputEnumerator>(new KeyboardEnumerator(pm.GetProvision <KeyboardEnumerator>(module), im)); pm.Register <IInputEnumerator>( new Xbox360GamepadEnumerator(pm.GetProvision <Xbox360GamepadEnumerator>(module), im)); pm.Register <IInputEnumerator>(new XInputGamepadEnumerator(pm.GetProvision <XInputGamepadEnumerator>(module), im)); }
public void Compose(IModule module, Loader.IServiceRepository serviceContainer) { var stone = new StoneProvider(); var physicalFs = serviceContainer.Get <IFileSystem>(); var contentDirectory = serviceContainer.Get <IContentDirectoryProvider>(); var appDataPath = physicalFs.ConvertPathFromInternal(contentDirectory.ApplicationData.FullName); var biosFs = physicalFs.GetOrCreateSubFileSystem(appDataPath / "bios"); var systemFiles = new SystemFileProvider(new Directory(biosFs), stone); serviceContainer.Get <IServiceRegistrationProvider>().RegisterService <IStoneProvider>(stone); serviceContainer.Get <IServiceRegistrationProvider>().RegisterService <ISystemFileProvider>(systemFiles); // Generate all the directories foreach (var platform in stone.Platforms) { systemFiles.GetSystemFileDirectory(platform.Key); } }
public void Compose(IModule composableModule, Loader.IServiceRepository serviceContainer) { serviceContainer.Get <ILogProvider>().GetLogger("HelloWorld").Info("Hello World!"); }
public void Compose(IModule module, Loader.IServiceRepository serviceContainer) { serviceContainer.Get <IServiceRegistrationProvider>().RegisterService <IStoneProvider>(new StoneProvider()); }
public void Compose(IModule composableModule, Loader.IServiceRepository serviceContainer) { serviceContainer.Get <IServiceRegistrationProvider>().RegisterService <IDummyComposable>(new DummyService()); }