[Orxonox-commit 6986] r11607 - code/branches/Dialog_HS17/src/modules/dialog

maxima at orxonox.net maxima at orxonox.net
Mon Nov 27 16:57:48 CET 2017


Author: maxima
Date: 2017-11-27 16:57:47 +0100 (Mon, 27 Nov 2017)
New Revision: 11607

Modified:
   code/branches/Dialog_HS17/src/modules/dialog/Answer.cc
   code/branches/Dialog_HS17/src/modules/dialog/Answer.h
   code/branches/Dialog_HS17/src/modules/dialog/AnswerId.cc
   code/branches/Dialog_HS17/src/modules/dialog/AnswerId.h
   code/branches/Dialog_HS17/src/modules/dialog/CMakeLists.txt
   code/branches/Dialog_HS17/src/modules/dialog/Dialog.cc
   code/branches/Dialog_HS17/src/modules/dialog/Dialog.h
   code/branches/Dialog_HS17/src/modules/dialog/DialogManager.cc
   code/branches/Dialog_HS17/src/modules/dialog/DialogManager.h
   code/branches/Dialog_HS17/src/modules/dialog/Question.cc
   code/branches/Dialog_HS17/src/modules/dialog/Question.h
Log:
No more compiler errors. XMLPortObjects not yet implemented.

Modified: code/branches/Dialog_HS17/src/modules/dialog/Answer.cc
===================================================================
--- code/branches/Dialog_HS17/src/modules/dialog/Answer.cc	2017-11-27 15:38:50 UTC (rev 11606)
+++ code/branches/Dialog_HS17/src/modules/dialog/Answer.cc	2017-11-27 15:57:47 UTC (rev 11607)
@@ -25,7 +25,7 @@
 		this->answerId_ = answerId;
 	}
 
-	std::string getAnswerId(){
+	std::string Answer::getAnswerId(){
 		return this->answerId_;
 	}
 

Modified: code/branches/Dialog_HS17/src/modules/dialog/Answer.h
===================================================================
--- code/branches/Dialog_HS17/src/modules/dialog/Answer.h	2017-11-27 15:38:50 UTC (rev 11606)
+++ code/branches/Dialog_HS17/src/modules/dialog/Answer.h	2017-11-27 15:57:47 UTC (rev 11607)
@@ -1,5 +1,9 @@
+#ifndef _Answer_H__
+#define _Answer_H__
+
 #include "core/BaseObject.h"
 #include "core/XMLPort.h"
+#include "core/CoreIncludes.h"
 #include <string>
 
 namespace orxonox
@@ -9,7 +13,7 @@
 	{
 		public:
 			Answer(Context* context);
-			virtual ~Answer();
+		// 	virtual ~Answer();
 			virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
 
 			void setAnswerId(std::string answerId); 
@@ -27,3 +31,5 @@
 			std::string nextQuestionId_;
 	};
 }
+
+#endif
\ No newline at end of file

Modified: code/branches/Dialog_HS17/src/modules/dialog/AnswerId.cc
===================================================================
--- code/branches/Dialog_HS17/src/modules/dialog/AnswerId.cc	2017-11-27 15:38:50 UTC (rev 11606)
+++ code/branches/Dialog_HS17/src/modules/dialog/AnswerId.cc	2017-11-27 15:57:47 UTC (rev 11607)
@@ -19,7 +19,7 @@
 	void AnswerId::setId(std::string Id){
 		this->Id_ = Id;
 	}
-	const std::string& AnswerId::getId(){
+	std::string AnswerId::getId(){
 		return this->Id_;
 	}
 }
\ No newline at end of file

Modified: code/branches/Dialog_HS17/src/modules/dialog/AnswerId.h
===================================================================
--- code/branches/Dialog_HS17/src/modules/dialog/AnswerId.h	2017-11-27 15:38:50 UTC (rev 11606)
+++ code/branches/Dialog_HS17/src/modules/dialog/AnswerId.h	2017-11-27 15:57:47 UTC (rev 11607)
@@ -1,16 +1,18 @@
+#ifndef _AnswerID_H__
+#define _AnswerID_H__
+
 #include "core/XMLPort.h"
 #include "core/BaseObject.h"
