//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: Auto Repair // // $NoKeywords: $ //=============================================================================// #ifndef TF_GAMEMOVEMENT_RECON_H #define TF_GAMEMOVEMENT_RECON_H #ifdef _WIN32 #pragma once #endif #include "tf_gamemovement.h" #include "tfclassdata_shared.h" class CTFMoveData; //============================================================================= // // Recon Game Movement Class // class CTFGameMovementRecon : public CTFGameMovement { DECLARE_CLASS( CTFGameMovementRecon, CTFGameMovement ); public: CTFGameMovementRecon(); // Interface Implementation // virtual void ProcessMovement( CTFMoveData *pTFMoveData ); virtual void ProcessClassMovement( CBaseTFPlayer *pPlayer, CTFMoveData *pTFMoveData ); virtual const Vector &GetPlayerMins( bool bDucked ) const; virtual const Vector &GetPlayerMaxs( bool bDucked ) const; virtual const Vector &GetPlayerViewOffset( bool bDucked ) const; // Purpose: virtual void AirMove(); protected: virtual void PostPlayerMove( void ); void UpdateTimers( void ); // Purpose: Check the jump button to make various jumps bool CheckJumpButton(); // Check various jump types bool CheckWaterJump(); bool CheckWallJump(CTFMoveData *pTFMove); bool CheckBackJump( bool bWasInAir ); bool CheckStrafeJump( bool bWasInAir ); bool CheckForwardJump( bool bWasInAir ); // Resets the impact time void ResetWallImpact(CTFMoveData *pTFMove); // Implement this if you want to know when the player collides during OnPlayerMove virtual void OnTryPlayerMoveCollision( trace_t &tr ); PlayerClassReconData_t *m_pReconData; Vector m_vStandMins; Vector m_vStandMaxs; Vector m_vStandViewOffset; Vector m_vDuckMins; Vector m_vDuckMaxs; Vector m_vDuckViewOffset; bool m_bPerformingAirMove; }; #endif // TF_GAMEMOVEMENT_RECON_H