mirror of
https://github.com/dhewm/dhewm3-sdk.git
synced 2025-04-07 01:42:35 +00:00
50 lines
1.3 KiB
C++
50 lines
1.3 KiB
C++
// sikk---> Object Manipulation
|
|
/*
|
|
===============================================================================
|
|
|
|
Grab Object - Class to extend idWeapon to include functionality for
|
|
manipulating physics objects.
|
|
|
|
===============================================================================
|
|
*/
|
|
|
|
#ifndef _Grab_h_defined
|
|
#define _Grab_h_defined
|
|
|
|
#include "physics/Force_Grab.h"
|
|
|
|
class idGrabEntity : public idEntity {
|
|
public:
|
|
CLASS_PROTOTYPE( idGrabEntity );
|
|
|
|
idGrabEntity( void );
|
|
~idGrabEntity( void );
|
|
|
|
void Clear();
|
|
|
|
void Update( idPlayer *player );
|
|
void StartDrag( idPlayer *player, idEntity *grabEnt, int id );
|
|
void StopDrag( idPlayer *player, bool drop );
|
|
|
|
idEntity * GetGrabEntity( void ) const { return dragEnt.GetEntity(); }
|
|
int GetThrownTime( void ) const { return lastThrownTime; }
|
|
void SetThrownTime( int time ) { lastThrownTime = time; }
|
|
|
|
private:
|
|
idEntityPtr<idEntity> dragEnt; // entity being dragged
|
|
idForce_Grab drag;
|
|
idPlayer* owner;
|
|
|
|
idVec3 saveGravity;
|
|
idVec3 localPlayerPoint; // dragged point in player space
|
|
idAngles prevViewAngles; // Holds previous frame's player view angles
|
|
|
|
int id; // id of body being dragged
|
|
int oldUcmdFlags;
|
|
int dragFailTime;
|
|
int lastThrownTime;
|
|
|
|
};
|
|
// <---sikk
|
|
|
|
#endif // _Grab_h_defined
|