From 851dfb7f1f0a1121702f3ddcab1f2fd226d3b772 Mon Sep 17 00:00:00 2001 From: A1m` <33463136+A1mDev@users.noreply.github.com> Date: Sun, 12 Jan 2025 10:17:07 +0700 Subject: [PATCH] [L4D1] Update 'GameEventListener' (#296) * Update GameEventListener.h * Update 'CLIENT_DLL_INTERFACE_VERSION' * Revert "Update 'CLIENT_DLL_INTERFACE_VERSION'" This reverts commit 961d9bf2bd628a8766adf76e2d01dd0ed25983f3. --- game/shared/GameEventListener.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/game/shared/GameEventListener.h b/game/shared/GameEventListener.h index 3371b3b2..c37ed54a 100644 --- a/game/shared/GameEventListener.h +++ b/game/shared/GameEventListener.h @@ -13,6 +13,8 @@ #include "igameevents.h" +extern IGameEventManager2* gameeventmanager; + // A safer method than inheriting straight from IGameEventListener2. // Avoids requiring the user to remove themselves as listeners in // their deconstructor, and sets the serverside variable based on @@ -22,10 +24,12 @@ class CGameEventListener : public IGameEventListener2 public: CGameEventListener() : m_bRegisteredForEvents(false) { + m_nDebugID = EVENT_DEBUG_ID_INIT; } ~CGameEventListener() { + m_nDebugID = EVENT_DEBUG_ID_SHUTDOWN; StopListeningForAllEvents(); } @@ -47,13 +51,17 @@ public: // remove me from list if ( m_bRegisteredForEvents ) { - gameeventmanager->RemoveListener( this ); + if (gameeventmanager) + gameeventmanager->RemoveListener(this); + m_bRegisteredForEvents = false; } } // Intentionally abstract virtual void FireGameEvent( IGameEvent *event ) = 0; + int m_nDebugID; + virtual int GetEventDebugID(void) { return m_nDebugID; } private: