quadrilateralcowboy/d3xp/bluebox.h
2020-06-12 14:06:25 -07:00

64 lines
1.1 KiB
C++

class idBluebox : public idAnimatedEntity
{
public:
CLASS_PROTOTYPE( idBluebox );
void Spawn( void );
void Save( idSaveGame *savefile ) const;
void Restore( idRestoreGame *savefile );
virtual void Think( void );
void OnFrob( void );
void OnDown( void );
void OnUp( void );
void OnNone( void );
void OnExecute( void );
void OnDrop( void );
void Reset( bool closeDoor );
private:
void WeevilOpen( void );
void GetOpenState( void );
enum { READY, PLUGTRANSITION, BLUEBOXTRANSITION, BLUEBOXHELD };
int state;
int blueboxTransitionTime;
idVec3 blueboxStartPos;
void OnUnplugDone( void );
void OnExecuteDone( void );
void PlugConnected( bool playEffects );
void DoPlug( void );
void HandleSelection( int delta );
void AttachBlueboxToCable();
jointHandle_t joint_W;
jointHandle_t joint_S;
jointHandle_t joint_execute;
int selectedIndex;
int maxIndex;
bool isOpen;
bool isPlugged;
bool canSelect;
idMover * plug;
idEntity * cable;
idEntity * bluebox;
};