public IConfigurationCollection <T> CreateConfigurationForGame <T>(IGameRecord gameRecord, string sourceName, string profileName) where T : class, IConfigurationCollectionTemplate { var collection = new ConfigurationCollection <T>(); using var context = new DatabaseContext(this.Options.Options); var gameEntity = context.GameRecords .Include(p => p.ConfigurationProfiles) .SingleOrDefault(p => p.RecordID == gameRecord.RecordID); if (gameEntity == null) { throw new DependentEntityNotExistsException(gameRecord.RecordID); } var entity = context.ConfigurationProfiles .Add(collection.AsModel(sourceName)); gameEntity.ConfigurationProfiles.Add(new GameRecordConfigurationProfileModel { ProfileName = profileName, ConfigurationSource = sourceName, Profile = entity.Entity }); context.SaveChanges(); return(collection); }
public IGameFileExtension MakeExtension(IGameRecord record) { var gameFsRoot = this.GameFolderRoot .GetOrCreateSubFileSystem((UPath)"/" / record.RecordId.ToString()); return(new GameFileExtension(gameFsRoot, this.FileLibrary)); }
public void AddRecord(IGameRecord record) { gamesRecord[gamesRecordCurrentIndex] = record; gamesRecordCurrentIndex++; gamesRecordCurrentIndex = gamesRecordCurrentIndex % gamesRecordSize; }
public static GameRecordModel AsModel(this IGameRecord @this) { return(new GameRecordModel() { Platform = @this.PlatformId, RecordID = @this.RecordId, RecordType = "game", Metadata = @this.Metadata.AsModel() }); }
GetProfileNames(IGameRecord gameRecord) { using var context = new DatabaseContext(this.Options.Options); return(context.GameRecords .Include(g => g.ConfigurationProfiles) .SingleOrDefault(g => g.RecordID == gameRecord.RecordID)? .ConfigurationProfiles .GroupBy(p => p.ConfigurationSource, p => (p.ProfileName, p.ProfileID)) ?? Enumerable.Empty <IGrouping <string, (string, Guid)> >()); }
/// <inheritdoc/> public override IEmulatorInstance Instantiate(IGameRecord gameRecord, IFileRecord file, int saveSlot, IList <IEmulatedPort> ports) { var configurations = this.GetConfiguration(gameRecord); var platform = this.StoneProvider.Platforms[gameRecord.PlatformID]; return(new RetroArchInstance(gameRecord, file, this, this.CorePath.FullName, this.ProcessHandler, saveSlot, platform, ports) { ShaderManager = this.ShaderManager, }); }
GetProfileNames(IGameRecord gameRecord) { using (var context = new DatabaseContext(this.Options.Options)) { return(context.GameRecords .Include(g => g.ConfigurationProfiles) .SingleOrDefault(g => g.RecordID == gameRecord.RecordId) .ConfigurationProfiles .GroupBy(p => p.ConfigurationSource, p => p.ProfileName)); } }
public async Task <ISaveLocation> CreateSaveLocationAsync(IGameRecord gameRecord, string saveType) { Guid saveGuid = Guid.NewGuid(); DirectoryInfo locationRoot = this.SaveLocationRoot .CreateSubdirectory(saveGuid.ToString()); var saveLocation = new SaveLocation(gameRecord.RecordId, saveType, locationRoot, saveGuid, DateTimeOffset.UtcNow); return(await this.UpdateSaveLocation(saveLocation)); }
public override IEmulatorTask CreateTask(IGameRecord executingGame, ISaveLocation saveLocation, IList <IEmulatedController> controllerConfiguration, string profileContext = "default") { IConfigurationCollection <HiganRetroArchConfiguration> configuration = this.GenericConfigurationFactory.GetConfiguration(executingGame.RecordId, profileContext); var templates = controllerConfiguration.Select(c => this.ConfigurationFactory.GetInputMappings(c)).ToList(); var task = new EmulatorTask(executingGame) { GameSaveLocation = saveLocation, ControllerConfiguration = templates // todo: refactor out into extension method. .Select(t => (t.template as IInputTemplate, t.mapping)).ToList(), }; task.ProcessTaskRoot = new RetroArchTaskRoot(this.TaskRootProvider.GetTaskRoot(task)); configuration.Configuration.DirectoryConfiguration.SavefileDirectory = task.ProcessTaskRoot.SaveDirectory.FullName; configuration.Configuration.DirectoryConfiguration.SystemDirectory = task.ProcessTaskRoot.SystemDirectory.FullName; configuration.Configuration.DirectoryConfiguration.CoreOptionsPath = Path.Combine(task.ProcessTaskRoot.ConfigurationDirectory.FullName, "retroarch-core-options.cfg"); switch (configuration.Configuration.BsnesCoreConfig.PerformanceProfile) { case PerformanceProfile.Performance: task.AddPragma("retroarch_core", "bsnes_performance_libretro.dll"); break; case PerformanceProfile.Accuracy: task.AddPragma("retroarch_core", "bsnes_accuracy_libretro.dll"); break; case PerformanceProfile.Balanced: task.AddPragma("retroarch_core", "bsnes_balanced_libretro.dll"); break; } task.EmulatorConfiguration = configuration; return(task); }
internal Game(IGameRecord record, IDictionary <Type, IGameExtension> extensions) { this.Record = record; this.Extensions = extensions; }
public EmulatorTask(IGameRecord emulatingGame) { this.EmulatingGame = emulatingGame; this.pragmas = new Dictionary <string, string>(); this.TaskIdentifier = Guid.NewGuid(); }
public void SetGameRecord(IGameRecord iGameRecord) { this.transportDialog.GameRecordPlugin = iGameRecord; }
internal void InitializePlugins(Screen screen) { AvailablePlugin plugin = Plugin.Plugins.AvailablePlugins.Find("HelpPlugin"); if ((plugin != null) && (plugin.Instance is IHelp)) { this.HelpPlugin = plugin.Instance as IHelp; this.HelpPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); this.HelpPlugin.SetScreen(screen); screen.PluginList.Add(this.HelpPlugin.Instance as GameObject); } plugin = Plugin.Plugins.AvailablePlugins.Find("PersonDetailPlugin"); if ((plugin != null) && (plugin.Instance is IPersonDetail)) { this.PersonDetailPlugin = plugin.Instance as IPersonDetail; this.PersonDetailPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); this.PersonDetailPlugin.SetScreen(screen); screen.PluginList.Add(this.PersonDetailPlugin.Instance as GameObject); } plugin = Plugin.Plugins.AvailablePlugins.Find("TroopDetailPlugin"); if ((plugin != null) && (plugin.Instance is ITroopDetail)) { this.TroopDetailPlugin = plugin.Instance as ITroopDetail; this.TroopDetailPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); this.TroopDetailPlugin.SetScreen(screen); screen.PluginList.Add(this.TroopDetailPlugin.Instance as GameObject); } plugin = Plugin.Plugins.AvailablePlugins.Find("ArchitectureDetailPlugin"); if ((plugin != null) && (plugin.Instance is IArchitectureDetail)) { this.ArchitectureDetailPlugin = plugin.Instance as IArchitectureDetail; this.ArchitectureDetailPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); this.ArchitectureDetailPlugin.SetScreen(screen); screen.PluginList.Add(this.ArchitectureDetailPlugin.Instance as GameObject); } plugin = Plugin.Plugins.AvailablePlugins.Find("FactionTechniquesPlugin"); if ((plugin != null) && (plugin.Instance is IFactionTechniques)) { this.FactionTechniquesPlugin = plugin.Instance as IFactionTechniques; this.FactionTechniquesPlugin.SetScreen(screen); this.FactionTechniquesPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); screen.PluginList.Add(this.FactionTechniquesPlugin.Instance as GameObject); } plugin = Plugin.Plugins.AvailablePlugins.Find("TreasureDetailPlugin"); if ((plugin != null) && (plugin.Instance is ITreasureDetail)) { this.TreasureDetailPlugin = plugin.Instance as ITreasureDetail; this.TreasureDetailPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); this.TreasureDetailPlugin.SetScreen(screen); screen.PluginList.Add(this.TreasureDetailPlugin.Instance as GameObject); } plugin = Plugin.Plugins.AvailablePlugins.Find("ConmentTextPlugin"); if ((plugin != null) && (plugin.Instance is IConmentText)) { this.ConmentTextPlugin = plugin.Instance as IConmentText; this.ConmentTextPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); screen.PluginList.Add(this.ConmentTextPlugin.Instance as GameObject); } plugin = Plugin.Plugins.AvailablePlugins.Find("ArchitectureSurveyPlugin"); if ((plugin != null) && (plugin.Instance is IArchitectureSurvey)) { this.ArchitectureSurveyPlugin = plugin.Instance as IArchitectureSurvey; this.ArchitectureSurveyPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); screen.PluginList.Add(this.ArchitectureSurveyPlugin.Instance as GameObject); } plugin = Plugin.Plugins.AvailablePlugins.Find("TroopSurveyPlugin"); if ((plugin != null) && (plugin.Instance is ITroopSurvey)) { this.TroopSurveyPlugin = plugin.Instance as ITroopSurvey; this.TroopSurveyPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); screen.PluginList.Add(this.TroopSurveyPlugin.Instance as GameObject); } plugin = Plugin.Plugins.AvailablePlugins.Find("ContextMenuPlugin"); if ((plugin != null) && (plugin.Instance is IGameContextMenu)) { this.ContextMenuPlugin = plugin.Instance as IGameContextMenu; this.ContextMenuPlugin.SetScreen(screen); this.ContextMenuPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); this.ContextMenuPlugin.SetIHelp(this.HelpPlugin); screen.PluginList.Add(this.ContextMenuPlugin.Instance as GameObject); } plugin = Plugin.Plugins.AvailablePlugins.Find("GameFramePlugin"); if ((plugin != null) && (plugin.Instance is IGameFrame)) { this.GameFramePlugin = plugin.Instance as IGameFrame; this.GameFramePlugin.SetScreen(screen); this.GameFramePlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); screen.PluginList.Add(this.GameFramePlugin.Instance as GameObject); } plugin = Plugin.Plugins.AvailablePlugins.Find("ScreenBlindPlugin"); if ((plugin != null) && (plugin.Instance is IScreenBlind)) { this.ScreenBlindPlugin = plugin.Instance as IScreenBlind; this.ScreenBlindPlugin.SetScreen(screen); this.ScreenBlindPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); screen.PluginList.Add(this.ScreenBlindPlugin.Instance as GameObject); } plugin = Plugin.Plugins.AvailablePlugins.Find("MapViewSelectorPlugin"); if ((plugin != null) && (plugin.Instance is IMapViewSelector)) { this.MapViewSelectorPlugin = plugin.Instance as IMapViewSelector; this.MapViewSelectorPlugin.SetScreen(screen); this.MapViewSelectorPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); this.MapViewSelectorPlugin.SetGameFrame(this.GameFramePlugin); screen.PluginList.Add(this.MapViewSelectorPlugin.Instance as GameObject); } plugin = Plugin.Plugins.AvailablePlugins.Find("TabListPlugin"); if ((plugin != null) && (plugin.Instance is ITabList)) { this.TabListPlugin = plugin.Instance as ITabList; this.TabListPlugin.SetScreen(screen); this.TabListPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); this.TabListPlugin.SetPersonDetailDialog(this.PersonDetailPlugin); this.TabListPlugin.SetTroopDetailDialog(this.TroopDetailPlugin); this.TabListPlugin.SetArchitectureDetailDialog(this.ArchitectureDetailPlugin); this.TabListPlugin.SetFactionTechniquesDialog(this.FactionTechniquesPlugin); this.TabListPlugin.SetTreasureDetailDialog(this.TreasureDetailPlugin); this.TabListPlugin.SetGameFrame(this.GameFramePlugin); this.TabListPlugin.SetMapViewSelector(this.MapViewSelectorPlugin); screen.PluginList.Add(this.TabListPlugin.Instance as GameObject); } plugin = Plugin.Plugins.AvailablePlugins.Find("OptionDialogPlugin"); if ((plugin != null) && (plugin.Instance is IOptionDialog)) { this.OptionDialogPlugin = plugin.Instance as IOptionDialog; this.OptionDialogPlugin.SetScreen(screen); this.OptionDialogPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); screen.PluginList.Add(this.OptionDialogPlugin.Instance as GameObject); } plugin = Plugin.Plugins.AvailablePlugins.Find("SimpleTextDialogPlugin"); if ((plugin != null) && (plugin.Instance is ISimpleTextDialog)) { this.SimpleTextDialogPlugin = plugin.Instance as ISimpleTextDialog; this.SimpleTextDialogPlugin.SetScreen(screen); this.SimpleTextDialogPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); screen.PluginList.Add(this.SimpleTextDialogPlugin.Instance as GameObject); } plugin = Plugin.Plugins.AvailablePlugins.Find("tupianwenziPlugin"); if ((plugin != null) && (plugin.Instance is Itupianwenzi)) { this.tupianwenziPlugin = plugin.Instance as Itupianwenzi; this.tupianwenziPlugin.SetScreen(screen); this.tupianwenziPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); this.tupianwenziPlugin.SetContextMenu(this.ContextMenuPlugin); screen.PluginList.Add(this.tupianwenziPlugin.Instance as GameObject); } plugin = Plugin.Plugins.AvailablePlugins.Find("ConfirmationDialogPlugin"); if ((plugin != null) && (plugin.Instance is IConfirmationDialog)) { this.ConfirmationDialogPlugin = plugin.Instance as IConfirmationDialog; this.ConfirmationDialogPlugin.SetScreen(screen); this.ConfirmationDialogPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); screen.PluginList.Add(this.ConfirmationDialogPlugin.Instance as GameObject); } plugin = Plugin.Plugins.AvailablePlugins.Find("ToolBarPlugin"); if ((plugin != null) && (plugin.Instance is IToolBar)) { this.ToolBarPlugin = plugin.Instance as IToolBar; this.ToolBarPlugin.SetScreen(screen); this.ToolBarPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); this.ToolBarPlugin.SetContextMenuPlugin(this.ContextMenuPlugin); screen.PluginList.Add(this.ToolBarPlugin.Instance as GameObject); } if (this.ToolBarPlugin != null) { plugin = Plugin.Plugins.AvailablePlugins.Find("DateRunnerPlugin"); if ((plugin != null) && (plugin.Instance is IDateRunner)) { this.DateRunnerPlugin = plugin.Instance as IDateRunner; this.DateRunnerPlugin.SetScreen(screen); this.DateRunnerPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); this.DateRunnerPlugin.SetGameDate(screen.Scenario.Date); this.ToolBarPlugin.AddTool(this.DateRunnerPlugin.ToolInstance); screen.PluginList.Add(this.DateRunnerPlugin.Instance as GameObject); } } if (this.ToolBarPlugin != null) { plugin = Plugin.Plugins.AvailablePlugins.Find("GameRecordPlugin"); if ((plugin != null) && (plugin.Instance is IGameRecord)) { this.GameRecordPlugin = plugin.Instance as IGameRecord; this.GameRecordPlugin.SetScreen(screen); this.GameRecordPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); this.ToolBarPlugin.AddTool(this.GameRecordPlugin.ToolInstance); screen.PluginList.Add(this.GameRecordPlugin.Instance as GameObject); } } if (this.ToolBarPlugin != null) { plugin = Plugin.Plugins.AvailablePlugins.Find("MapLayerPlugin"); if ((plugin != null) && (plugin.Instance is IMapLayer)) { this.MapLayerPlugin = plugin.Instance as IMapLayer; this.MapLayerPlugin.SetScreen(screen); this.MapLayerPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); this.ToolBarPlugin.AddTool(this.MapLayerPlugin.ToolInstance); screen.PluginList.Add(this.MapLayerPlugin.Instance as GameObject); } } if (this.ToolBarPlugin != null) { plugin = Plugin.Plugins.AvailablePlugins.Find("GameSystemPlugin"); if ((plugin != null) && (plugin.Instance is IGameSystem)) { this.GameSystemPlugin = plugin.Instance as IGameSystem; this.GameSystemPlugin.SetScreen(screen); this.GameSystemPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); this.GameSystemPlugin.SetOptionDialog(this.OptionDialogPlugin); this.ToolBarPlugin.AddTool(this.GameSystemPlugin.ToolInstance); screen.PluginList.Add(this.GameSystemPlugin.Instance as GameObject); } } if (this.ToolBarPlugin != null) { plugin = Plugin.Plugins.AvailablePlugins.Find("AirViewPlugin"); if ((plugin != null) && (plugin.Instance is IAirView)) { this.AirViewPlugin = plugin.Instance as IAirView; this.AirViewPlugin.SetScreen(screen); this.AirViewPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); this.ToolBarPlugin.AddTool(this.AirViewPlugin.ToolInstance); screen.PluginList.Add(this.AirViewPlugin.Instance as GameObject); } } plugin = Plugin.Plugins.AvailablePlugins.Find("PersonPortraitPlugin"); if ((plugin != null) && (plugin.Instance is IPersonPortrait)) { this.PersonPortraitPlugin = plugin.Instance as IPersonPortrait; this.PersonPortraitPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); screen.PluginList.Add(this.PersonPortraitPlugin.Instance as GameObject); } plugin = Plugin.Plugins.AvailablePlugins.Find("PersonBubblePlugin"); if ((plugin != null) && (plugin.Instance is IPersonBubble)) { this.PersonBubblePlugin = plugin.Instance as IPersonBubble; this.PersonBubblePlugin.SetScreen(screen); this.PersonBubblePlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); screen.PluginList.Add(this.PersonBubblePlugin.Instance as GameObject); } plugin = Plugin.Plugins.AvailablePlugins.Find("TroopTitlePlugin"); if ((plugin != null) && (plugin.Instance is ITroopTitle)) { this.TroopTitlePlugin = plugin.Instance as ITroopTitle; this.TroopTitlePlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); screen.PluginList.Add(this.TroopTitlePlugin.Instance as GameObject); } plugin = Plugin.Plugins.AvailablePlugins.Find("RoutewayEditorPlugin"); if ((plugin != null) && (plugin.Instance is IRoutewayEditor)) { this.RoutewayEditorPlugin = plugin.Instance as IRoutewayEditor; this.RoutewayEditorPlugin.SetScreen(screen); this.RoutewayEditorPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); screen.PluginList.Add(this.RoutewayEditorPlugin.Instance as GameObject); } plugin = Plugin.Plugins.AvailablePlugins.Find("NumberInputerPlugin"); if ((plugin != null) && (plugin.Instance is INumberInputer)) { this.NumberInputerPlugin = plugin.Instance as INumberInputer; this.NumberInputerPlugin.SetScreen(screen); this.NumberInputerPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); screen.PluginList.Add(this.NumberInputerPlugin.Instance as GameObject); } plugin = Plugin.Plugins.AvailablePlugins.Find("TransportDialogPlugin"); if ((plugin != null) && (plugin.Instance is ITransportDialog)) { this.TransportDialogPlugin = plugin.Instance as ITransportDialog; this.TransportDialogPlugin.SetScreen(screen); this.TransportDialogPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); this.TransportDialogPlugin.SetGameFrame(this.GameFramePlugin); this.TransportDialogPlugin.SetTabList(this.TabListPlugin); this.TransportDialogPlugin.SetNumberInputer(this.NumberInputerPlugin); screen.PluginList.Add(this.TransportDialogPlugin.Instance as GameObject); } plugin = Plugin.Plugins.AvailablePlugins.Find("CreateTroopPlugin"); if ((plugin != null) && (plugin.Instance is ICreateTroop)) { this.CreateTroopPlugin = plugin.Instance as ICreateTroop; this.CreateTroopPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); this.CreateTroopPlugin.SetScreen(screen); this.CreateTroopPlugin.SetGameFrame(this.GameFramePlugin); this.CreateTroopPlugin.SetTabList(this.TabListPlugin); this.CreateTroopPlugin.SetNumberInputer(this.NumberInputerPlugin); screen.PluginList.Add(this.CreateTroopPlugin.Instance as GameObject); } plugin = Plugin.Plugins.AvailablePlugins.Find("MarshalSectionDialogPlugin"); if ((plugin != null) && (plugin.Instance is IMarshalSectionDialog)) { this.MarshalSectionDialogPlugin = plugin.Instance as IMarshalSectionDialog; this.MarshalSectionDialogPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); this.MarshalSectionDialogPlugin.SetScreen(screen); this.MarshalSectionDialogPlugin.SetGameFrame(this.GameFramePlugin); this.MarshalSectionDialogPlugin.SetTabList(this.TabListPlugin); screen.PluginList.Add(this.MarshalSectionDialogPlugin.Instance as GameObject); } plugin = Plugin.Plugins.AvailablePlugins.Find("youcelanPlugin"); if ((plugin != null) && (plugin.Instance is Iyoucelan)) { this.youcelanPlugin = plugin.Instance as Iyoucelan; this.youcelanPlugin.SetScreen(screen); this.youcelanPlugin.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); this.youcelanPlugin.SetPersonDetailDialog(this.PersonDetailPlugin); this.youcelanPlugin.SetTroopDetailDialog(this.TroopDetailPlugin); this.youcelanPlugin.SetArchitectureDetailDialog(this.ArchitectureDetailPlugin); this.youcelanPlugin.SetFactionTechniquesDialog(this.FactionTechniquesPlugin); this.youcelanPlugin.SetTreasureDetailDialog(this.TreasureDetailPlugin); this.youcelanPlugin.SetGameFrame(this.GameFramePlugin); this.youcelanPlugin.SetMapViewSelector(this.MapViewSelectorPlugin); screen.PluginList.Add(this.youcelanPlugin.Instance as GameObject); } plugin = Plugin.Plugins.AvailablePlugins.Find("BianduiLiebiaoChajian"); if ((plugin != null) && (plugin.Instance is IBianduiLiebiao)) { this.BianduiLiebiao = plugin.Instance as IBianduiLiebiao; this.BianduiLiebiao.SetScreen(screen); this.BianduiLiebiao.SetGraphicsDevice(screen.spriteBatch.GraphicsDevice); this.BianduiLiebiao.SetPersonDetailDialog(this.PersonDetailPlugin); this.BianduiLiebiao.SetTroopDetailDialog(this.TroopDetailPlugin); this.BianduiLiebiao.SetArchitectureDetailDialog(this.ArchitectureDetailPlugin); this.BianduiLiebiao.SetFactionTechniquesDialog(this.FactionTechniquesPlugin); this.BianduiLiebiao.SetTreasureDetailDialog(this.TreasureDetailPlugin); this.BianduiLiebiao.SetGameFrame(this.GameFramePlugin); this.BianduiLiebiao.SetMapViewSelector(this.MapViewSelectorPlugin); screen.PluginList.Add(this.BianduiLiebiao.Instance as GameObject); } }
IGameExtension IGameExtensionProvider.MakeExtension(IGameRecord record) { return(this.MakeExtension(record)); }
public IGameConfigurationExtension MakeExtension(IGameRecord record) { return(new GameConfigurationExtension(record, this.CollectionStore)); }
/// <inheritdoc/> public abstract IEmulatorTask CreateTask(IGameRecord executingGame, ISaveLocation saveLocation, IList <IEmulatedController> controllerConfiguration, string profileContext = "default");
public async Task <IEnumerable <ISaveLocation> > GetSaveLocationsAsync(IGameRecord gameRecord) { return((await this.GetAllSaveLocationsAsync()) .Where(s => s.RecordGuid == gameRecord.RecordId)); }
/// <inheritdoc/> public override IConfigurationCollection GetConfiguration(IGameRecord gameRecord, string profileName = "default") { return(this.CollectionStore.Get <NestopiaConfiguration>(gameRecord.Guid, this.Name, profileName)); }
public GameConfigurationExtension(IGameRecord gameRecord, ConfigurationCollectionStore collectionStore) { GameRecord = gameRecord; this.ConfigurationStore = collectionStore; }