From 39ed87570bdb2f86969d4be821c94b722dc71179 Mon Sep 17 00:00:00 2001 From: Joe Ludwig Date: Wed, 26 Jun 2013 15:22:04 -0700 Subject: First version of the SOurce SDK 2013 --- mp/src/game/server/env_texturetoggle.cpp | 63 ++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 mp/src/game/server/env_texturetoggle.cpp (limited to 'mp/src/game/server/env_texturetoggle.cpp') diff --git a/mp/src/game/server/env_texturetoggle.cpp b/mp/src/game/server/env_texturetoggle.cpp new file mode 100644 index 00000000..21b6e52c --- /dev/null +++ b/mp/src/game/server/env_texturetoggle.cpp @@ -0,0 +1,63 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//=============================================================================// + +#include "cbase.h" + +// memdbgon must be the last include file in a .cpp file!!! +#include "tier0/memdbgon.h" + +class CTextureToggle : public CPointEntity +{ +public: + DECLARE_CLASS( CTextureToggle, CPointEntity ); + + void InputIncrementBrushTexIndex( inputdata_t &inputdata ); + void InputSetBrushTexIndex( inputdata_t &inputdata ); + +private: + + DECLARE_DATADESC(); +}; + +LINK_ENTITY_TO_CLASS( env_texturetoggle, CTextureToggle ); + +BEGIN_DATADESC( CTextureToggle ) + + DEFINE_INPUTFUNC( FIELD_VOID, "IncrementTextureIndex", InputIncrementBrushTexIndex ), + DEFINE_INPUTFUNC( FIELD_INTEGER, "SetTextureIndex", InputSetBrushTexIndex ), + +END_DATADESC() + +//----------------------------------------------------------------------------- +// Purpose: +// Input : &inputdata - +//----------------------------------------------------------------------------- +void CTextureToggle::InputIncrementBrushTexIndex( inputdata_t& inputdata ) +{ + CBaseEntity *pEntity = gEntList.FindEntityByName( NULL, m_target ); + + while( pEntity ) + { + int iCurrentIndex = pEntity->GetTextureFrameIndex() + 1; + pEntity->SetTextureFrameIndex( iCurrentIndex ); + + pEntity = gEntList.FindEntityByName( pEntity, m_target ); + } +} + +void CTextureToggle::InputSetBrushTexIndex( inputdata_t& inputdata ) +{ + CBaseEntity *pEntity = gEntList.FindEntityByName( NULL, m_target ); + + while( pEntity ) + { + int iData = inputdata.value.Int(); + + pEntity->SetTextureFrameIndex( iData ); + pEntity = gEntList.FindEntityByName( pEntity, m_target ); + } +} + -- cgit v1.2.3