示例#1
0
            private void CleanUp()
            {
                if (this.gameProcess != null)
                {
                    this.gameProcess.Dispose();
                }
                if (enableDiscordRP)
                {
                    DiscordRPC.Shutdown();
                }
                if (keeprunning)
                {
                    if (swapFileResult != null)
                    {
                        if (swapfile_swapped)
                        {
                            if (File.Exists(swapFileResult.BackupFilename))
                            {
                                if (File.Exists(swapFileResult.FilenameToSwap))
                                {
                                    File.Delete(swapFileResult.FilenameToSwap);
                                }
                                if (File.Exists(swapFileResult.FilenameToBeSwapped))
                                {
                                    File.Move(swapFileResult.FilenameToBeSwapped, swapFileResult.FilenameToSwap);
                                }

                                File.Move(swapFileResult.BackupFilename, swapFileResult.FilenameToBeSwapped);
                            }
                        }
                    }

                    if (optimizeLoading)
                    {
                        if (Directory.Exists(optLoading_to) && (filelist != null))
                        {
                            string tmpstrFrom, tmpstrTo;
                            for (int i = 0; i < filelist.Count; i++)
                            {
                                tmpstrFrom = Path.Combine(optLoading_from, filelist[i]);
                                tmpstrTo   = Path.Combine(optLoading_to, filelist[i] + ".bak");
                                if (File.Exists(tmpstrTo))
                                {
                                    if (File.Exists(tmpstrFrom))
                                    {
                                        File.Delete(tmpstrFrom);
                                    }
                                    File.Move(tmpstrTo, tmpstrFrom);
                                }
                            }
                        }
                    }
                }

                if (config != null)
                {
                    config.Save();
                }
                if (this.MainForm != null)
                {
                    this.MainForm.Dispose();
                }
                // System.Environment.ExitCode = code;
                // System.Windows.Forms.Application.Exit();
            }
示例#2
0
            private void UpdateRichPresence(bool force)
            {
                var rpData = new Leayal.Ini.IniFile(Path.Combine(AppInfo.EntryAssemblyInfo.DirectoryPath, "Discord-RPC-Payload.ini"));

                if (rpData.IsEmpty)
                {
                    rpData.SetValue("DiscordRichPresence", "State", "Playing Solo");
                    rpData.SetValue("DiscordRichPresence", "Details", "Leveling up class");
                    rpData.SetValue("DiscordRichPresence", "LargeImageKey", "Map-Name-Key");
                    rpData.SetValue("DiscordRichPresence", "LargeImageText", "Map's name");
                    rpData.SetValue("DiscordRichPresence", "SmallImageKey", "char-icon-key");
                    rpData.SetValue("DiscordRichPresence", "SmallImageText", "CharacterName");

                    rpData.SetValue("DiscordRichPresence", "PartySizeMax", "0");
                    rpData.SetValue("DiscordRichPresence", "PartySizeCurrent", "0");
                    rpData.Save(Encoding.UTF8);
                }

                if (!enableDiscordRP)
                {
                    rpData.Close();
                    return;
                }

                this.cacheRP.state          = rpData.GetValue("DiscordRichPresence", "State", "Playing Solo");
                this.cacheRP.details        = rpData.GetValue("DiscordRichPresence", "Details", "Leveling up class");
                this.cacheRP.largeImageKey  = rpData.GetValue("DiscordRichPresence", "LargeImageKey", "Map-Name-Key");
                this.cacheRP.largeImageText = rpData.GetValue("DiscordRichPresence", "LargeImageText", "Map's name");
                this.cacheRP.smallImageKey  = rpData.GetValue("DiscordRichPresence", "SmallImageKey", "char-icon-key");
                this.cacheRP.smallImageText = rpData.GetValue("DiscordRichPresence", "SmallImageText", "CharacterName");

                string inString = rpData.GetValue("DiscordRichPresence", "PartySizeMax", "4");
                int    outNumber;

                if (int.TryParse(inString, out outNumber))
                {
                    this.cacheRP.partyMax = outNumber;
                }
                else
                {
                    this.cacheRP.partyMax = 0;
                }

                inString = rpData.GetValue("DiscordRichPresence", "PartySizeCurrent", "1");
                if (int.TryParse(inString, out outNumber))
                {
                    this.cacheRP.partySize = outNumber;
                }
                else
                {
                    this.cacheRP.partySize = 0;
                }
                rpData.Close();

                DiscordRPC.UpdatePresence(ref this.cacheRP);
                this.GetWrapperForm();

                if (!force)
                {
                    this.MainForm.Hide();
                }
            }