OpenMW
|
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