#ifndef _Dialog_H__ #define _Dialog_H__ #include "core/BaseObject.h" #include "Question.h" #include "Answer.h" #include "core/XMLPort.h" #include "core/CoreIncludes.h" #include "overlays/OrxonoxOverlay.h" #include namespace orxonox { class Dialog : public BaseObject { public: Dialog(Context* context); // virtual ~Dialog(); virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); virtual void XMLEventPort(Element& xmlelement, XMLPort::Mode mode); void setName(std::string name); std::string getName(); void setCurrentQuestionId(std::string questionId); std::string getCurrentQuestionId(); void addQuestion(Question* question); //fuegt Question der Map hinzu void addAnswer(Answer* answer); //fuegt Answer der Map hinzu Question* getQuestion(unsigned int index) const; //tolua_export // returned string der momentanen Frage Answer* getAnswer(unsigned int index) const; //tolua_export // returned string der momentanen Frage std::vector getAnswers(); //tolua_export // returned vector mit allen momentanen AntwortenIds bool execute(bool bTriggered, BaseObject* trigger); void update(std::string givenAnswer); //tolua_export bool ending(); //tolua_export //retruned true wenn die Id der Antwort end ist oder keine Antworten auf die frage eingetragen sind private: std::string name_; std::string currentQuestionId_; std::map questions_; std::map answers_; }; } #endif