From 398eef42bf3ca895fa5107e2c0cc2f502c973be1 Mon Sep 17 00:00:00 2001 From: WeeXnes Date: Tue, 28 Jun 2022 19:29:51 +0200 Subject: [PATCH] csgo rpc improvements --- WeeXnes/MainWindow.xaml.cs | 5 ++++- WeeXnes/RPC/CSGO.cs | 37 ++++++++++++++++++++++++++++++------- 2 files changed, 34 insertions(+), 8 deletions(-) diff --git a/WeeXnes/MainWindow.xaml.cs b/WeeXnes/MainWindow.xaml.cs index 39b6bdd..6501fdd 100644 --- a/WeeXnes/MainWindow.xaml.cs +++ b/WeeXnes/MainWindow.xaml.cs @@ -177,7 +177,10 @@ namespace WeeXnes private void Window_Closing(object sender, CancelEventArgs e) { trayIcon.Dispose(); - Globals.gameStateListener.Stop(); + if (Globals.gameStateListener.Running) + { + Globals.gameStateListener.Stop(); + } } } } diff --git a/WeeXnes/RPC/CSGO.cs b/WeeXnes/RPC/CSGO.cs index d7f08cf..85b803e 100644 --- a/WeeXnes/RPC/CSGO.cs +++ b/WeeXnes/RPC/CSGO.cs @@ -37,25 +37,48 @@ namespace WeeXnes.RPC.CSGO if (gs.Player.Activity == PlayerActivity.Menu) { - this.client.UpdateLargeAsset("menu"); + this.client.UpdateLargeAsset("csgo_icon"); this.client.UpdateDetails("In Menu"); this.client.UpdateState(""); + this.client.UpdateSmallAsset(""); } else if (gs.Player.Activity == PlayerActivity.Playing) { + if (gs.Map.Mode == MapMode.ScrimComp2v2) + { + this.client.UpdateDetails("Playing Wingman"); + } + else if (gs.Map.Mode == MapMode.GunGameProgressive) + { + this.client.UpdateDetails("Playing Gun Game"); + } + else if (gs.Map.Mode == MapMode.GunGameTRBomb) + { + this.client.UpdateDetails("Playing Demolition"); + } + else + { + this.client.UpdateDetails("Playing " + gs.Map.Mode); + } + this.client.UpdateState("on " + gs.Map.Name); + this.client.UpdateLargeAsset(gs.Map.Name); - this.client.UpdateDetails("Playing on " + gs.Map.Name); if (gs.Player.Team == PlayerTeam.T) { - this.client.UpdateSmallAsset("t_logo"); + + this.client.UpdateLargeAsset(gs.Map.Name, "T: " + gs.Map.TeamT.Score + " - CT: " + gs.Map.TeamCT.Score); + this.client.UpdateSmallAsset("t_logo", Convert.ToString("Kills: " + gs.Player.MatchStats.Kills + " | Deaths: " + gs.Player.MatchStats.Deaths)); }else if(gs.Player.Team == PlayerTeam.CT) { - this.client.UpdateSmallAsset("ct_logo"); + this.client.UpdateLargeAsset(gs.Map.Name, "CT: " + gs.Map.TeamCT.Score + " - T: " + gs.Map.TeamT.Score); + this.client.UpdateSmallAsset("ct_logo", Convert.ToString("Kills: " + gs.Player.MatchStats.Kills + " | Deaths: " + gs.Player.MatchStats.Deaths)); } else { this.client.UpdateSmallAsset(""); } + + } } @@ -72,11 +95,11 @@ namespace WeeXnes.RPC.CSGO client.OnPresenceUpdate += ClientOnOnPresenceUpdate; client.SetPresence(new RichPresence() { - Details = "Playing CSGO", - State = "Launching Game...", + Details = "Launching Game...", + State = "", Assets = new Assets() { - LargeImageKey = "menu", + LargeImageKey = "csgo_icon", LargeImageText = "", SmallImageKey = "", SmallImageText = ""