You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.7 KiB
52 lines
1.7 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
//=============================================================================// |
|
|
|
#ifndef PHYSICS_SAVERESTORE_H |
|
#define PHYSICS_SAVERESTORE_H |
|
|
|
#if defined( _WIN32 ) |
|
#pragma once |
|
#endif |
|
|
|
#include "vphysics_interface.h" |
|
|
|
class ISaveRestoreBlockHandler; |
|
class IPhysicsObject; |
|
class CPhysCollide; |
|
|
|
//----------------------------------------------------------------------------- |
|
|
|
ISaveRestoreBlockHandler *GetPhysSaveRestoreBlockHandler(); |
|
ISaveRestoreOps *GetPhysObjSaveRestoreOps( PhysInterfaceId_t ); |
|
|
|
//------------------------------------- |
|
|
|
#define DEFINE_PHYSPTR(name) \ |
|
{ FIELD_CUSTOM, #name, { offsetof(classNameTypedef,name), 0 }, 1, FTYPEDESC_SAVE, NULL, GetPhysObjSaveRestoreOps( GetPhysIID( &(((classNameTypedef *)0)->name) ) ), NULL } |
|
|
|
#define DEFINE_PHYSPTR_ARRAY(name) \ |
|
{ FIELD_CUSTOM, #name, { offsetof(classNameTypedef,name), 0 }, ARRAYSIZE(((classNameTypedef *)0)->name), FTYPEDESC_SAVE, NULL, GetPhysObjSaveRestoreOps( GetPhysIID( &(((classNameTypedef *)0)->name[0]) ) ), NULL } |
|
|
|
//----------------------------------------------------------------------------- |
|
|
|
abstract_class IPhysSaveRestoreManager |
|
{ |
|
public: |
|
virtual void NoteBBox( const Vector &mins, const Vector &maxs, CPhysCollide * ) = 0; |
|
|
|
virtual void AssociateModel( IPhysicsObject *, int modelIndex ) = 0; |
|
virtual void AssociateModel( IPhysicsObject *, const CPhysCollide *pModel ) = 0; |
|
virtual void ForgetModel( IPhysicsObject * ) = 0; |
|
|
|
virtual void ForgetAllModels() = 0; |
|
}; |
|
|
|
extern IPhysSaveRestoreManager *g_pPhysSaveRestoreManager; |
|
|
|
//============================================================================= |
|
|
|
#endif // PHYSICS_SAVERESTORE_H
|
|
|