Example #1
0
        public static void SwapBasicAccounts(string accId = "", string args = "")
        {
            Globals.DebugWriteLine(@"[Func:Basic\BasicSwitcherFuncs.SwapBasicAccounts] Swapping to: hidden.");
            // Handle args:
            if (CurrentPlatform.ExeExtraArgs != "")
            {
                args = CurrentPlatform.ExeExtraArgs + (args == "" ? "" : " " + args);
            }

            LoadAccountIds();
            var accName = GetNameFromId(accId);

            if (!KillGameProcesses())
            {
                return;
            }

            // Add currently logged in account if there is a way of checking unique ID.
            // If saved, and has unique key: Update
            if (CurrentPlatform.UniqueIdFile is not null)
            {
                string uniqueId;
                if (CurrentPlatform.UniqueIdMethod is "REGKEY" && !string.IsNullOrEmpty(CurrentPlatform.UniqueIdFile))
                {
                    _ = ReadRegistryKeyWithErrors(CurrentPlatform.UniqueIdFile, out uniqueId);
                }
                else
                {
                    uniqueId = GetUniqueId();
                }

                // UniqueId Found >> Save!
                if (File.Exists(CurrentPlatform.IdsJsonPath))
                {
                    if (!string.IsNullOrEmpty(uniqueId) && AccountIds.ContainsKey(uniqueId))
                    {
                        if (accId == uniqueId)
                        {
                            _ = GeneralInvocableFuncs.ShowToast("info", Lang["Toast_AlreadyLoggedIn"], renderTo: "toastarea");
                            if (Globals.StartProgram(BasicSettings.Exe(), BasicSettings.Admin, args))
                            {
                                _ = GeneralInvocableFuncs.ShowToast("info", Lang["Status_StartingPlatform", new { platform = CurrentPlatform.SafeName }], renderTo: "toastarea");
                            }
                            else
                            {
                                _ = GeneralInvocableFuncs.ShowToast("error", Lang["Toast_StartingPlatformFailed", new { platform = CurrentPlatform.SafeName }], renderTo: "toastarea");
                            }
                            return;
                        }
                        BasicAddCurrent(AccountIds[uniqueId]);
                    }
                }
            }
Example #2
0
        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(""));
        }
Example #3
0
        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;
            }
        }