+#include "core/CoreIncludes.h"
 
 #include <string>
 
-#pragma once
-
 namespace orxonox{
 	class AnswerId : public BaseObject
 	{
 		public:
 			AnswerId(Context* context);
-			virtual ~AnswerId();
+		// 	virtual ~AnswerId();
 			virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
 
 			void setId(std::string Id);
@@ -19,4 +21,6 @@
 		private: 
 			std::string Id_;
 	};
-}
\ No newline at end of file
+}
+
+#endif
\ No newline at end of file

Modified: code/branches/Dialog_HS17/src/modules/dialog/CMakeLists.txt
===================================================================
--- code/branches/Dialog_HS17/src/modules/dialog/CMakeLists.txt	2017-11-27 15:38:50 UTC (rev 11606)
+++ code/branches/Dialog_HS17/src/modules/dialog/CMakeLists.txt	2017-11-27 15:57:47 UTC (rev 11607)
@@ -10,8 +10,6 @@
   MODULE
   FIND_HEADER_FILES
    TOLUA_FILES
-    DialogManager.h
-    Dialog.h
   LINK_LIBRARIES
     orxonox
   SOURCE_FILES ${DIALOG_SRC_FILES}

Modified: code/branches/Dialog_HS17/src/modules/dialog/Dialog.cc
===================================================================
--- code/branches/Dialog_HS17/src/modules/dialog/Dialog.cc	2017-11-27 15:38:50 UTC (rev 11606)
+++ code/branches/Dialog_HS17/src/modules/dialog/Dialog.cc	2017-11-27 15:57:47 UTC (rev 11607)
@@ -2,6 +2,8 @@
 #include "core/CoreIncludes.h"
 #include "core/XMLPort.h"
 #include "core/EventIncludes.h"
+#include "Dialog.h"
+#include "Question.h"
 
 namespace orxonox
 {
@@ -20,7 +22,7 @@
 
 		XMLPortParam(Dialog, "name", setName, getName, xmlelement, mode);
 		XMLPortParam(Dialog, "currentQuestionId", setCurrentQuestionId, getCurrentQuestionId, xmlelement, mode);
-		XMLPortObject(Dialog, Question, "Questions", addQuestion, getQuestion, xmlelement,mode);
+		XMLPortObject(Dialog, Question, "Questions", addQuestion, getQuestion, xmlelement, mode);
 		XMLPortObject(Dialog, Answer, "Answers", addAnswer, getAnswer, xmlelement, mode);
 	}
 
@@ -52,25 +54,27 @@
 	}
 
 
-	void Dialog::addQuestion(Question question) //fuegt Question der Map hinzu
+	void Dialog::addQuestion(Question* question) //fuegt Question der Map hinzu
 	{
-		//questions_.emplace(question.getQuestionId, question);
+		//questions_.emplace(question->getQuestionId(), question->getQuestion());
 	}
 
-	void Dialog::addAnswer(Answer answer) //fuegt Answer der Map hinzu
+	void Dialog::addAnswer(Answer* answer) //fuegt Answer der Map hinzu
 	{
-		//answers_.emplace(std::make_pair(answer.getAnswerId, answer));
+		//answers_.emplace(std::make_pair(answer->getAnswerId(), answer->getAnswer()));
 	}
 
-	std::string Dialog::getQuestion() // returned nichts
+	Question* Dialog::getQuestion(unsigned int index) const // returned nichts
 	{
-		Question question = (questions_.find(this->currentQuestionId_))->second;
-		return question.getQuestion();
+		return nullptr;
+		// Question question = (questions_.find(this->currentQuestionId_))->second;
+		// return question.getQuestion();
 	}
 
