summaryrefslogtreecommitdiff
path: root/game/server/tf/nav_mesh/tf_nav_interface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'game/server/tf/nav_mesh/tf_nav_interface.cpp')
-rw-r--r--game/server/tf/nav_mesh/tf_nav_interface.cpp45
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 );
+ }
+}