Changeset 11612
- Timestamp:
- Nov 30, 2017, 3:35:25 PM (7 years ago)
- Location:
- code/branches/Dialog_HS17
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/Dialog_HS17/data/gui/scripts/Dialog.lua
r11579 r11612 1 2 -- Dialog.lua 1 -- Dialogue.lua 3 2 4 3 local P = createMenuSheet("Dialog") 5 4 6 5 P.wrapper = nil 7 P.answerList = {} 8 P.scrollbarWidht = 13 9 P.selectedAnswer = {} 6 P.detailsWindows = {} 10 7 11 8 P.showing = false … … 14 11 P.imageHeight = 50 15 12 P.detailImageSize = 100 16 P.textHeight = 3017 P.buttonWidth = 8513 P.textHeight = 50 14 P.buttonWidth = 50 18 15 19 16 function P.onLoad() 20 17 P.wrapper = nil 21 22 18 end 23 19 24 20 function P.onShow() 21 25 22 orxonox.CommandExecutor:execute("setTimeFactor 0") 26 23 P.createDialog() … … 37 34 function P.update() 38 35 P.updateDialog() 39 if P.showing == false then40 return41 end42 43 P.cleanup(false)44 36 end 45 37 46 38 function P.createDialog() 47 39 48 local dialogManager = orxonox.DialogManager:getInstance()40 local manager = orxonox.DialogManager:getInstance() 49 41 42 ---[[ 50 43 root = winMgr:getWindow("orxonox/Dialogue/Inventory") 51 local dialog = dialogManager:getCurrentDialog()52 root:setText( dialog:getQuestion)44 local question = orxonox.DialogueManager:getInstance():getquestion() 45 root:setText(question) 53 46 P.wrapper = winMgr:createWindow("MenuWidgets/ScrollablePane", "orxonox/Dialogue/Inventory/Wrapper") 54 47 P.wrapper:setSize(CEGUI.UVector2(CEGUI.UDim(1,0),CEGUI.UDim(1,0))) 55 48 root:addChildWindow(P.wrapper) 56 49 57 acceptButton = winMgr:createWindow("MenuWidgets/Button", "/a2Button") --a2 da graphik aus version mit 2 knoepfen uebernommen 58 acceptButton:setPosition(CEGUI.UVector2(CEGUI.UDim(0.1, 0),CEGUI.UDim(0.4, (P.imageHeight-P.textHeight)/2))) 59 acceptButton:setSize(CEGUI.UVector2(CEGUI.UDim(0.8, 0), CEGUI.UDim(0, P.textHeight))) 60 acceptButton:setText("accept") 61 orxonox.GUIManager:subscribeEventHelper(acceptButton, "Clicked", P.name ..".acceptButton_clicked") 62 P.wrapper:addChildWindow(acceptButton) 63 64 P.answerList = {} -- erstellen der tabelle aus AntwortIds und Antworten im Lua 65 local answers = dialog:getAnswers() 66 for ans in answers do 67 P.answerList[ans] = dialog:getAnswer(ans) 68 end 69 --todo herausfinden wie antworten in tabelle enzeigen 50 --]] 51 detailsButton = winMgr:createWindow("MenuWidgets/Button", "/DetailsButton") 52 detailsButton:setPosition(CEGUI.UVector2(CEGUI.UDim(0.1, 0),CEGUI.UDim(0.5, (P.imageHeight-P.textHeight)/2))) 53 detailsButton:setSize(CEGUI.UVector2(CEGUI.UDim(0.25, 0), CEGUI.UDim(0, P.textHeight))) 54 detailsButton:setText("say") 55 orxonox.GUIManager:subscribeEventHelper(detailsButton, "Clicked", P.name ..".Button_clicked") 56 P.wrapper:addChildWindow(detailsButton) 57 --]] 58 70 59 end 71 60 72 73 61 function P.updateDialog() 74 local dialog = orxonox.DialogManager:getInstance():getDialog() 75 root:setText(dialog:getQuestion) 76 --todo: tabellen updaten 62 --local questionn = orxonox.DialogueManager:getInstance():getquestion() 63 --root:setText("test") 77 64 end 78 65 … … 98 85 99 86 100 function P. acceptButton_clicked(e)101 local ending = orxonox.DialogManager:getInstance():getDialog:ending()87 function P.Button_clicked(e) 88 --local ending = orxonox.DialogManager:getInstance():theEnd() 102 89 103 if ending then90 --if ending then 104 91 orxonox.CommandExecutor:execute("OrxonoxOverlay toggleVisibility Dialog") 105 92 106 --herausfindne wie tabelleneintrag uebergeben wird 107 else 108 P.update() 109 end 93 94 -- else 95 -- orxonox.DialogueManager:getInstance():a1clicked() 96 -- P.update() 97 -- end 110 98 end 111 99 -
code/branches/Dialog_HS17/data/gui/scripts/Dialogue.lua
r11451 r11612 22 22 P.detailPickups = {} 23 23 P.pickupsList = {} 24 24 25 end 25 26 … … 28 29 P.createInventory() 29 30 P.showing = true 31 end 30 32 31 end32 33 33 34 function P.onHide() -
code/branches/Dialog_HS17/data/overlays/HUDTemplates3.oxo
r11451 r11612 220 220 /> 221 221 222 </OverlayGroup> 223 </Template> 222 <GUIOverlay 223 name = "Dialog" 224 guiname = "Dialog" 225 visible = "false" 226 /> 227 228 </OverlayGroup> 229 </Template> -
code/branches/Dialog_HS17/src/modules/dialog/Dialog.cc
r11611 r11612 113 113 return end; 114 114 } 115 116 std::string Dialog::getQuestionString() 117 { 118 return this->questions_.find(this->currentQuestionId_)->second->getQuestion(); 119 } 115 120 } -
code/branches/Dialog_HS17/src/modules/dialog/Dialog.h
r11611 r11612 33 33 void addAnswer(Answer* answer); //fuegt Answer der Map hinzu 34 34 35 Question* getQuestion(unsigned int index) const; // returned string der momentanen Frage36 Answer* getAnswer(unsigned int index) const; // returned string der momentanen Frage35 Question* getQuestion(unsigned int index) const; // // benoetigt fuer xmlPort 36 Answer* getAnswer(unsigned int index) const; // benoetigt fuer xmlPort 37 37 std::vector<std::string> getAnswers(); // returned vector mit allen momentanen AntwortenIds 38 38 … … 43 43 bool ending(); //retruned true wenn die Id der Antwort end ist oder keine Antworten auf die frage eingetragen sind 44 44 45 std::string getQuestionString(); //gibt string der momentanen Frage 45 46 46 47 private: -
code/branches/Dialog_HS17/src/modules/dialog/DialogManager.cc
r11611 r11612 2 2 #include "core/CoreIncludes.h" 3 3 #include "core/singleton/ScopedSingletonIncludes.h" 4 #include <string> 4 5 5 namespace orxonox 6 { 7 ManageScopedSingleton(DialogManager, ScopeID::ROOT, false); 6 namespace orxonox { 7 ManageScopedSingleton(DialogManager, ScopeID::ROOT, false); 8 8 9 9 RegisterAbstractClass(DialogManager).inheritsFrom<Listable>(); 10 11 DialogManager::DialogManager() 12 { 13 this->currentTalk_ = nullptr; 14 } 10 15 11 DialogManager::DialogManager() 12 { 13 RegisterObject(DialogManager); 14 15 this->currentTalk_ = NULL; 16 } 17 18 void DialogManager::setDialog(Dialog* dialog) 16 void DialogManager::setDialog(Dialog* dialog) 19 17 { 20 18 this->currentTalk_ = dialog; 21 19 } 22 20 23 const Dialog* DialogManager::getCurrentDialog() 24 { 25 return this->currentTalk_; 26 } 27 28 bool DialogManager::empty() 29 { 30 if(this->currentTalk_ == NULL) 31 { 32 return true; 33 } 34 else 35 { 36 return false; 37 } 38 } 21 //from here onward funcionality for lua axports 22 23 std::string DialogManager::getQuestion() 24 { 25 return this->currentTalk_->getQuestionString(); 26 } 27 28 /* 29 std::vector<std::string> DialogManager::getAnswers() 30 { 31 // lua hat komisch arrays (eigentlich tables), wie implementiert man answers so das man nacher den key der gegeben antwort a 32 // hat um ihn fuer update zu benutzen? 33 } 34 */ 39 35 } -
code/branches/Dialog_HS17/src/modules/dialog/DialogManager.h
r11611 r11612 4 4 #include "DialogPrereqs.h" 5 5 #include "util/Singleton.h" 6 #include "core/singleton/ScopedSingletonIncludes.h" 6 7 #include "core/object/Listable.h" 7 8 #include "Dialog.h" 8 9 9 namespace orxonox 10 { 11 class _DialogExport DialogManager : public Singleton<DialogManager>, public Listable 12 { 10 #include <string> 11 12 namespace orxonox //tolua_export 13 14 {//tolua_export 15 class _OrxonoxExport DialogManager //tolua_export 16 : public Singleton<DialogManager> 17 {//tolua_export 13 18 friend class Singleton<DialogManager>; 19 20 public: 21 22 DialogManager(); 23 14 24 15 public: 16 DialogManager(); 25 static DialogManager& getInstance() { return Singleton<DialogManager>::getInstance(); } //tolua_export 17 26 18 // int getValue() const { return this->value_; }27 void setDialog(Dialog* dialog); 19 28 20 static DialogManager& getInstance() { return Singleton<DialogManager>::getInstance(); } //toloa_export29 //from here on luafunctionality is declared 21 30 22 void setDialog(Dialog* dialog); 23 const Dialog* getCurrentDialog(); 24 bool empty(); 31 std::string getQuestion(); //tolua_export 32 //std::vector<std::string> getAnswers(); 25 33 26 //form here on all lua functionality used in lua scrips is declared 34 private: 35 static DialogManager* singletonPtr_s; 27 36 37 Dialog* currentTalk_; 28 38 29 private: 30 Dialog* currentTalk_; 31 //int value_; 32 33 static DialogManager* singletonPtr_s; 34 }; 35 } 39 };//tolua_export 40 }//tolua_export 36 41 37 42 #endif /* _DialogManager_H__ */ -
code/branches/Dialog_HS17/src/modules/dialog/DialogPrereqs.h
r11611 r11612 43 43 //----------------------------------------------------------------------- 44 44 45 #if defined(ORXONOX_PLATFORM_WINDOWS) && !defined(Dialog ue_STATIC_BUILD)46 # ifdef Dialog ue_SHARED_BUILD45 #if defined(ORXONOX_PLATFORM_WINDOWS) && !defined(Dialog_STATIC_BUILD) 46 # ifdef Dialog_SHARED_BUILD 47 47 # define _DialogExport __declspec(dllexport) 48 48 # else
Note: See TracChangeset
for help on using the changeset viewer.