From eac07d732708810a501982b23f2c0d8adef66391 Mon Sep 17 00:00:00 2001 From: Stenlan Date: Tue, 12 Jan 2021 00:22:34 +0100 Subject: [PATCH] Add cosmetics change event --- AUCapture-WPF/MainWindow.xaml.cs | 6 ++++++ AmongUsCapture/Memory/GameMemReader.cs | 17 +++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/AUCapture-WPF/MainWindow.xaml.cs b/AUCapture-WPF/MainWindow.xaml.cs index 50d1a16e..759a039a 100644 --- a/AUCapture-WPF/MainWindow.xaml.cs +++ b/AUCapture-WPF/MainWindow.xaml.cs @@ -112,6 +112,7 @@ public MainWindow() GameMemReader.getInstance().ChatMessageAdded += OnChatMessageAdded; GameMemReader.getInstance().JoinedLobby += OnJoinedLobby; GameMemReader.getInstance().GameOver += OnGameOver; + GameMemReader.getInstance().PlayerCosmeticChanged += OnCosmeticChanged; IPCAdapter.getInstance().OnToken += (sender, token) => { this.BeginInvoke((w) => @@ -177,6 +178,11 @@ public MainWindow() //ApplyDarkMode(); } + private void OnCosmeticChanged(object sender, PlayerCosmeticChangedEventArgs e) + { + AmongUsCapture.Settings.conInterface.WriteModuleTextColored("Cosmetic (Debug)", Color.DarkKhaki, $"{e.Name}{NormalTextColor.ToTextColor()}: {e.HatId} {e.SkinId}"); + } + public async void Update() { Version version = new Version(context.Version); diff --git a/AmongUsCapture/Memory/GameMemReader.cs b/AmongUsCapture/Memory/GameMemReader.cs index 22c312db..ac5ff6b8 100644 --- a/AmongUsCapture/Memory/GameMemReader.cs +++ b/AmongUsCapture/Memory/GameMemReader.cs @@ -71,6 +71,8 @@ public static GameMemReader getInstance() public event EventHandler GameOver; + public event EventHandler PlayerCosmeticChanged; + private bool cracked = false; @@ -421,6 +423,14 @@ public void RunLoop() Disconnected = pi.GetIsDisconnected(), Color = pi.GetPlayerColor() }); + + if (oldPlayerInfo.HatId != pi.HatId || oldPlayerInfo.SkinId != pi.SkinId) + PlayerCosmeticChanged?.Invoke(this, new PlayerCosmeticChangedEventArgs + { + Name = playerName, + HatId = pi.HatId, + SkinId = pi.SkinId + }); } } @@ -645,6 +655,13 @@ public enum PlayMap Polus = 2 } + public class PlayerCosmeticChangedEventArgs : EventArgs + { + public string Name { get; set; } + public uint HatId { get; set; } + public uint SkinId { get; set; } + } + public class PlayerChangedEventArgs : EventArgs { public PlayerAction Action { get; set; }