#ifndef PHYSICS_PROP_H #define PHYSICS_PROP_H #include "basemodelentity.h" class CPhysicsProp: public CBaseModelEntity { friend CBaseEntity; friend CBaseModelEntity; public: DECLARE_CLASS(CPhysicsProp, CBaseModelEntity) DECLARE_DATADESC() virtual void Spawn() override; virtual void Precache() override; virtual void SetAbsAngles( Quat vQuat ) override; virtual void SetAbsQAngles( float fPitch, float fYaw, float fRoll ) override; virtual void SetAbsOrigin( Vector origin ) override; virtual void OnModelChanged( const char *szName ) override; virtual void EnableMovement(); virtual void DisableMovement(); virtual void SetPhysics( EPhysicsBodyType eType ); void Think( float fDelta ); private: EPhysicsBodyType m_ePhysicsType; EPhysicsBodyType m_eCurrentPhysicsType; HFunnyModel m_hModel = 0; FunnyModel_t *m_pModel = NULL; FunnyPhysics_t *m_pPhysics = NULL; HCollider m_hCollider = 0; IPhysicsBody *m_pBody = NULL; }; #endif