-	std::string Dialog::getAnswer(std::string answerId) //tolua_export		//returned sting der Antwort zur Id.
+	Answer* Dialog::getAnswer(unsigned int index) const//tolua_export		//returned sting der Antwort zur Id.
 	{
-		return (this->answers_.find(answerId))->second.getAnswer();
+		return nullptr;
+		// return (this->answers_.find(answerId))->second.getAnswer();
 	}
 
 	std::vector<std::string> Dialog::getAnswers() // returned vector mit allen momentanen AntwortenIds

Modified: code/branches/Dialog_HS17/src/modules/dialog/Dialog.h
===================================================================
--- code/branches/Dialog_HS17/src/modules/dialog/Dialog.h	2017-11-27 15:38:50 UTC (rev 11606)
+++ code/branches/Dialog_HS17/src/modules/dialog/Dialog.h	2017-11-27 15:57:47 UTC (rev 11607)
@@ -1,7 +1,11 @@
+#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 <string>
@@ -12,7 +16,7 @@
 	{
 		public:
 			Dialog(Context* context);
-			virtual ~Dialog();
+			// virtual ~Dialog();
 			virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
 			virtual void XMLEventPort(Element& xmlelement, XMLPort::Mode mode);
 
@@ -22,14 +26,14 @@
 			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
+			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.
+			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<std::string> getAnswers(); //tolua_export	// returned vector mit allen momentanen AntwortenIds
 
-			bool execute(bool bTriggered, BaseObject* trigger);
+	 		bool execute(bool bTriggered, BaseObject* trigger);
 
 			void update(std::string givenAnswer);	//tolua_export
 
@@ -42,4 +46,6 @@
 			std::map<std::string, Question> questions_;
 			std::map<std::string, Answer> answers_;
 	};
-}
\ No newline at end of file
+}
+
+#endif
\ No newline at end of file

Modified: code/branches/Dialog_HS17/src/modules/dialog/DialogManager.cc
===================================================================
--- code/branches/Dialog_HS17/src/modules/dialog/DialogManager.cc	2017-11-27 15:38:50 UTC (rev 11606)
+++ code/branches/Dialog_HS17/src/modules/dialog/DialogManager.cc	2017-11-27 15:57:47 UTC (rev 11607)
@@ -1,3 +1,42 @@
+#include "DialogManager.h"
+#include "core/CoreIncludes.h"
+#include "core/singleton/ScopedSingletonIncludes.h"
+
+namespace orxonox
+{
+    ManageScopedSingleton(DialogManager, ScopeID::ROOT, false);
+
+    RegisterAbstractClass(DialogManager).inheritsFrom<Listable>();
+
+    DialogManager::DialogManager()
+    {
+        RegisterObject(DialogManager);
+
+        this->currentTalk_ = NULL;
+    }
+
+    void DialogManager::setDialog(Dialog* dialog)
+	{
+		this->currentTalk_ = dialog;	
+	}
+
+	const Dialog* DialogManager::getCurrentDialog()
+	{
+		return this->currentTalk_;
+	}
+	
+	bool DialogManager::empty()
+	{
+		if(this->currentTalk_ == NULL)
+		{
+			return true;
+		}
+		else 
+		{
+			return false;
+		}
+	} 
+}
 /*#include "core/CoreIncludes.h"
 #include "core/LuaState.h"
 #include "core/GUIManager.h"
@@ -44,22 +83,4 @@
 			return false;
 		}
 	} 
-} */
-
-#include "DialogManager.h"
-#include "core/CoreIncludes.h"
-#include "core/singleton/ScopedSingletonIncludes.h"
-
-namespace orxonox
-{
-    ManageScopedSingleton(DialogManager, ScopeID::ROOT, false);
-
-    RegisterAbstractClass(DialogManager).inheritsFrom<Listable>();
-
-    DialogManager::DialogManager()
-    {
-        RegisterObject(DialogManager);
-
-        this->value_ = 999;
-    }
-}
+} */
\ No newline at end of file

