Changeset 11317 for code/branches/Dialog_HS16/src/modules
- Timestamp:
- Dec 5, 2016, 3:59:27 PM (8 years ago)
- Location:
- code/branches/Dialog_HS16/src/modules
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/Dialog_HS16/src/modules/notifications/CMakeLists.txt
r8706 r11317 17 17 NotificationsPrecompiledHeaders.h 18 18 LINK_LIBRARIES 19 overlays 19 20 orxonox 20 21 SOURCE_FILES ${NOTIFICATIONS_SRC_FILES} -
code/branches/Dialog_HS16/src/modules/notifications/dispatchers/CMakeLists.txt
r11292 r11317 3 3 SimpleNotification.cc 4 4 Dialogue.cc 5 DialogueManager.cc6 5 ) -
code/branches/Dialog_HS16/src/modules/notifications/dispatchers/Dialogue.cc
r11270 r11317 1 1 2 2 3 … … 5 6 #include "core/EventIncludes.h" 6 7 #include "core/XMLPort.h" 8 9 #include "overlays/hud/HUDDialogue.h" 10 11 #include "NotificationDispatcher.h" 7 12 8 13 namespace orxonox{ … … 28 33 XMLPortParam(Dialogue, "speaker", setSpeaker, getSpeaker, xmlelement, mode); 29 34 XMLPortParam(Dialogue, "message", setMessage, getMessage, xmlelement, mode); 35 XMLPortParam(Dialogue, "portrait", setPortrait, getPortrait, xmlelement, mode); 30 36 31 37 } 38 void Dialogue::update() 39 { 40 for(HUDDialogue* huddialogue : ObjectList<HUDDialogue>()) 41 huddialogue->updateTarget(portrait_); 42 } 43 32 44 const std::string& Dialogue::createNotificationMessage(void) 33 45 { 34 dialogue_ = speaker_ + message_; 46 dialogue_ = speaker_ + ": " + message_; 47 this->update(); 35 48 return this->dialogue_ ; 36 49 } -
code/branches/Dialog_HS16/src/modules/notifications/dispatchers/Dialogue.h
r11292 r11317 20 20 21 21 const std::string& getMessage(void) 22 { return this->message_; }22 { return this->message_; } 23 23 const std::string& getSpeaker(void) 24 24 {return this->speaker_;} 25 const std::string& getPortrait(void) 26 { return this->portrait_;} 27 25 28 protected: 26 29 virtual const std::string& createNotificationMessage(void); 27 30 virtual void update(void); 28 31 29 32 private: … … 31 34 std::string speaker_; 32 35 std::string dialogue_; 36 std::string portrait_; 33 37 34 38 void setSpeaker(const std::string& speaker) … … 36 40 void setMessage(const std::string& message) 37 41 { this->message_ = message; } 42 void setPortrait(const std::string& portrait) 43 { this->portrait_ = portrait;} 38 44 } ; 39 40 45 } 41 46 -
code/branches/Dialog_HS16/src/modules/overlays/hud/HUDDialogue.cc
r11292 r11317 1 2 3 4 1 5 2 … … 13 10 #include <OgreTextAreaOverlayElement.h> 14 11 #include <OgrePanelOverlayElement.h> 12 #include "core/CoreIncludes.h" 15 13 16 14 namespace orxonox … … 23 21 { 24 22 RegisterObject(HUDDialogue); 25 26 overlayElementIcon_ = static_cast<Ogre::PanelOverlayElement* >(Ogre::OverlayManager::getSingleton().createOverlayElement("Panel", "Dialogue" + getUniqueNumberString())); 23 } 24 void HUDDialogue::updateTarget(std::string portrait) 25 { 26 overlayElementIcon_ = static_cast<Ogre::PanelOverlayElement* >(Ogre::OverlayManager::getSingleton().createOverlayElement("Panel", "Dialogue" + getUniqueNumberString())); 27 27 overlayElementIcon_->setPosition(0.0f,0.0f); 28 28 overlayElementIcon_->setDimensions(1.0f,1.0f); 29 this->background_->addChild(overlayElementIcon_); 29 this->background_->addChild(overlayElementIcon_); 30 30 31 overlayElementIcon_->setMaterialName("Orxonox/DialogueHUD_Person");32 33 } 34 35 void HUDDialogue::tick(float dt)31 overlayElementIcon_->setMaterialName(portrait); 32 this->setVisible(true); 33 portraitTimer.setTimer(2.9f,false,createExecutor(createFunctor(&HUDDialogue::invisible, this))); 34 } 35 void HUDDialogue::invisible() 36 36 { 37 SUPER(HUDDialogue, tick, dt); 38 39 37 this->setVisible(false); 38 Ogre::OverlayManager::getSingleton().destroyOverlayElement(this->overlayElementIcon_); 40 39 } 41 42 40 HUDDialogue::~HUDDialogue() 43 41 { … … 45 43 46 44 } 47 48 void HUDDialogue::XMLPort(Element& xmlelement, XMLPort::Mode mode)49 {50 SUPER(HUDDialogue, XMLPort, xmlelement, mode);51 }52 53 45 } -
code/branches/Dialog_HS16/src/modules/overlays/hud/HUDDialogue.h
r11292 r11317 1 2 3 4 1 5 2 … … 13 10 14 11 #include "util/OgreForwardRefs.h" 15 #include "tools/interfaces/Tickable.h"16 12 #include "overlays/OrxonoxOverlay.h" 13 #include "tools/Timer.h" 17 14 18 15 namespace orxonox 19 16 { 20 class _OverlaysExport HUDDialogue : public OrxonoxOverlay , public Tickable17 class _OverlaysExport HUDDialogue : public OrxonoxOverlay 21 18 { 22 19 public: … … 24 21 virtual ~HUDDialogue(); 25 22 26 virtual void tick(float dt) override;23 virtual void updateTarget(std::string portrait); 27 24 28 virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode) override; 29 30 25 virtual void invisible(); 31 26 32 27 private: 33 28 Ogre::PanelOverlayElement* overlayElementIcon_; 29 30 Timer portraitTimer; 34 31 }; 35 32 } 36 37 33 #endif
Note: See TracChangeset
for help on using the changeset viewer.