mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-09 18:29:35 +00:00
1
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
#include "cbase.h"
|
||||
#include "EntityOutput.h"
|
||||
#include "EntityList.h"
|
||||
#include "tf_team.h"
|
||||
#include "baseentity.h"
|
||||
#include "tf_stats.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Map entity that gives resources to players passed into it
|
||||
//-----------------------------------------------------------------------------
|
||||
class CInfoAddResources : public CBaseEntity
|
||||
{
|
||||
DECLARE_CLASS( CInfoAddResources, CBaseEntity );
|
||||
public:
|
||||
DECLARE_DATADESC();
|
||||
|
||||
void Spawn( void );
|
||||
|
||||
// Inputs
|
||||
void InputPlayer( inputdata_t &inputdata );
|
||||
|
||||
public:
|
||||
// Outputs
|
||||
COutputEvent m_OnAdded;
|
||||
|
||||
// Data
|
||||
int m_iResourceAmount;
|
||||
};
|
||||
|
||||
BEGIN_DATADESC( CInfoAddResources )
|
||||
|
||||
// inputs
|
||||
DEFINE_INPUTFUNC( FIELD_EHANDLE, "Player", InputPlayer ),
|
||||
|
||||
// outputs
|
||||
DEFINE_OUTPUT( m_OnAdded, "OnAdded" ),
|
||||
|
||||
// keys
|
||||
DEFINE_KEYFIELD_NOT_SAVED( m_iResourceAmount, FIELD_INTEGER, "ResourceAmount" ),
|
||||
|
||||
END_DATADESC()
|
||||
|
||||
LINK_ENTITY_TO_CLASS( info_add_resources, CInfoAddResources );
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
void CInfoAddResources::Spawn( void )
|
||||
{
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
void CInfoAddResources::InputPlayer( inputdata_t &inputdata )
|
||||
{
|
||||
CBaseEntity *pEntity = (inputdata.value.Entity()).Get();
|
||||
if ( pEntity && pEntity->IsPlayer() )
|
||||
{
|
||||
CBaseTFPlayer *pPlayer = (CBaseTFPlayer *)pEntity;
|
||||
pPlayer->AddBankResources( m_iResourceAmount );
|
||||
TFStats()->IncrementPlayerStat( pPlayer, TF_PLAYER_STAT_RESOURCES_ACQUIRED, m_iResourceAmount );
|
||||
}
|
||||
|
||||
m_OnAdded.FireOutput( inputdata.pActivator, this );
|
||||
}
|
||||
Reference in New Issue
Block a user