Changeset 11644 for code/branches/Dialog_HS17/src/modules/dialog
- Timestamp:
- Dec 8, 2017, 2:55:15 PM (7 years ago)
- Location:
- code/branches/Dialog_HS17/src/modules/dialog
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/Dialog_HS17/src/modules/dialog/Answer.cc
r11611 r11644 23 23 } 24 24 25 void Answer::setAnswerId( std::stringanswerId){25 void Answer::setAnswerId(const std::string& answerId){ 26 26 this->answerId_ = answerId; 27 27 } 28 28 29 std::string Answer::getAnswerId(){ 29 const std::string& Answer::getAnswerId() const 30 { 30 31 return this->answerId_; 31 32 } 32 33 33 void Answer::setNextQuestion( std::stringnextId)34 void Answer::setNextQuestion(const std::string& nextId) 34 35 { 35 36 this->nextQuestionId_ = nextId; 36 37 } 37 38 38 std::string Answer::getNextQuestion()39 const std::string& Answer::getNextQuestion() const 39 40 { 40 41 return this->nextQuestionId_; 41 42 } 42 43 43 void Answer::setAnswer( std::stringanswer)44 void Answer::setAnswer(const std::string& answer) 44 45 { 45 46 this->answer_ = answer; 46 47 } 47 48 48 std::string Answer::getAnswer()49 const std::string& Answer::getAnswer() const 49 50 { 50 51 return this->answer_; -
code/branches/Dialog_HS17/src/modules/dialog/Answer.h
r11611 r11644 18 18 virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); 19 19 20 void setAnswerId( std::string answerId);21 std::string getAnswerId();20 void setAnswerId(const std::string& answerId); //xmlPort-Funktion, setzt AntwortId 21 const std::string& getAnswerId() const; //xmlPort-Funktion, gibt AntwortId 22 22 23 void setNextQuestion( std::string nextId); // "end" um den dialog zu beenden24 std::string getNextQuestion();23 void setNextQuestion(const std::string& nextId); //xmlPort-Funktion, um Dialog zu beenden tag benutzen der von keiner Frage benutzt wird 24 const std::string& getNextQuestion() const; //xmlPort-Funktion, gibt Id der Folgefrage 25 25 26 void setAnswer( std::string awns);27 std::string getAnswer();26 void setAnswer(const std::string& awns); //xmlPort-Funktion, setzt Antworttext 27 const std::string& getAnswer() const; //xmlPort-Funktion, gibt Antworttext 28 28 29 29 private: -
code/branches/Dialog_HS17/src/modules/dialog/AnswerId.cc
r11611 r11644 19 19 } 20 20 21 void AnswerId::setId( std::stringid)21 void AnswerId::setId(const std::string& id) 22 22 { 23 23 this->id_ = id; 24 24 } 25 25 26 std::string AnswerId::getId()26 const std::string& AnswerId::getId() const 27 27 { 28 28 return this->id_; -
code/branches/Dialog_HS17/src/modules/dialog/AnswerId.h
r11611 r11644 16 16 virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode); 17 17 18 void setId( std::string Id);19 std::string getId();18 void setId(const std::string& Id); //allows to set Id, only use in xmlPort for initializing AnswerIds in lvl files 19 const std::string& getId() const; //allows to get Id, used in xmlPort 20 20 21 21 private: -
code/branches/Dialog_HS17/src/modules/dialog/Dialog.cc
r11642 r11644 35 35 } 36 36 37 void Dialog::setName( std::stringname)37 void Dialog::setName(const std::string& name) 38 38 { 39 39 this->name_ = name; 40 40 } 41 41 42 std::string Dialog::getName()42 const std::string& Dialog::getName() const 43 43 { 44 44 return this->name_; 45 45 } 46 46 47 void Dialog::setCurrentQuestionId( std::stringquestionId)47 void Dialog::setCurrentQuestionId(const std::string& questionId) 48 48 { 49 49 this->currentQuestionId_ = questionId; 50 50 } 51 51 52 std::string Dialog::getCurrentQuestionId()52 const std::string& Dialog::getCurrentQuestionId() const 53 53 { 54 54 return this->currentQuestionId_; … … 61 61 } 62 62 63 const Question* Dialog::getQuestion() const // returned nichts 64 { 65 return nullptr; 66 } 67 63 68 void Dialog::addAnswer(Answer* answer) //fuegt Answer der Map hinzu 64 69 { … … 66 71 } 67 72 68 Question* Dialog::getQuestion(unsigned int index) const // returned nichts73 const Answer* Dialog::getAnswer(unsigned int index) const //returned sting der Antwort zur Id. 69 74 { 70 75 return nullptr; 71 // Question question = (questions_.find(this->currentQuestionId_))->second;72 // return question.getQuestion();73 76 } 74 77 75 Answer* Dialog::getAnswer(unsigned int index) const //returned sting der Antwort zur Id.76 {77 return nullptr;78 // return (this->answers_.find(answerId))->second.getAnswer();79 }80 78 81 std::vector<std::string>* Dialog::getAnswerIds() // returned vector mit allen momentanen AntwortenIds79 const std::vector<std::string>* Dialog::getAnswerIds() // returned vector mit allen momentanen AntwortenIds 82 80 { 83 81 84 82 Question* question = (this->questions_.find(this->currentQuestionId_))->second; 85 std::vector<std::string>* answers = question->getAnswerIds();83 const std::vector<std::string>* answers = question->getAnswerIds(); 86 84 return answers; 87 85 … … 103 101 } 104 102 105 void Dialog::update( std::string givenAnswer)103 void Dialog::update(const std::string& givenAnswerId) 106 104 { 107 Answer* answer = (answers_.find(givenAnswer ))->second;105 Answer* answer = (answers_.find(givenAnswerId))->second; 108 106 this->currentQuestionId_ = answer->getNextQuestion(); 109 107 } 110 108 111 bool Dialog::ending( ) //retruned true wenn die Id der Antwort end ist oder keine Antworten auf die frage eingetragen sind109 bool Dialog::ending(const std::string& givenAnswerId) 112 110 { 113 bool end = false; 114 if ((this->questions_.find(this->currentQuestionId_)->second)->getAnswerIds()->empty()){ 115 end = true; 116 } 117 return end; 111 return !this->questions_.count(this->answers_.find(givenAnswerId)->second->getNextQuestion()); 118 112 } 119 113 120 std::stringDialog::getQuestionString()114 const std::string& Dialog::getQuestionString() 121 115 { 122 116 return this->questions_.find(this->currentQuestionId_)->second->getQuestion(); 123 117 } 124 118 125 std::stringDialog::getAnswerString(std::string answerId)119 const std::string& Dialog::getAnswerString(std::string answerId) 126 120 { 127 121 return this->answers_.find(answerId)->second->getAnswer(); -
code/branches/Dialog_HS17/src/modules/dialog/Dialog.h
r11642 r11644 24 24 virtual void XMLEventPort(Element& xmlelement, XMLPort::Mode mode); 25 25 26 void setName( std::string name);27 std::string getName();26 void setName(const std::string& name); //xmlPort-Funktion, setzt Namen 27 const std::string& getName() const; //xmlPort-Funktion, returnt Namen 28 28 29 void setCurrentQuestionId( std::string questionId);30 std::string getCurrentQuestionId();29 void setCurrentQuestionId(const std::string& questionId); //xmlPort-Funktion, setzt string Id der momentanen Frage 30 const std::string& getCurrentQuestionId() const; //xmlPort-Funktion, gibt Id der momentanen Frage 31 31 32 void addQuestion(Question* question); // fuegt Question der Map hinzu33 void addAnswer(Answer* answer); //fuegt Answer der Map hinzu32 void addQuestion(Question* question); //xmlPort-Funktion, fuegt Question der Map hinzu 33 const Question* getQuestion() const; //xmlPort-Funktion, returnt nullptr 34 34 35 Question* getQuestion(unsigned int index) const; // // benoetigt fuer xmlPort 36 Answer* getAnswer(unsigned int index) const; // benoetigt fuer xmlPort 37 std::vector<std::string>* getAnswerIds(); // returned vector mit allen momentanen AntwortenIds 35 void addAnswer(Answer* answer); //xmlPort-Funktion, fuegt Answer der Map hinzu 36 const Answer* getAnswer(unsigned int index) const; //xmlPort-Funktion, returnt nullptr 38 37 39 bool execute(bool bTriggered, BaseObject* trigger);40 38 41 void update(std::string givenAnswer);39 const std::vector<std::string>* getAnswerIds(); // returned Pointer auf Vector mit allen momentanen AntwortenIds 42 40 43 bool ending(); //retruned true wenn die Id der Antwort end ist oder keine Antworten auf die frage eingetragen sind41 bool execute(bool bTriggered, BaseObject* trigger); // funktion die aufgerufen wird wenn der im xml verbundene Trigger aktiviert wird 44 42 45 std::string getQuestionString(); //gibt string der momentanen Frage 46 std::string getAnswerString(std::string answerId); //gibt string der zur Id passenden Frage 43 void update(const std::string& givenAnswerId); //setzt die naechste Frage entsprechend der gegebenen antwortId 44 45 bool ending(const std::string& givenAnswerId); //ist true falls fuer die gegebene AntwortId keine Frage zur FragenId der Antwort existiert 46 47 const std::string& getQuestionString(); //gibt string der momentanen Frage 48 const std::string& getAnswerString(std::string answerId); //gibt string der zur Id passenden Frage 47 49 48 50 private: -
code/branches/Dialog_HS17/src/modules/dialog/DialogManager.cc
r11642 r11644 29 29 int DialogManager::getSize() 30 30 { 31 return 2; //returnthis->answerIds_->size();31 return this->answerIds_->size(); 32 32 } 33 33 … … 42 42 } 43 43 44 bool DialogManager::endtest() 45 { 46 return this->currentTalk_->ending(); 44 bool DialogManager::endtest(int index) 45 { 46 if(this->answerIds_->empty()) 47 { 48 return true; 49 } 50 else 51 { 52 return this->currentTalk_->ending(this->answerIds_->at(index)); 53 } 54 47 55 } 48 56 -
code/branches/Dialog_HS17/src/modules/dialog/DialogManager.h
r11642 r11644 22 22 DialogManager(); 23 23 24 24 //gibt lua den pointer auf den Manager 25 25 static DialogManager& getInstance() { return Singleton<DialogManager>::getInstance(); } //tolua_export 26 26 27 //setzt den momentanen Dialog auf den uebergebenen, wird vom Dialog verwendet um bei Trigger event sich selbst zu setzen 27 28 void setDialog(Dialog* dialog); 28 29 29 // from here on luafunctionality is declared30 //von hier an sind lua funktionalitaeten definiert 30 31 32 //gibt den string der momentanen Frage des Dialogs 31 33 std::string getQuestion(); //tolua_export 34 35 //gibt die laenge des Antwort-arrays der momentanen zuruek, 0 falls es leer ist 32 36 int getSize(); //tolua_export 37 38 //gibt den sting zu einer Frage im antwortarray der momentanen Frage 33 39 std::string getAnswer(int index); //tolua_export 40 41 //gibt den Namen der Person mit der man spricht 34 42 std::string getPerson(); //tolua_export 35 bool endtest(); //tolua_export 43 44 //testet ob der dialog weiter geht, true wenn es keine weitere Frage nach der Antwort kommt oder keine Antwort zur Frage existiert 45 bool endtest(int index); //tolua_export 46 47 //updated den Dialog so dass er auf die Antwort die im Antwortvector am index steht reagiert 36 48 void update(int index); //tolua_export 37 49 … … 40 52 41 53 Dialog* currentTalk_; 42 std::vector<std::string>* answerIds_;54 const std::vector<std::string>* answerIds_; 43 55 44 56 };//tolua_export -
code/branches/Dialog_HS17/src/modules/dialog/Question.cc
r11642 r11644 22 22 } 23 23 24 void Question::setQuestionId( std::stringId)24 void Question::setQuestionId(const std::string& Id) 25 25 { 26 26 this->questionId_ = Id; 27 27 } 28 28 29 std::string Question::getQuestionId()29 const std::string& Question::getQuestionId() const 30 30 { 31 31 return this->questionId_; 32 32 } 33 33 34 void Question::setQuestion( std::stringquestion)34 void Question::setQuestion(const std::string& question) 35 35 { 36 36 this->question_ = question; 37 37 } 38 38 39 std::string Question::getQuestion()39 const std::string& Question::getQuestion() const 40 40 { 41 41 return this->question_; … … 47 47 } 48 48 49 AnswerId* Question::getAnswerId(unsigned int index) const49 const AnswerId* Question::getAnswerId() const 50 50 { 51 51 return nullptr; 52 52 } 53 53 54 std::vector<std::string>* Question::getAnswerIds()54 const std::vector<std::string>* Question::getAnswerIds() 55 55 { 56 56 return &(this->answerIds_); -
code/branches/Dialog_HS17/src/modules/dialog/Question.h
r11642 r11644 20 20 virtual void XMLPort(Element& xmelement, XMLPort::Mode mode); 21 21 22 void setQuestionId( std::string Id);23 std::string getQuestionId();22 void setQuestionId(const std::string& Id); //xmlPort-Funktion, setzt Id 23 const std::string& getQuestionId() const; //xmlPort-Funktion, gibt Id string zuruek 24 24 25 void setQuestion( std::string question);26 std::string getQuestion();25 void setQuestion(const std::string& question); //xmlPort-Funktion, setzt Fragen string 26 const std::string& getQuestion() const; //xmlPort-Funktion, gibt Fragen string 27 27 28 void addAnswerId(AnswerId* answerId); //leer lassen um Dialog zu beenden29 AnswerId* getAnswerId(unsigned int index) const;28 void addAnswerId(AnswerId* answerId); //xmlPort-Funktion, nimmt AnswerIds von entsprechenden Objekten und fuegt sie in List ein. 29 const AnswerId* getAnswerId() const; //xmlPort-Funktion, gibt nichts zuruek 30 30 31 32 //braucht es getAnswerId oder reicht es andere funktion anzugeben, 33 // die sowieso gebraucht wird? 34 35 std::vector<std::string>* getAnswerIds(); //returnt vektor mit allen Ids 31 const std::vector<std::string>* getAnswerIds(); //returnt Pointer auf Vektor mit allen Ids 36 32 37 33
Note: See TracChangeset
for help on using the changeset viewer.