diff options
Diffstat (limited to 'game/server/tf/nav_mesh/tf_nav_interface.cpp')
| -rw-r--r-- | game/server/tf/nav_mesh/tf_nav_interface.cpp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/game/server/tf/nav_mesh/tf_nav_interface.cpp b/game/server/tf/nav_mesh/tf_nav_interface.cpp new file mode 100644 index 0000000..c720db3 --- /dev/null +++ b/game/server/tf/nav_mesh/tf_nav_interface.cpp @@ -0,0 +1,45 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: Implements nav interface entity. Used by maps to do various things +// with the nav mesh +// +// $NoKeywords: $ +//=============================================================================// + +#include "cbase.h" +#include "tf_nav_mesh.h" + +// memdbgon must be the last include file in a .cpp file!!! +#include "tier0/memdbgon.h" + +class CPointNavInterface : public CPointEntity +{ + DECLARE_CLASS( CPointNavInterface, CPointEntity ); + +public: + + // Input handlers + void RecomputeBlockers(inputdata_t &inputdata); + + DECLARE_DATADESC(); +}; + +BEGIN_DATADESC( CPointNavInterface ) + + // Inputs + DEFINE_INPUTFUNC( FIELD_VOID, "RecomputeBlockers", RecomputeBlockers ), + +END_DATADESC() + +LINK_ENTITY_TO_CLASS( tf_point_nav_interface, CPointNavInterface ); + + +void CPointNavInterface::RecomputeBlockers( inputdata_t &inputdata ) +{ + CTFNavMesh* pTFNavMesh = dynamic_cast<CTFNavMesh*>( TheNavMesh ); + Assert( pTFNavMesh ); + if( pTFNavMesh ) + { + pTFNavMesh->ScheduleRecomputationOfInternalData( CTFNavMesh::MAP_LOGIC ); + } +} |