Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 10129 in orxonox.OLD for branches/gui/src/world_entities/questGUI


Ignore:
Timestamp:
Dec 20, 2006, 4:34:09 PM (18 years ago)
Author:
hejja
Message:

Quest-Klasse implementiert

Location:
branches/gui/src/world_entities/questGUI
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • branches/gui/src/world_entities/questGUI/quest_gui.cc

    r10069 r10129  
    1212
    1313   ### File Specific:
    14    main-programmer: Andreas Hejj
     14   main-programmer    std::string             questName;
     15    std::string             questDescription;
     16    std::string             questPicture;
     17    std::string             questDifficulty;
     18    std::string             rewardDescription;
     19    std::string             rewardPicture;: Andreas Hejj
    1520
    1621*/
     
    3540#include "sound_source.h"
    3641
     42#include "glgui_widget.h"
    3743#include "glgui.h"
    3844#include "menu/glgui_imagebutton.h"
     
    4147
    4248
     49#include "quest.h"
     50
    4351#include "shell_command.h"
    4452
     
    6068 
    6169  this->questBox = NULL; 
    62 
    63   if( root != NULL)
    64     this->loadParams(root);
     70 
     71  this->bKillGui = false;
     72
     73  this->myQuest = new Quest(root);
     74  if(root)
     75    this->loadParams( root);
    6576
    6677}
     
    7283QuestGUI::~QuestGUI ()
    7384{
    74 }
    75 
    76 
    77 
     85  if( this->myQuest)
     86    delete this->myQuest;
     87}
    7888
    7989/**
     
    8393void QuestGUI::loadParams(const TiXmlElement* root)
    8494{
    85    WorldEntity::loadParams(root);
    86    
    87    LoadParam(root, "quest-name", this, QuestGUI, setQuestName)
    88        .describe("sets the name of a quest");
    89    LoadParam(root, "quest-description", this, QuestGUI, setQuestDescription)
    90        .describe("sets the description of a quest");
    91    LoadParam(root, "quest-picture", this, QuestGUI, setQuestPicture)
    92        .describe("sets the picture of a quest");
    93    LoadParam(root, "quest-difficulty", this, QuestGUI, setQuestDifficulty)
    94        .describe("sets the difficulty of a quest");
    95    LoadParam(root, "reward-description", this, QuestGUI, setRewardDescription)
    96        .describe("sets the description of a reward");
    97    LoadParam(root, "reward-picture", this, QuestGUI, setRewardPicture)
    98        .describe("sets the Picture of a reward");
    99    
    100 }
     95  WorldEntity::loadParams(root);
     96}
     97
    10198
    10299
     
    109106  {
    110107    this->questBox= new OrxGui::GLGuiBox(OrxGui::Vertical);
     108    this->bKillGui = false;
    111109   
    112110    OrxGui::GLGuiBox* headerBox = new OrxGui::GLGuiBox(OrxGui::Horizontal);
     
    114112      OrxGui::GLGuiImage* questImage = new OrxGui::GLGuiImage();
    115113      questImage->setWidgetSize(100, 100);
    116       questImage->loadImageFromFile(questPicture);
     114      questImage->loadImageFromFile(this->myQuest->getQuestPicture());
    117115      questImage->show();
     116      questImage->setBorderBottom(20);
    118117      headerBox->pack(questImage);
     118      headerBox->setBorderBottom(20);
    119119     
    120120      OrxGui::GLGuiBox* outlineBox = new OrxGui::GLGuiBox(OrxGui::Vertical);
    121121      {
    122122        OrxGui::GLGuiText* questDifficulty = new OrxGui::GLGuiText();
    123         questDifficulty->setText(this->questDifficulty);
     123        questDifficulty->setText(this->myQuest->getQuestDifficulty());
    124124        outlineBox->pack(questDifficulty);
    125125      }
    126126      headerBox->pack(outlineBox);
     127      headerBox->setBorderBottom(75);
    127128     
    128129    }
     
    131132    {
    132133      OrxGui::GLGuiText* questTxt = new OrxGui::GLGuiText();
    133       questTxt->setText(this->questDescription);
     134      questTxt->setText(this->myQuest->getQuestDescription());
    134135      labelBox->pack(questTxt);
     136      labelBox->setBorderBottom(75);
    135137    }
    136138   
     
    140142      OrxGui::GLGuiImage* rewardImage = new OrxGui::GLGuiImage();
    141143      rewardImage->setWidgetSize(50, 50);
    142       rewardImage->loadImageFromFile(rewardPicture);
     144      rewardImage->loadImageFromFile(this->myQuest->getRewardPicture());
    143145      rewardImage->show();
    144146      rewardBox->pack(rewardImage);
     147      rewardImage->setBorderBottom(50);
    145148   
    146149      OrxGui::GLGuiText* rewardTxt = new OrxGui::GLGuiText();
    147       rewardTxt->setText(this->rewardDescription);
     150      rewardTxt->setText(this->myQuest->getRewardDescription());
    148151      rewardBox->pack(rewardTxt);
     152      rewardBox->setBorderBottom(75);
     153     
    149154    }
    150155   
     
    152157    {
    153158      OrxGui::GLGuiButton* acceptButton = new OrxGui::GLGuiPushButton("Accept");
     159      acceptButton->released.connect(this, &QuestGUI::accept);
    154160      answerBox->pack(acceptButton);
     161      acceptButton->select();
    155162     
    156163      OrxGui::GLGuiButton* refuseButton = new OrxGui::GLGuiPushButton("Refuse");
     164      refuseButton->released.connect(this, &QuestGUI::refuse);
    157165      answerBox->pack(refuseButton);
    158166    }
     
    170178  else
    171179  {
    172     OrxGui::GLGuiHandler::getInstance()->deactivate();
    173     OrxGui::GLGuiHandler::getInstance()->deactivateCursor();
    174     delete this->questBox;
    175     this->questBox = NULL;
     180    this->bKillGui = true;
    176181  }
    177182 
    178183}
    179184
    180 
    181 
    182 
     185   
     186void QuestGUI::tick(float dt)
     187{
     188  if( this->bKillGui)
     189    this->killgui();
     190}
     191   
     192
     193void QuestGUI::accept()
     194{
     195  this->bKillGui = true;
     196 
     197}
     198
     199void QuestGUI::refuse()
     200{
     201  this->bKillGui = true;
     202}
     203
     204void QuestGUI::killgui()
     205{
     206  OrxGui::GLGuiHandler::getInstance()->deactivate();
     207  OrxGui::GLGuiHandler::getInstance()->deactivateCursor();
     208  delete this->questBox;
     209  this->questBox = NULL;
     210}
  • branches/gui/src/world_entities/questGUI/quest_gui.h

    r10069 r10129  
    88#include <vector>
    99
    10 
     10class Quest;
    1111
    1212class QuestGUI : public WorldEntity
     
    1818   QuestGUI (const TiXmlElement* root);
    1919   virtual ~QuestGUI ();
    20 
    21 
    22    virtual void loadParams(const TiXmlElement* root = NULL);
    23 
    24    /** @param questName sets the name of this quest */
    25    inline void setQuestName(const std::string& questName)                { this->questName = questName; }
    26    inline void setQuestDescription(const std::string& questDescription)  { this->questDescription = questDescription; }
    27    inline void setQuestPicture(const std::string& questPicture)          { this->questPicture = questPicture; }
    28    inline void setQuestDifficulty(const std::string& questDifficulty)    { this->questDifficulty = questDifficulty; }
    29    inline void setRewardDescription(const std::string& rewardDescription){ this->rewardDescription  = rewardDescription; }
    30    inline void setRewardPicture(const std::string& rewardPicture)        { this->rewardPicture  = rewardPicture; }
     20                     
     21   void loadParams(const TiXmlElement* root);
     22   
    3123   void guiInit();
    3224
     25   virtual void tick(float dt);
    3326   
    3427  private:
    35     std::string             questName;
    36     std::string             questDescription;
    37     std::string             questPicture;
    38     std::string             questDifficulty;
    39     std::string             rewardDescription;
    40     std::string             rewardPicture;
     28    Quest*                  myQuest;
     29    bool                    bKillGui;
    4130   
    4231    OrxGui::GLGuiBox*       headerBox;
     
    5039
    5140    OrxSound::SoundSource*  selectorSource;
     41   
     42    void accept();
     43    void refuse();
     44    void killgui();
    5245};
    5346
Note: See TracChangeset for help on using the changeset viewer.