OpenMW
apps/openmw/mwworld/action.hpp
Go to the documentation of this file.
00001 #ifndef GAME_MWWORLD_ACTION_H
00002 #define GAME_MWWORLD_ACTION_H
00003 
00004 #include <string>
00005 
00006 #include "ptr.hpp"
00007 
00008 namespace MWWorld
00009 {
00011     class Action
00012     {
00013             std::string mSoundId;
00014             bool mKeepSound;
00015             float mSoundOffset;
00016             Ptr mTarget;
00017 
00018             // not implemented
00019             Action (const Action& action);
00020             Action& operator= (const Action& action);
00021 
00022             virtual void executeImp (const Ptr& actor) = 0;
00023 
00024         protected:
00025 
00026             const Ptr& getTarget() const;
00027 
00028         public:
00029 
00030             Action (bool keepSound = false, const Ptr& target = Ptr());
00032 
00033             virtual ~Action();
00034 
00035             void execute (const Ptr& actor);
00036 
00037             void setSound (const std::string& id);
00038             void setSoundOffset(float offset);
00039     };
00040 }
00041 
00042 #endif