#include "core/BaseObject.h" #include "Question.h" #include "Answer.h" #include "core/XMLPort.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 std::string getQuestion(); //tolua_export // returned string der momentanen Frage std::string getAnswer(std::string answerId); //tolua_export //returned sting der Antwort zur Id. 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_; }; }