diff options
Diffstat (limited to 'game/server/portal/PhysicsCloneArea.h')
| -rw-r--r-- | game/server/portal/PhysicsCloneArea.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/game/server/portal/PhysicsCloneArea.h b/game/server/portal/PhysicsCloneArea.h new file mode 100644 index 0000000..e09b5c2 --- /dev/null +++ b/game/server/portal/PhysicsCloneArea.h @@ -0,0 +1,51 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef PHYSICSCLONEAREA_H +#define PHYSICSCLONEAREA_H + +#ifdef _WIN32 +#pragma once +#endif + +#include "baseentity.h" + +class CProp_Portal; +class CPortalSimulator; + +class CPhysicsCloneArea : public CBaseEntity +{ +public: + DECLARE_CLASS( CPhysicsCloneArea, CBaseEntity ); + + static const Vector vLocalMins; + static const Vector vLocalMaxs; + + virtual void StartTouch( CBaseEntity *pOther ); + virtual void Touch( CBaseEntity *pOther ); + virtual void EndTouch( CBaseEntity *pOther ); + + virtual void Spawn( void ); + virtual void Activate( void ); + + virtual int ObjectCaps( void ); + void UpdatePosition( void ); + + void CloneTouchingEntities( void ); + void CloneNearbyEntities( void ); + static CPhysicsCloneArea *CreatePhysicsCloneArea( CProp_Portal *pFollowPortal ); +private: + + CProp_Portal *m_pAttachedPortal; + CPortalSimulator *m_pAttachedSimulator; + bool m_bActive; + + +}; + +#endif //#ifndef PHYSICSCLONEAREA_H + |