Index: /code/branches/Dialog_HS17/src/modules/dialog/Answer.cc
===================================================================
--- /code/branches/Dialog_HS17/src/modules/dialog/Answer.cc	(revision 11606)
+++ /code/branches/Dialog_HS17/src/modules/dialog/Answer.cc	(revision 11607)
@@ -26,5 +26,5 @@
 	}
 
-	std::string getAnswerId(){
+	std::string Answer::getAnswerId(){
 		return this->answerId_;
 	}
Index: /code/branches/Dialog_HS17/src/modules/dialog/Answer.h
===================================================================
--- /code/branches/Dialog_HS17/src/modules/dialog/Answer.h	(revision 11606)
+++ /code/branches/Dialog_HS17/src/modules/dialog/Answer.h	(revision 11607)
@@ -1,4 +1,8 @@
+#ifndef _Answer_H__
+#define _Answer_H__
+
 #include "core/BaseObject.h"
 #include "core/XMLPort.h"
+#include "core/CoreIncludes.h"
 #include <string>
 
@@ -10,5 +14,5 @@
 		public:
 			Answer(Context* context);
-			virtual ~Answer();
+		// 	virtual ~Answer();
 			virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
 
@@ -28,2 +32,4 @@
 	};
 }
+
+#endif
Index: /code/branches/Dialog_HS17/src/modules/dialog/AnswerId.cc
===================================================================
--- /code/branches/Dialog_HS17/src/modules/dialog/AnswerId.cc	(revision 11606)
+++ /code/branches/Dialog_HS17/src/modules/dialog/AnswerId.cc	(revision 11607)
@@ -20,5 +20,5 @@
 		this->Id_ = Id;
 	}
-	const std::string& AnswerId::getId(){
+	std::string AnswerId::getId(){
 		return this->Id_;
 	}
Index: /code/branches/Dialog_HS17/src/modules/dialog/AnswerId.h
===================================================================
--- /code/branches/Dialog_HS17/src/modules/dialog/AnswerId.h	(revision 11606)
+++ /code/branches/Dialog_HS17/src/modules/dialog/AnswerId.h	(revision 11607)
@@ -1,8 +1,10 @@
+#ifndef _AnswerID_H__
+#define _AnswerID_H__
+
 #include "core/XMLPort.h"
 #include "core/BaseObject.h"
+#include "core/CoreIncludes.h"
 
 #include <string>
-
-#pragma once
 
 namespace orxonox{
@@ -11,5 +13,5 @@
 		public:
 			AnswerId(Context* context);
-			virtual ~AnswerId();
+		// 	virtual ~AnswerId();
 			virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
 
@@ -21,2 +23,4 @@
 	};
 }
+
+#endif
Index: /code/branches/Dialog_HS17/src/modules/dialog/CMakeLists.txt
===================================================================
--- /code/branches/Dialog_HS17/src/modules/dialog/CMakeLists.txt	(revision 11606)
+++ /code/branches/Dialog_HS17/src/modules/dialog/CMakeLists.txt	(revision 11607)
@@ -11,6 +11,4 @@
   FIND_HEADER_FILES
    TOLUA_FILES
-    DialogManager.h
-    Dialog.h
   LINK_LIBRARIES
     orxonox
Index: /code/branches/Dialog_HS17/src/modules/dialog/Dialog.cc
===================================================================
--- /code/branches/Dialog_HS17/src/modules/dialog/Dialog.cc	(revision 11606)
+++ /code/branches/Dialog_HS17/src/modules/dialog/Dialog.cc	(revision 11607)
@@ -3,4 +3,6 @@
 #include "core/XMLPort.h"
 #include "core/EventIncludes.h"
+#include "Dialog.h"
+#include "Question.h"
 
 namespace orxonox
@@ -21,5 +23,5 @@
 		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);
 	}
@@ -53,23 +55,25 @@
 
 
-	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();
 	}
 
Index: /code/branches/Dialog_HS17/src/modules/dialog/Dialog.h
===================================================================
--- /code/branches/Dialog_HS17/src/modules/dialog/Dialog.h	(revision 11606)
+++ /code/branches/Dialog_HS17/src/modules/dialog/Dialog.h	(revision 11607)
@@ -1,6 +1,10 @@
+#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"
 
@@ -13,5 +17,5 @@
 		public:
 			Dialog(Context* context);
-			virtual ~Dialog();
+			// virtual ~Dialog();
 			virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
 			virtual void XMLEventPort(Element& xmlelement, XMLPort::Mode mode);
@@ -23,12 +27,12 @@
 			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
@@ -44,2 +48,4 @@
 	};
 }
+
+#endif
Index: /code/branches/Dialog_HS17/src/modules/dialog/DialogManager.cc
===================================================================
--- /code/branches/Dialog_HS17/src/modules/dialog/DialogManager.cc	(revision 11606)
+++ /code/branches/Dialog_HS17/src/modules/dialog/DialogManager.cc	(revision 11607)
@@ -1,2 +1,41 @@
+#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"
@@ -46,20 +85,2 @@
 	} 
 } */
-
-#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;
-    }
-}
Index: /code/branches/Dialog_HS17/src/modules/dialog/DialogManager.h
===================================================================
--- /code/branches/Dialog_HS17/src/modules/dialog/DialogManager.h	(revision 11606)
+++ /code/branches/Dialog_HS17/src/modules/dialog/DialogManager.h	(revision 11607)
@@ -73,6 +73,6 @@
 
        	 	void setDialog(Dialog* dialog);
-        	const Dialog& getCurrentDialog();
-       		 bool empty();
+        	const Dialog* getCurrentDialog();
+       		bool empty();
 
         private:
Index: /code/branches/Dialog_HS17/src/modules/dialog/Question.cc
===================================================================
--- /code/branches/Dialog_HS17/src/modules/dialog/Question.cc	(revision 11606)
+++ /code/branches/Dialog_HS17/src/modules/dialog/Question.cc	(revision 11607)
@@ -19,5 +19,5 @@
 		XMLPortParam(Question, "Id", setQuestionId, getQuestionId, xmlement, mode);
 
-		XMLPortObject(Question, AnswerId, "answers", addAnswerId, getAnswerIds, xmlement, mode);
+		XMLPortObject(Question, AnswerId, "answers", addAnswerId, getAnswerId, xmlement, mode);
 	}
 
@@ -37,14 +37,18 @@
 	}
 
-	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()
Index: /code/branches/Dialog_HS17/src/modules/dialog/Question.h
===================================================================
--- /code/branches/Dialog_HS17/src/modules/dialog/Question.h	(revision 11606)
+++ /code/branches/Dialog_HS17/src/modules/dialog/Question.h	(revision 11607)
@@ -1,5 +1,9 @@
+#ifndef _Question_H__
+#define _Question_H__
+
 #include "core/BaseObject.h"
 #include "AnswerId.h"
 #include "core/XMLPort.h"
+#include "core/CoreIncludes.h"
 
 #include <string>
@@ -11,5 +15,5 @@
 		public:
 			Question(Context* context);
-			virtual ~Question();
+		// 	virtual ~Question();
 			virtual void XMLPort(Element& xmelement, XMLPort::Mode mode);
 
@@ -20,5 +24,6 @@
 			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;
 
 			
@@ -36,2 +41,4 @@
 	};
 }
+
+#endif
