public static Task <string> GiConfirmAction(string action, bool value) { Globals.DebugWriteLine($@"[JSInvoke:General\GeneralInvocableFuncs.GiConfirmAction] action={action.Split(":")[0]}, value={value}"); if (!value) { return(Task.FromResult("")); } var split = action.Split(":"); if (split.Length > 1) { var accName = split[1]; if (action.StartsWith("AcceptForgetBasicAcc:")) { BasicSettings.SetForgetAcc(true); _ = GeneralFuncs.ForgetAccount_Generic(accName, CurrentPlatform.SafeName, true); return(Task.FromResult("refresh")); } if (action.StartsWith("AcceptForgetSteamAcc:")) { SteamSettings.SetForgetAcc(true); _ = SteamSwitcherFuncs.ForgetAccount(accName); return(Task.FromResult("refresh")); } if (action.StartsWith("AcceptForgetBattleNetAcc:")) { BattleNetSettings.SetForgetAcc(true); BattleNetSwitcherFuncs.ForgetAccount(accName); return(Task.FromResult("refresh")); } } switch (action) { case "ClearBattleNetIgnored": BattleNetSwitcherFuncs.ClearIgnored_Confirmed(); break; case "RestartAsAdmin": break; } return(Task.FromResult("")); }
public void Check(string platform) { Globals.DebugWriteLine($@"[Func:Index.Check] platform={platform}"); switch (platform) { case "BattleNet": if (!GeneralFuncs.CanKillProcess(BattleNetSettings.Processes, BattleNetSettings.ClosingMethod)) { return; } if (Directory.Exists(BattleNetSettings.FolderPath) && File.Exists(BattleNetSettings.Exe())) { AppData.ActiveNavMan.NavigateTo("/BattleNet/"); } else { _ = GeneralInvocableFuncs.ShowModal("find:BattleNet:Battle.net.exe:BattleNetSettings"); } break; case "Steam": if (!GeneralFuncs.CanKillProcess(SteamSettings.Processes, SteamSettings.ClosingMethod)) { return; } if (!Directory.Exists(SteamSettings.FolderPath) || !File.Exists(SteamSettings.Exe())) { _ = GeneralInvocableFuncs.ShowModal("find:Steam:Steam.exe:SteamSettings"); return; } if (SteamSwitcherFuncs.SteamSettingsValid()) { AppData.ActiveNavMan.NavigateTo("/Steam/"); } else { _ = GeneralInvocableFuncs.ShowModal(Lang["Toast_Steam_CantLocateLoginusers"]); } break; default: if (BasicPlatforms.PlatformExistsFromShort(platform)) // Is a basic platform! { BasicPlatforms.SetCurrentPlatformFromShort(platform); if (!GeneralFuncs.CanKillProcess(CurrentPlatform.ExesToEnd, BasicSettings.ClosingMethod)) { return; } if (Directory.Exists(BasicSettings.FolderPath) && File.Exists(BasicSettings.Exe())) { AppData.ActiveNavMan.NavigateTo("/Basic/"); } else { _ = GeneralInvocableFuncs.ShowModal($"find:{CurrentPlatform.SafeName}:{CurrentPlatform.ExeName}:{CurrentPlatform.SafeName}"); } } break; } }
/// <summary> /// Main function for Battle.net Account Switcher. Run on load. /// Prepares HTML Elements string for insertion into the account switcher GUI. /// </summary> public static async Task LoadProfiles() { Globals.DebugWriteLine(@"[Func:BattleNet\BattleNetSwitcherFuncs.LoadProfiles] Loading BattleNet profiles"); LoadImportantData(); BattleNetSettings.LoadAccounts(); // Check if accounts file exists if (!File.Exists(BattleNetRoaming + "\\Battle.net.config")) { _ = GeneralInvocableFuncs.ShowToast("error", Lang["Toast_BNet_CantLoadNotFound"], "toastarea"); return; } // Read lines in accounts file var file = await File.ReadAllTextAsync(BattleNetRoaming + "\\Battle.net.config").ConfigureAwait(false); if (JsonConvert.DeserializeObject(file) is not JObject accountsFile) { _ = GeneralInvocableFuncs.ShowToast("error", Lang["Toast_BNet_CantLoadConfigCorrupt"], "toastarea"); return; } // Verify that there are accounts to iterate over var savedAccountsList = accountsFile.SelectToken("Client.SavedAccountNames"); if (savedAccountsList == null) { _ = GeneralInvocableFuncs.ShowToast("error", Lang["Toast_BNet_CantLoadEmpty"], "toastarea"); return; } foreach (var mail in savedAccountsList.ToString().Split(',')) { if (string.IsNullOrEmpty(mail) || string.IsNullOrWhiteSpace(mail)) { continue; // Ignores blank emails sometimes added: ".com, , asdf@..." } try { if (BattleNetSettings.Accounts.Count == 0 || BattleNetSettings.Accounts.All(x => x.Email != mail) && !BattleNetSettings.IgnoredAccounts.Contains(mail) && mail != " ") { BattleNetSettings.Accounts.Add(new BattleNetSwitcherBase.BattleNetUser { Email = mail }); } } catch (NullReferenceException) { BattleNetSettings.Accounts.Add(new BattleNetSwitcherBase.BattleNetUser { Email = mail }); } } // Order if (File.Exists("LoginCache\\BattleNet\\order.json")) { var savedOrder = JsonConvert.DeserializeObject <List <string> >(await File.ReadAllTextAsync("LoginCache\\BattleNet\\order.json").ConfigureAwait(false)); if (savedOrder != null) { var index = 0; if (savedOrder is { Count : > 0 })