picker.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. class idPicker : public idEntity {
  2. public:
  3. CLASS_PROTOTYPE( idPicker );
  4. idPicker( void );
  5. ~idPicker( void );
  6. void Save( idSaveGame *savefile ) const;
  7. void Restore( idRestoreGame *savefile );
  8. //void Initialize( void );
  9. void SetDragDistance( float dist );
  10. int Update( idPlayer *player, bool hide, idEntity *newEnt, int newEntID, bool forcePick );
  11. int UpdateHeld( idPlayer *player );
  12. idEntityPtr<idEntity> dragEnt; // entity being dragged
  13. void SetHoldDistance( int delta );
  14. bool attackHeld;
  15. void StopDrag( bool dropOnly, bool isRightClick );
  16. private:
  17. int attacktimerStart;
  18. int pickuptimerStart;
  19. int holdstate;
  20. int holdDistance; //how close/far to hold the object.
  21. idForce_Grab drag;
  22. idVec3 saveGravity;
  23. idEntityPtr<idPlayer> owner;
  24. int oldUcmdFlags;
  25. int id; // id of body being dragged
  26. idVec3 localPlayerPoint; // dragged point in player space
  27. int dragFailTime;
  28. int startDragTime;
  29. bool holdingAF;
  30. bool pickerHeld;
  31. float dragTraceDist;
  32. int rotationIndex;
  33. void StartDrag( idEntity *grabEnt, int id );
  34. int rotationAngleStart;
  35. int rotationAngleEnd;
  36. int rotationTimeStart;
  37. int rotationTimeEnd;
  38. };