diff --git a/MainProgram/App.config b/MainProgram/App.config index 0bc7069..bc6a32e 100644 --- a/MainProgram/App.config +++ b/MainProgram/App.config @@ -2,11 +2,11 @@ - + - + diff --git a/MainProgram/Form1.Designer.cs b/MainProgram/Form1.Designer.cs index cdc7f9c..0bc9052 100644 --- a/MainProgram/Form1.Designer.cs +++ b/MainProgram/Form1.Designer.cs @@ -33,6 +33,7 @@ private void InitializeComponent() this.label2 = new System.Windows.Forms.Label(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); + this.label8 = new System.Windows.Forms.Label(); this.lblVersion = new System.Windows.Forms.Label(); this.tabCSGO_btnInstall = new System.Windows.Forms.Button(); this.label3 = new System.Windows.Forms.Label(); @@ -93,6 +94,7 @@ private void InitializeComponent() // tabPage1 // this.tabPage1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.tabPage1.Controls.Add(this.label8); this.tabPage1.Controls.Add(this.lblVersion); this.tabPage1.Controls.Add(this.tabCSGO_btnInstall); this.tabPage1.Controls.Add(this.label3); @@ -103,6 +105,17 @@ private void InitializeComponent() this.tabPage1.TabIndex = 0; this.tabPage1.Text = "Config"; this.tabPage1.UseVisualStyleBackColor = true; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label8.Location = new System.Drawing.Point(7, 51); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(283, 30); + this.label8.TabIndex = 8; + this.label8.Text = "This program must be running at all times. \r\nYou can minimize it\'s for your conve" + + "nience"; // // lblVersion // @@ -382,6 +395,7 @@ private void InitializeComponent() this.btn_Minimize.Name = "btn_Minimize"; this.btn_Minimize.Size = new System.Drawing.Size(29, 24); this.btn_Minimize.TabIndex = 8; + this.btn_Minimize.Text = "β€”β€”"; this.btn_Minimize.UseVisualStyleBackColor = false; this.btn_Minimize.Click += new System.EventHandler(this.btn_Minimize_Click); // @@ -393,6 +407,7 @@ private void InitializeComponent() this.btn_Exit.Name = "btn_Exit"; this.btn_Exit.Size = new System.Drawing.Size(29, 24); this.btn_Exit.TabIndex = 7; + this.btn_Exit.Text = "X"; this.btn_Exit.UseVisualStyleBackColor = false; this.btn_Exit.Click += new System.EventHandler(this.btn_Exit_Click); // @@ -460,6 +475,7 @@ private void InitializeComponent() private System.Windows.Forms.Label label6; private System.Windows.Forms.PictureBox pictureBox1; private System.Windows.Forms.Label lblVersion; + private System.Windows.Forms.Label label8; } } diff --git a/MainProgram/Form1.cs b/MainProgram/Form1.cs index c051a14..6f0aaf1 100644 --- a/MainProgram/Form1.cs +++ b/MainProgram/Form1.cs @@ -1,4 +1,5 @@ ο»Ώusing CSGSI; +using CSGSI.Nodes; using DiscordRPC; using Microsoft.Win32; using Newtonsoft.Json; @@ -139,7 +140,7 @@ private string ParsePlaceHolder(GameState gs, string str) .Replace("{Mode}", game.Mode.ToString() ?? "") .Replace("{Name}", player.Name) - .Replace("{Team}", player.Team.ToString()) + .Replace("{Team}", player.Team.ToString() ?? "") .Replace("{Kill}", stat.Kills.ToString() ?? "") .Replace("{Death}", stat.Deaths.ToString() ?? "") .Replace("{Assist}", stat.Assists.ToString() ?? "") @@ -155,6 +156,8 @@ private string ParsePlaceHolder(GameState gs, string str) private void OnNewGameState(GameState gs) { + Trace.Write(gs.JSON); + var player = gs.Player; var activity = player.Activity; @@ -170,24 +173,34 @@ private void OnNewGameState(GameState gs) } else if (activity.ToString().ToLower() == "playing") { - var game = gs.Map; - var stat = player.MatchStats; + try + { + + + var game = gs.Map; - string map = game.Name; - string largeKey = ""; - string smallKey = ""; - string detail = ParsePlaceHolder(gs, IngameSetting.Detail); - string state = ParsePlaceHolder(gs, IngameSetting.State); - string largeText = ParsePlaceHolder(gs, IngameSetting.LargeText); - string smallText = ParsePlaceHolder(gs, IngameSetting.SmallText); + var stat = player.MatchStats; - if (IngameSetting.ShowMap) largeKey = $"{map}"; - if (IngameSetting.ShowTeam) smallKey = player.Team.ToString() == "T" ? "terrorists" : "counterterrorists" ?? "spec"; + string map = game?.Name ?? ""; + string largeKey = ""; + string smallKey = ""; - UpdatePresence($"{detail}", $"{state}", largeKey, largeText, smallKey, smallText); + string detail = ParsePlaceHolder(gs, IngameSetting.Detail); + string state = ParsePlaceHolder(gs, IngameSetting.State); + string largeText = ParsePlaceHolder(gs, IngameSetting.LargeText); + string smallText = ParsePlaceHolder(gs, IngameSetting.SmallText); + + if (IngameSetting.ShowMap) largeKey = $"{map}"; + if (IngameSetting.ShowTeam) smallKey = player.Team.ToString() == "T" ? "terrorists" : "counterterrorists" ?? "spec"; + + UpdatePresence($"{detail}", $"{state}", largeKey, largeText, smallKey, smallText); + } + catch + { + + } } - Trace.Write(gs.JSON); } private void UpdateGUI() @@ -410,8 +423,13 @@ private void OnMouseDown(object sender, MouseEventArgs e) private void btn_Exit_Click(object sender, EventArgs e) { - DeInitService(); - Environment.Exit(0); + DialogResult f = MessageBox.Show("Are you sure you want to exit the program? The discord rich presence will be stopped!", "Exit", MessageBoxButtons.YesNo, MessageBoxIcon.Question); + + if (f == DialogResult.Yes) + { + DeInitService(); + Environment.Exit(0); + } } private void btn_Minimize_Click(object sender, EventArgs e)