public void UpdateGameProfile(IGameProfile gameProfile) { string query = @"update GameProfiles set Name = @Name, SourcePortID = @SourcePortID, IWadID = @IWadID, SettingsMap = @SettingsMap, SettingsSkill = @SettingsSkill, SettingsExtraParams = @SettingsExtraParams, SettingsFiles = @SettingsFiles, SettingsFilesSourcePort = @SettingsFilesSourcePort, SettingsFilesIWAD = @SettingsFilesIWAD, SettingsSpecificFiles = @SettingsSpecificFiles, SettingsStat = @SettingsStat, SettingsSaved = @SettingsSaved where GameProfileID = @gameProfileID"; List <DbParameter> parameters = new List <DbParameter> { DataAccess.DbAdapter.CreateParameter("Name", gameProfile.Name ?? (object)DBNull.Value), DataAccess.DbAdapter.CreateParameter("SourcePortID", gameProfile.SourcePortID ?? (object)DBNull.Value), DataAccess.DbAdapter.CreateParameter("IWadID", gameProfile.IWadID ?? (object)DBNull.Value), DataAccess.DbAdapter.CreateParameter("SettingsMap", gameProfile.SettingsMap ?? (object)DBNull.Value), DataAccess.DbAdapter.CreateParameter("SettingsSkill", gameProfile.SettingsSkill ?? (object)DBNull.Value), DataAccess.DbAdapter.CreateParameter("SettingsExtraParams", gameProfile.SettingsExtraParams ?? (object)DBNull.Value), DataAccess.DbAdapter.CreateParameter("SettingsFiles", gameProfile.SettingsFiles ?? (object)DBNull.Value), DataAccess.DbAdapter.CreateParameter("SettingsFilesSourcePort", gameProfile.SettingsFilesSourcePort ?? (object)DBNull.Value), DataAccess.DbAdapter.CreateParameter("SettingsFilesIWAD", gameProfile.SettingsFilesIWAD ?? (object)DBNull.Value), DataAccess.DbAdapter.CreateParameter("SettingsSpecificFiles", gameProfile.SettingsSpecificFiles ?? (object)DBNull.Value), DataAccess.DbAdapter.CreateParameter("SettingsStat", gameProfile.SettingsStat), DataAccess.DbAdapter.CreateParameter("SettingsSaved", gameProfile.SettingsSaved), DataAccess.DbAdapter.CreateParameter("GameProfileID", gameProfile.GameProfileID), }; DataAccess.ExecuteNonQuery(query, parameters); }
public void SetGameProfile(IGameProfile gameProfile) { SetIwadInfoLabel(); UnregisterEvents(); m_handler = new FileLoadHandler(m_adapter, GameFile, gameProfile); SetDefaultSelections(); GameProfile.ApplyDefaultsToProfile(gameProfile, m_appConfig); cmbProfiles.SelectedValue = gameProfile.GameProfileID; if (GameFile != null) { chkSaveStats.Checked = gameProfile.SettingsStat; chkLoadLatestSave.Checked = gameProfile.SettingsLoadLatestSave; if (gameProfile.SourcePortID.HasValue) { SelectedSourcePort = m_adapter.GetSourcePort(gameProfile.SourcePortID.Value); } // Selected GameFile is an IWAD so lock the IWAD selection if (IsIwad(GameFile)) { cmbIwad.Enabled = false; SelectedIWad = GameFile; } else if (gameProfile.IWadID.HasValue) { SelectedIWad = m_adapter.GetGameFileIWads().FirstOrDefault(x => x.IWadID == gameProfile.IWadID); } if (!string.IsNullOrEmpty(gameProfile.SettingsMap)) { SelectedMap = gameProfile.SettingsMap; } if (!string.IsNullOrEmpty(gameProfile.SettingsSkill)) { SelectedSkill = gameProfile.SettingsSkill; } if (!string.IsNullOrEmpty(gameProfile.SettingsExtraParams)) { ExtraParameters = gameProfile.SettingsExtraParams; } if (!string.IsNullOrEmpty(gameProfile.SettingsSpecificFiles)) { SpecificFiles = Util.SplitString(gameProfile.SettingsSpecificFiles); } } bool reset = ShouldRecalculateAdditionalFiles(); HandleSourcePortSelectionChange(reset); HandleIwadSelectionChanged(reset); SetAdditionalFiles(reset); HandleDemoChange(); RegisterEvents(); }
public FileLoadHandler(IDataSourceAdapter adapter, IGameFile gameFile, IGameProfile gameProfile) { m_adapter = adapter; m_gameFile = gameFile; m_gameProfile = gameProfile; SetAdditionalFiles(Util.GetAdditionalFiles(m_adapter, gameProfile)); m_iwadAdditionalFiles = GetIWadFilesFromGameFile(gameProfile); m_sourcePortAdditionalFiles = Util.GetSourcePortAdditionalFiles(m_adapter, gameProfile); }
private List <IGameFile> GetIWadFilesFromGameFile(IGameProfile gameFile) { if (gameFile.IWadID.HasValue) { var gameFileIwad = m_adapter.GetGameFileIWads().FirstOrDefault(x => x.IWadID == m_gameProfile.IWadID.Value); if (gameFileIwad != null) { return(GetAdditionalFiles(AddFilesType.IWAD, gameFileIwad, null)); } } return(Util.GetIWadAdditionalFiles(m_adapter, gameFile)); }
public LaunchData(IGameFile gameFile, IGameProfile gameProfile, IEnumerable <IGameFile> additionalGameFiles) { GameFile = gameFile; GameProfile = gameProfile; if (additionalGameFiles == null) { AdditionalGameFiles = new List <IGameFile>(); } else { AdditionalGameFiles = additionalGameFiles.ToList(); } Success = true; }
public void UpdateGameProfile(IGameProfile gameProfile) { gameProfile.SettingsSaved = true; gameProfile.SourcePortID = gameProfile.IWadID = null; if (SelectedSourcePort != null) { gameProfile.SourcePortID = SelectedSourcePort.SourcePortID; } if (SelectedIWad != null) { gameProfile.IWadID = SelectedIWad.IWadID; } if (SelectedMap != null) { gameProfile.SettingsMap = SelectedMap; } else { gameProfile.SettingsMap = string.Empty; //this setting can be turned off } if (SelectedSkill != null) { gameProfile.SettingsSkill = SelectedSkill; } if (ExtraParameters != null) { gameProfile.SettingsExtraParams = ExtraParameters; } gameProfile.SettingsStat = SaveStatistics; gameProfile.SettingsLoadLatestSave = LoadLatestSave; if (ShouldSaveAdditionalFiles()) { gameProfile.SettingsFiles = string.Join(";", GetAdditionalFiles().Select(x => x.FileName).ToArray()); gameProfile.SettingsFilesIWAD = string.Join(";", GetIWadAdditionalFiles().Select(x => x.FileName).ToArray()); gameProfile.SettingsFilesSourcePort = string.Join(";", GetSourcePortAdditionalFiles().Select(x => x.FileName).ToArray()); if (SpecificFiles != null) { gameProfile.SettingsSpecificFiles = string.Join(";", SpecificFiles); } else { gameProfile.SettingsSpecificFiles = string.Empty; //this setting can be turned off } } }
public static void ApplyDefaultsToProfile(IGameProfile gameProfile, AppConfiguration appConfig) { if (!gameProfile.SourcePortID.HasValue) { gameProfile.SourcePortID = (int)appConfig.GetTypedConfigValue(ConfigType.DefaultSourcePort, typeof(int)); } if (!gameProfile.IWadID.HasValue) { gameProfile.IWadID = (int)appConfig.GetTypedConfigValue(ConfigType.DefaultIWad, typeof(int)); } if (string.IsNullOrEmpty(gameProfile.SettingsSkill)) { gameProfile.SettingsSkill = (string)appConfig.GetTypedConfigValue(ConfigType.DefaultSkill, typeof(string)); } }
private void HandlePlaySettings(PlayForm form, IGameProfile gameProfile) { if (form.RememberSettings && gameProfile != null) { form.UpdateGameProfile(gameProfile); form.GameFile.SettingsGameProfileID = form.SelectedGameProfile.GameProfileID; DataSourceAdapter.UpdateGameFile(form.GameFile, new GameFileFieldType[] { GameFileFieldType.SettingsGameProfileID }); if (gameProfile is IGameFile gameFile) { DataSourceAdapter.UpdateGameFile(gameFile, new GameFileFieldType[] { GameFileFieldType.SourcePortID, GameFileFieldType.IWadID, GameFileFieldType.SettingsMap, GameFileFieldType.SettingsSkill, GameFileFieldType.SettingsFiles, GameFileFieldType.SettingsExtraParams, GameFileFieldType.SettingsSpecificFiles, GameFileFieldType.SettingsStat, GameFileFieldType.SettingsFilesIWAD, GameFileFieldType.SettingsFilesSourcePort, GameFileFieldType.SettingsSaved, GameFileFieldType.SettingsLoadLatestSave }); } else { DataSourceAdapter.UpdateGameProfile(gameProfile); } } }
public static Dictionary <string, FileType> GetFilesPaths(IGameProfile gameProfile, DirectoryInfo folder, TextType typeOfTexts, Direction direction) { Dictionary <string, FileType> filePaths = new Dictionary <string, FileType>(); string inputFolderPath = $@"{folder.FullName}\"; Dictionary <string, FileType> tempPaths = new Dictionary <string, FileType>(); if (typeOfTexts == TextType.GameText) { if (direction == Direction.Input) { tempPaths = gameProfile.GameFolderStructure; } else if (direction == Direction.Output) { gameProfile.LuaStringsFolderLang = Settings.Default.TargetTerritoryFolder; foreach (var file in gameProfile.GameFolderStructure.Where(i => i.Value == FileType.LuaStrings)) { string tempFilePath = $@"{folder.FullName}\{Path.GetDirectoryName(file.Key)}\{Path.GetFileNameWithoutExtension(file.Key)}.xliff"; tempPaths.Add(tempFilePath, file.Value); } return(tempPaths); } } else if (typeOfTexts == TextType.LauncherText) { tempPaths = gameProfile.LauncherFolderStructure; } foreach (var path in tempPaths) { filePaths.Add($"{inputFolderPath}{path.Key}", path.Value); } return(filePaths); }
public static List <IGameFile> GetSourcePortAdditionalFiles(IDataSourceAdapter adapter, IGameProfile gameFile) { if (gameFile != null && !string.IsNullOrEmpty(gameFile.SettingsFilesSourcePort)) { return(GetAdditionalFiles(adapter, gameFile.SettingsFilesSourcePort)); } return(new List <IGameFile>()); }
public void InsertGameProfile(IGameProfile gameProfile) { string insert = InsertStatement("GameProfiles", gameProfile, new string[] { "GameProfileID" }, out List <DbParameter> parameters); DataAccess.ExecuteNonQuery(insert, parameters); }