diff options
Diffstat (limited to 'game/client/tf2/hintitemobjectbase.cpp')
| -rw-r--r-- | game/client/tf2/hintitemobjectbase.cpp | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/game/client/tf2/hintitemobjectbase.cpp b/game/client/tf2/hintitemobjectbase.cpp new file mode 100644 index 0000000..b5b0c5c --- /dev/null +++ b/game/client/tf2/hintitemobjectbase.cpp @@ -0,0 +1,79 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// +#include "cbase.h" +#include "hintitemobjectbase.h" +#include <KeyValues.h> +#include "c_obj_resourcepump.h" +#include "c_func_resource.h" + + +//----------------------------------------------------------------------------- +// Purpose: +// Input : *parent - +// *panelName - +//----------------------------------------------------------------------------- +CHintItemObjectBase::CHintItemObjectBase( vgui::Panel *parent, const char *panelName ) +: BaseClass( parent, panelName ) +{ + SetObjectType( "" ); +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : *pKeyValues - +//----------------------------------------------------------------------------- +void CHintItemObjectBase::ParseItem( KeyValues *pKeyValues ) +{ + BaseClass::ParseItem( pKeyValues ); + + const char *type = pKeyValues->GetString( "type", "" ); + if ( type ) + { + SetObjectType( type ); + } +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : *object - +// Output : Returns true on success, false on failure. +//----------------------------------------------------------------------------- +bool CHintItemObjectBase::IsObjectOfType( C_BaseEntity *object ) +{ + if ( !stricmp( GetObjectType(), "Resource Zone" ) ) + { + return dynamic_cast< C_ResourceZone *>( object ) ? true : false; + } + else if ( !stricmp( GetObjectType(), "Resource Pump" ) ) + { + return dynamic_cast< C_ObjectResourcePump * >( object) ? true : false; + } + else if ( !stricmp( GetObjectType(), "BaseObject" ) ) + { + return dynamic_cast< C_BaseObject * >( object) ? true : false; + } + + return false; +} + +//----------------------------------------------------------------------------- +// Purpose: +// Input : *type - +//----------------------------------------------------------------------------- +void CHintItemObjectBase::SetObjectType( const char *type ) +{ + Q_strncpy( m_szObjectType, type, MAX_OBJECT_TYPE ); +} + +//----------------------------------------------------------------------------- +// Purpose: +// Output : char const +//----------------------------------------------------------------------------- +const char *CHintItemObjectBase::GetObjectType( void ) +{ + return m_szObjectType; +}
\ No newline at end of file |