hl2_src-leak-2017/src/game/server/tf/entity_game_text_tf.cpp
BotoX 60f625f414 import hl2_src from full.7z
source: magnet:?xt=urn:btih:21DDA6847DDE983F2F8063739249D2D1D09A5DDA
2020-12-25 16:26:23 +01:00

68 lines
1.6 KiB
C++

//========= 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 );
}