//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: // //=============================================================================// #include "cbase.h" #include "baseentity.h" #include "tf_gamerules.h" #include "tf_team.h" // memdbgon must be the last include file in a .cpp file!!! #include "tier0/memdbgon.h" class CTFHudNotify : public CPointEntity { public: DECLARE_CLASS( CTFHudNotify, CPointEntity ); DECLARE_DATADESC(); void InputDisplay( inputdata_t &inputdata ); void Display( CBaseEntity *pActivator ); private: string_t m_iszMessage; string_t m_iszIcon; int m_iRecipientTeam; int m_iBackgroundTeam; }; LINK_ENTITY_TO_CLASS( game_text_tf, CTFHudNotify ); BEGIN_DATADESC( CTFHudNotify ) DEFINE_KEYFIELD( m_iszMessage, FIELD_STRING, "message" ), DEFINE_KEYFIELD( m_iszIcon, FIELD_STRING, "icon" ), DEFINE_KEYFIELD( m_iRecipientTeam, FIELD_INTEGER, "display_to_team" ), DEFINE_KEYFIELD( m_iBackgroundTeam, FIELD_INTEGER, "background" ), // Inputs DEFINE_INPUTFUNC( FIELD_VOID, "Display", InputDisplay ), END_DATADESC() void CTFHudNotify::InputDisplay( inputdata_t &inputdata ) { Display( inputdata.pActivator ); } void CTFHudNotify::Display( CBaseEntity *pActivator ) { CBroadcastRecipientFilter filter; switch( m_iRecipientTeam ) { case TF_TEAM_RED: filter.RemoveRecipientsByTeam( GetGlobalTeam(TF_TEAM_BLUE) ); break; case TF_TEAM_BLUE: filter.RemoveRecipientsByTeam( GetGlobalTeam(TF_TEAM_RED) ); break; } TFGameRules()->SendHudNotification( filter, STRING(m_iszMessage), STRING(m_iszIcon), m_iBackgroundTeam ); }