OpenMW
|
00001 #ifndef GAME_MWBASE_DIALOGUEMANAGER_H 00002 #define GAME_MWBASE_DIALOGUEMANAGER_H 00003 00004 #include <string> 00005 00006 namespace MWWorld 00007 { 00008 class Ptr; 00009 } 00010 00011 namespace MWBase 00012 { 00014 class DialogueManager 00015 { 00016 DialogueManager (const DialogueManager&); 00018 00019 DialogueManager& operator= (const DialogueManager&); 00021 00022 public: 00023 00024 DialogueManager() {} 00025 00026 virtual void clear() = 0; 00027 00028 virtual ~DialogueManager() {} 00029 00030 virtual bool isInChoice() const = 0; 00031 00032 virtual void startDialogue (const MWWorld::Ptr& actor) = 0; 00033 00034 virtual void addTopic (const std::string& topic) = 0; 00035 00036 virtual void askQuestion (const std::string& question,int choice) = 0; 00037 00038 virtual void goodbye() = 0; 00039 00040 virtual MWWorld::Ptr getActor() const = 0; 00042 00043 virtual void say(const MWWorld::Ptr &actor, const std::string &topic) const = 0; 00044 00045 //calbacks for the GUI 00046 virtual void keywordSelected (const std::string& keyword) = 0; 00047 virtual void goodbyeSelected() = 0; 00048 virtual void questionAnswered (int answer) = 0; 00049 00050 virtual bool checkServiceRefused () = 0; 00051 00052 virtual void persuade (int type) = 0; 00053 virtual int getTemporaryDispositionChange () const = 0; 00054 virtual void applyTemporaryDispositionChange (int delta) = 0; 00055 }; 00056 } 00057 00058 #endif