area51/Support/graveyard/action.hpp
Andrew Sampson 431f72b93a source
2021-08-27 19:22:41 -07:00

65 lines
No EOL
1.5 KiB
C++

///////////////////////////////////////////////////////////////////////////////////////////////////
//
// action.hpp
//
// - represents a single action in the game. This is just the base class that must be
// implemented for any action
//
//
///////////////////////////////////////////////////////////////////////////////////////////////////
#ifndef ACTION_HPP
#define ACTION_HPP
class action
{
public:
enum action_type
{
ACTION_SCRIPT =0,
ACTION_SOUND,
ACTION_ANIM,
ACTION_DESTINATION,
ACTION_AI_STATE,
ACTION_LOOK_AT,
ACTION_LAST,
ACTION_FORCE32BIT = 0xFFFFFFFF
};
action(void);
virtual ~action();
///////////////////////////////////////////////////////////////////////////////////////////////////
// Editor
///////////////////////////////////////////////////////////////////////////////////////////////////
virtual void OnEnumProp( prop_enum& List );
virtual xbool OnProperty( prop_query& I );
virtual action_type GetType ( void ) = 0;
virtual void Play ( void );
virtual void OnAdvanceLogic( f32 deltaTime );
virtual void Pause ( xbool pause = true );
virtual void Unpause ( void );
virtual xbool IsPaused ( void );
protected:
xbool m_Paused;
xbool m_WaitForCompletion;
};
#endif//ACTION_HPP