summaryrefslogtreecommitdiff
path: root/game/server/tf2/team_messages.h
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /game/server/tf2/team_messages.h
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
Diffstat (limited to 'game/server/tf2/team_messages.h')
-rw-r--r--game/server/tf2/team_messages.h83
1 files changed, 83 insertions, 0 deletions
diff --git a/game/server/tf2/team_messages.h b/game/server/tf2/team_messages.h
new file mode 100644
index 0000000..536e836
--- /dev/null
+++ b/game/server/tf2/team_messages.h
@@ -0,0 +1,83 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//=============================================================================//
+
+#ifndef TEAM_MESSAGES_H
+#define TEAM_MESSAGES_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "utlsymbol.h"
+
+// Message IDs
+enum
+{
+ // Reinforcements
+ TEAMMSG_REINFORCEMENTS_ARRIVED,
+
+ // Carriers / Harvesters
+ TEAMMSG_CARRIER_UNDER_ATTACK,
+ TEAMMSG_CARRIER_DESTROYED,
+ TEAMMSG_HARVESTER_UNDER_ATTACK,
+ TEAMMSG_HARVESTER_DESTROYED,
+
+ // Resources
+ TEAMMSG_RESOURCE_ZONE_EMPTIED,
+
+ // Techtree
+ TEAMMSG_NEW_TECH_LEVEL_OPEN,
+
+ // Custom sounds
+ TEAMMSG_CUSTOM_SOUND,
+};
+
+//-----------------------------------------------------------------------------
+// Purpose: Message sent to a team for the purpose of updating its members about some event
+//-----------------------------------------------------------------------------
+abstract_class CTeamMessage
+{
+public:
+ CTeamMessage( CTFTeam *pTeam, int iMessageID, CBaseEntity *pEntity, float flTTL );
+
+ static CTeamMessage *Create( CTFTeam *pTeam, int iMessageID, CBaseEntity *pEntity );
+
+ // Called when the team manager wants me to fire myself
+ virtual void FireMessage( void ) = 0;
+
+ // Accessors
+ virtual int GetID( void ) { return m_iMessageID; };
+ virtual float GetTTL( void ) { return m_flTTL; };
+ virtual CBaseEntity *GetEntity( void ) { return m_hEntity; };
+ virtual CTFTeam *GetTeam( void ) { return m_pTeam; };
+
+ virtual void SetData( char *pszData ) { return; }
+
+protected:
+ int m_iMessageID;
+ float m_flTTL;
+ EHANDLE m_hEntity;
+ CTFTeam *m_pTeam;
+ CUtlSymbol m_SoundName;
+};
+
+//-----------------------------------------------------------------------------
+// Purpose: Team message that plays a sound to the members of the team
+//-----------------------------------------------------------------------------
+class CTeamMessage_Sound : public CTeamMessage
+{
+public:
+ CTeamMessage_Sound( CTFTeam *pTeam, int iMessageID, CBaseEntity *pEntity, float flTTL );
+
+ // Set my sound
+ virtual void SetSound( char *sSound );
+ // Called when the team manager wants me to fire myself
+ virtual void FireMessage( void );
+
+ virtual void SetData( char *pszData ) { SetSound( pszData ); }
+};
+
+#endif // TEAM_MESSAGES_H