summaryrefslogtreecommitdiff
path: root/game/server/sdk/sdk_env_message.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'game/server/sdk/sdk_env_message.cpp')
-rw-r--r--game/server/sdk/sdk_env_message.cpp46
1 files changed, 46 insertions, 0 deletions
diff --git a/game/server/sdk/sdk_env_message.cpp b/game/server/sdk/sdk_env_message.cpp
new file mode 100644
index 0000000..b6be3a3
--- /dev/null
+++ b/game/server/sdk/sdk_env_message.cpp
@@ -0,0 +1,46 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose: Simple entity to transmit message to the client
+//
+//=============================================================================//
+
+#include "cbase.h"
+
+class CGameMessageEntity : public CLogicalEntity
+{
+public:
+ DECLARE_CLASS( CGameMessageEntity, CLogicalEntity );
+ DECLARE_DATADESC();
+
+ CGameMessageEntity( void ) {};
+
+ void InputDisplayMessage( inputdata_t &data );
+
+ string_t m_strText;
+};
+
+LINK_ENTITY_TO_CLASS( logic_game_message, CGameMessageEntity );
+
+BEGIN_DATADESC( CGameMessageEntity )
+
+ DEFINE_KEYFIELD( m_strText, FIELD_STRING, "text" ),
+
+ DEFINE_INPUTFUNC( FIELD_VOID, "DisplayMessage", InputDisplayMessage ),
+
+END_DATADESC()
+
+void CGameMessageEntity::InputDisplayMessage( inputdata_t &data )
+{
+ // Only send this message the local player
+ CSingleUserRecipientFilter user( UTIL_PlayerByIndex(1) );
+ user.MakeReliable();
+
+ // Start the message block
+ UserMessageBegin( user, "GameMessage" );
+
+ // Send our text to the client
+ WRITE_STRING( STRING( m_strText ) );
+
+ // End the message block
+ MessageEnd();
+}