diff --git a/LANCommander.Playnite.Extension/InstallController.cs b/LANCommander.Playnite.Extension/InstallController.cs index 8bb3f0dd..4ebddca7 100644 --- a/LANCommander.Playnite.Extension/InstallController.cs +++ b/LANCommander.Playnite.Extension/InstallController.cs @@ -174,7 +174,7 @@ namespace LANCommander.PlaynitePlugin script.AddVariable("DefaultInstallDirectory", Plugin.Settings.InstallDirectory); script.AddVariable("ServerAddress", Plugin.Settings.ServerAddress); script.AddVariable("OldPlayerAlias", ""); - script.AddVariable("NewPlayerAlias", Plugin.Settings.PlayerName); + script.AddVariable("NewPlayerAlias", String.IsNullOrWhiteSpace(Plugin.Settings.PlayerAlias) ? Plugin.Settings.PlayerName : Plugin.Settings.PlayerAlias); script.UseFile(path); diff --git a/LANCommander.Playnite.Extension/LANCommanderLibraryPlugin.cs b/LANCommander.Playnite.Extension/LANCommanderLibraryPlugin.cs index a20b54a7..fa591a5d 100644 --- a/LANCommander.Playnite.Extension/LANCommanderLibraryPlugin.cs +++ b/LANCommander.Playnite.Extension/LANCommanderLibraryPlugin.cs @@ -274,9 +274,9 @@ namespace LANCommander.PlaynitePlugin Description = "Change Player Name", Action = (nameChangeArgs) => { - var oldName = Settings.PlayerName; + var oldName = String.IsNullOrWhiteSpace(Settings.PlayerAlias) ? Settings.PlayerName : Settings.PlayerAlias; - var result = PlayniteApi.Dialogs.SelectString("Enter your player name", "Change Player Name", Settings.PlayerName); + var result = PlayniteApi.Dialogs.SelectString("Enter your player name", "Change Player Name", oldName); if (result.Result == true) { @@ -286,7 +286,11 @@ namespace LANCommander.PlaynitePlugin { RunNameChangeScript(nameChangeGame.InstallDirectory, gameId, oldName, result.SelectedString); - LANCommanderClient.Profile.ChangeAlias(result.SelectedString); + var alias = LANCommanderClient.Profile.ChangeAlias(result.SelectedString); + + Settings.PlayerAlias = alias; + + SavePluginSettings(Settings); } } } @@ -445,7 +449,9 @@ namespace LANCommander.PlaynitePlugin { Logger.Trace("Showing name change dialog!"); - var result = PlayniteApi.Dialogs.SelectString("Enter your new player name. This will change your name across all installed games!", "Enter Name", Settings.PlayerName); + var oldName = String.IsNullOrWhiteSpace(Settings.PlayerAlias) ? Settings.PlayerName : Settings.PlayerAlias; + + var result = PlayniteApi.Dialogs.SelectString("Enter your new player name. This will change your name across all installed games!", "Enter Name", oldName); if (result.Result == true) { @@ -462,8 +468,6 @@ namespace LANCommander.PlaynitePlugin } else { - var oldName = Settings.PlayerName; - Settings.PlayerName = result.SelectedString; Logger.Trace($"New player name of \"{Settings.PlayerName}\" has been set!"); diff --git a/LANCommander.Playnite.Extension/ViewModels/LANCommanderSettingsViewModel.cs b/LANCommander.Playnite.Extension/ViewModels/LANCommanderSettingsViewModel.cs index d100e2fc..f42deab1 100644 --- a/LANCommander.Playnite.Extension/ViewModels/LANCommanderSettingsViewModel.cs +++ b/LANCommander.Playnite.Extension/ViewModels/LANCommanderSettingsViewModel.cs @@ -17,6 +17,7 @@ namespace LANCommander.PlaynitePlugin public string RefreshToken { get; set; } = String.Empty; public string InstallDirectory { get; set; } = String.Empty; public string PlayerName { get; set; } = String.Empty; + public string PlayerAlias { get; set; } = String.Empty; public LANCommanderSettingsViewModel() { } @@ -33,6 +34,7 @@ namespace LANCommander.PlaynitePlugin RefreshToken = settings.RefreshToken; InstallDirectory = settings.InstallDirectory; PlayerName = settings.PlayerName; + PlayerAlias = settings.PlayerAlias; } else { diff --git a/LANCommander.Playnite.Extension/Views/Authentication.xaml.cs b/LANCommander.Playnite.Extension/Views/Authentication.xaml.cs index 770c498a..15cb4e00 100644 --- a/LANCommander.Playnite.Extension/Views/Authentication.xaml.cs +++ b/LANCommander.Playnite.Extension/Views/Authentication.xaml.cs @@ -113,7 +113,8 @@ namespace LANCommander.PlaynitePlugin.Views var profile = Plugin.LANCommanderClient.Profile.Get(); - Plugin.Settings.PlayerName = String.IsNullOrWhiteSpace(profile.Alias) ? profile.UserName : profile.Alias; + Plugin.Settings.PlayerName = profile.UserName; + Plugin.Settings.PlayerAlias = profile.Alias; // Probably unneeded, but why not be more secure? Context.Password = String.Empty;