summaryrefslogtreecommitdiff
path: root/game/shared/tf2/tf_gamemovement_chooser.h
diff options
context:
space:
mode:
Diffstat (limited to 'game/shared/tf2/tf_gamemovement_chooser.h')
-rw-r--r--game/shared/tf2/tf_gamemovement_chooser.h69
1 files changed, 69 insertions, 0 deletions
diff --git a/game/shared/tf2/tf_gamemovement_chooser.h b/game/shared/tf2/tf_gamemovement_chooser.h
new file mode 100644
index 0000000..a1284bc
--- /dev/null
+++ b/game/shared/tf2/tf_gamemovement_chooser.h
@@ -0,0 +1,69 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose: Auto Repair
+//
+// $NoKeywords: $
+//=============================================================================//
+
+#ifndef TF_GAMEMOVEMENT_CHOOSER_H
+#define TF_GAMEMOVEMENT_CHOOSER_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "utlvector.h"
+#include "IGameMovement.h"
+#include "tf_gamemovement.h"
+#include "tf_gamemovement_recon.h"
+#include "tf_gamemovement_commando.h"
+#include "tf_gamemovement_medic.h"
+#include "tf_gamemovement_defender.h"
+#include "tf_gamemovement_sniper.h"
+#include "tf_gamemovement_support.h"
+#include "tf_gamemovement_escort.h"
+#include "tf_gamemovement_sapper.h"
+#include "tf_gamemovement_infiltrator.h"
+#include "tf_gamemovement_pyro.h"
+
+//=============================================================================
+//
+// Team Fortess Game Movement Chooser
+//
+class CTFGameMovementChooser : public IGameMovement
+{
+public:
+
+ CTFGameMovementChooser();
+
+ // Process the current movement command
+ virtual void ProcessMovement( CBasePlayer *pPlayer, CMoveData *pMoveData );
+
+ // Allows other parts of the engine to find out the normal and ducked player bbox sizes
+ virtual const Vector &GetPlayerMins( bool ducked ) const;
+ virtual const Vector &GetPlayerMaxs( bool ducked ) const;
+ virtual const Vector &GetPlayerViewOffset( bool ducked ) const;
+
+protected:
+
+ // Cache the current class id.
+ int m_nClassID;
+
+ // Create the class specific movement singletons.
+ CTFGameMovementRecon m_ReconMovement;
+ CTFGameMovementCommando m_CommandoMovement;
+ CTFGameMovementMedic m_MedicMovement;
+ CTFGameMovementDefender m_DefenderMovement;
+ CTFGameMovementSniper m_SniperMovement;
+ CTFGameMovementSupport m_SupportMovement;
+ CTFGameMovementEscort m_EscortMovement;
+ CTFGameMovementSapper m_SapperMovement;
+ CTFGameMovementInfiltrator m_InfiltratorMovement;
+ CTFGameMovementPyro m_PyroMovement;
+
+ // Vector of class specific movements (for quick addressing).
+ CUtlVector<CTFGameMovement*> m_Movements;
+};
+
+extern IGameMovement *g_pGameMovement;
+
+#endif // TF_GAMEMOVEMENT_CHOOSER_H \ No newline at end of file