Modified: code/branches/Dialog_HS17/src/modules/dialog/DialogManager.h
===================================================================
--- code/branches/Dialog_HS17/src/modules/dialog/DialogManager.h	2017-11-27 15:38:50 UTC (rev 11606)
+++ code/branches/Dialog_HS17/src/modules/dialog/DialogManager.h	2017-11-27 15:57:47 UTC (rev 11607)
@@ -72,8 +72,8 @@
         	static DialogManager& getInstance() { return Singleton<DialogManager>::getInstance(); }
 
        	 	void setDialog(Dialog* dialog);
-        	const Dialog& getCurrentDialog();
-       		 bool empty();
+        	const Dialog* getCurrentDialog();
+       		bool empty();
 
         private:
         	Dialog* currentTalk_;

Modified: code/branches/Dialog_HS17/src/modules/dialog/Question.cc
===================================================================
--- code/branches/Dialog_HS17/src/modules/dialog/Question.cc	2017-11-27 15:38:50 UTC (rev 11606)
+++ code/branches/Dialog_HS17/src/modules/dialog/Question.cc	2017-11-27 15:57:47 UTC (rev 11607)
@@ -18,7 +18,7 @@
 		XMLPortParam(Question, "question", setQuestion, getQuestion, xmlement, mode);
 		XMLPortParam(Question, "Id", setQuestionId, getQuestionId, xmlement, mode);
 
-		XMLPortObject(Question, AnswerId, "answers", addAnswerId, getAnswerIds, xmlement, mode);
+		XMLPortObject(Question, AnswerId, "answers", addAnswerId, getAnswerId, xmlement, mode);
 	}
 
 	void Question::setQuestionId(std::string Id)
@@ -36,16 +36,20 @@
 		this->question_ = question;
 	}
 
-	cstd::string Question::getQuestion()
+	std::string Question::getQuestion()
 	{
 		return this->question_;
 	}
 
-	void Question::addAnswerId(AnswerId answerId)
+	void Question::addAnswerId(AnswerId* answerId)
 	{
-		this->answerIds_.push_back(answerId.getId);
+		this->answerIds_.push_back(answerId->getId());
 	}
 
+	AnswerId* Question::getAnswerId(unsigned int index) const
+	{
+		return nullptr;
+	}
 
 	std::vector<std::string> Question::getAnswerIds()
 	{

Modified: code/branches/Dialog_HS17/src/modules/dialog/Question.h
===================================================================
--- code/branches/Dialog_HS17/src/modules/dialog/Question.h	2017-11-27 15:38:50 UTC (rev 11606)
+++ code/branches/Dialog_HS17/src/modules/dialog/Question.h	2017-11-27 15:57:47 UTC (rev 11607)
@@ -1,6 +1,10 @@
+#ifndef _Question_H__
+#define _Question_H__
+
 #include "core/BaseObject.h"
 #include "AnswerId.h"
 #include "core/XMLPort.h"
+#include "core/CoreIncludes.h"
 
 #include <string>
 
@@ -10,7 +14,7 @@
 	{
 		public:
 			Question(Context* context);
-			virtual ~Question();
+		// 	virtual ~Question();
 			virtual void XMLPort(Element& xmelement, XMLPort::Mode mode);
 
 			void setQuestionId(std::string Id);
@@ -19,7 +23,8 @@
 			void setQuestion(std::string question);
 			std::string getQuestion();
 
-			void addAnswerId(AnswerId answerId); //leer lassen um Dialog zu beenden
+			void addAnswerId(AnswerId* answerId); //leer lassen um Dialog zu beenden
+			AnswerId* getAnswerId(unsigned int index) const;
 
 			
 			//braucht es getAnswerId oder reicht es andere funktion anzugeben,
@@ -34,4 +39,6 @@
 			std::string question_;
 			std::vector<std::string> answerIds_;
 	};
-}
\ No newline at end of file
+}
+
+#endif
\ No newline at end of file



More information about the Orxonox-commit mailing list