Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Apr 8, 2009, 12:36:08 AM (16 years ago)
Author:
dafrick
Message:

Merging of the current QuestSystem branch.

Location:
code/branches/questsystem5
Files:
2 added
9 edited

Legend:

Unmodified
Added
Removed
  • code/branches/questsystem5

  • code/branches/questsystem5/src/orxonox/objects/infos/Bot.cc

    r2662 r2907  
    3030#include "Bot.h"
    3131
    32 #include "core/Core.h"
     32#include "core/GameMode.h"
    3333#include "core/CoreIncludes.h"
    3434#include "core/ConfigValueIncludes.h"
     
    4646
    4747        this->bHumanPlayer_ = false;
    48         this->bLocalPlayer_ = Core::isMaster();
     48        this->bLocalPlayer_ = GameMode::isMaster();
    4949        this->bSetUnreadyAfterSpawn_ = false;
    5050        this->setReadyToSpawn(true);
  • code/branches/questsystem5/src/orxonox/objects/infos/CMakeLists.txt

    r2710 r2907  
    11ADD_SOURCE_FILES(ORXONOX_SRC_FILES
    22  Bot.cc
     3  PongBot.cc
    34  Info.cc
    45  PlayerInfo.cc
  • code/branches/questsystem5/src/orxonox/objects/infos/GametypeInfo.cc

    r2662 r2907  
    5858        registerVariable(this->startCountdown_,         variableDirection::toclient);
    5959        registerVariable(this->bStartCountdownRunning_, variableDirection::toclient);
     60        registerVariable(this->hudtemplate_,            variableDirection::toclient);
    6061    }
    6162}
  • code/branches/questsystem5/src/orxonox/objects/infos/GametypeInfo.h

    r2662 r2907  
    5656                { return this->startCountdown_; }
    5757
     58            inline const std::string& getHUDTemplate() const
     59                { return this->hudtemplate_; }
     60
    5861        private:
    5962            bool bStarted_;
     
    6164            bool bStartCountdownRunning_;
    6265            float startCountdown_;
     66            std::string hudtemplate_;
    6367    };
    6468}
  • code/branches/questsystem5/src/orxonox/objects/infos/HumanPlayer.cc

    r2662 r2907  
    3030#include "HumanPlayer.h"
    3131
    32 #include "core/Core.h"
     32#include "core/GameMode.h"
    3333#include "core/CoreIncludes.h"
    3434#include "core/ConfigValueIncludes.h"
     
    4747        RegisterObject(HumanPlayer);
    4848
    49         this->server_initialized_ = Core::isMaster();
     49        this->server_initialized_ = GameMode::isMaster();
    5050        this->client_initialized_ = false;
    5151
     
    5353        this->defaultController_ = Class(HumanController);
    5454
     55        this->humanHud_ = 0;
     56        this->gametypeHud_ = 0;
     57
    5558        this->setConfigValues();
    5659        this->registerVariables();
     
    5962    HumanPlayer::~HumanPlayer()
    6063    {
     64        if (this->BaseObject::isInitialized())
     65        {
     66            if (this->humanHud_)
     67                delete this->humanHud_;
     68
     69            if (this->gametypeHud_)
     70                delete this->gametypeHud_;
     71        }
    6172    }
    6273
     
    8293            this->synchronize_nick_ = this->nick_;
    8394
    84             if (Core::isMaster())
     95            if (GameMode::isMaster())
    8596                this->setName(this->nick_);
    8697        }
     
    89100    void HumanPlayer::configvaluecallback_changedHUDTemplate()
    90101    {
    91         this->changedController();
     102        this->setHumanHUDTemplate(this->hudtemplate_);
    92103    }
    93104
     
    105116            this->client_initialized_ = true;
    106117
    107             if (!Core::isMaster())
     118            if (!GameMode::isMaster())
    108119                this->setObjectMode(objectDirection::bidirectional);
    109120            else
     
    111122
    112123            this->createController();
     124            this->updateHumanHUD();
    113125        }
    114126    }
     
    146158    }
    147159
    148     void HumanPlayer::changedController()
    149     {
    150         if (this->getController())
    151         {
    152             this->getController()->setHUDTemplate(this->hudtemplate_);
    153 
    154             if (this->getController() && this->getController()->getHUD())
    155                 this->getController()->getHUD()->setOwner(this->getControllableEntity());
     160    void HumanPlayer::changedGametype()
     161    {
     162        PlayerInfo::changedGametype();
     163
     164        if (this->isInitialized() && this->isLocalPlayer())
     165            if (this->getGametype()->getHUDTemplate() != "")
     166                this->setGametypeHUDTemplate(this->getGametype()->getHUDTemplate());
     167    }
     168
     169    void HumanPlayer::changedControllableEntity()
     170    {
     171        PlayerInfo::changedControllableEntity();
     172
     173        if (this->humanHud_)
     174            this->humanHud_->setOwner(this->getControllableEntity());
     175    }
     176
     177    void HumanPlayer::updateHumanHUD()
     178    {
     179        if (this->humanHud_)
     180        {
     181            delete this->humanHud_;
     182            this->humanHud_ = 0;
     183        }
     184
     185        if (this->isLocalPlayer() && this->humanHudTemplate_ != "")
     186        {
     187            this->humanHud_ = new OverlayGroup(this);
     188            this->humanHud_->addTemplate(this->humanHudTemplate_);
     189            this->humanHud_->setOwner(this->getControllableEntity());
     190        }
     191    }
     192
     193    void HumanPlayer::updateGametypeHUD()
     194    {
     195        if (this->gametypeHud_)
     196        {
     197            delete this->gametypeHud_;
     198            this->gametypeHud_ = 0;
     199        }
     200
     201        if (this->isLocalPlayer() && this->gametypeHudTemplate_ != "")
     202        {
     203            this->gametypeHud_ = new OverlayGroup(this);
     204            this->gametypeHud_->addTemplate(this->gametypeHudTemplate_);
     205            this->gametypeHud_->setOwner(this->getGametype());
    156206        }
    157207    }
  • code/branches/questsystem5/src/orxonox/objects/infos/HumanPlayer.h

    r2662 r2907  
    5151            void setClientID(unsigned int clientID);
    5252
    53             virtual void changedController();
     53            virtual void changedGametype();
     54            virtual void changedControllableEntity();
     55
     56            inline void setHumanHUDTemplate(const std::string& name)
     57            {
     58                if (name != this->humanHudTemplate_)
     59                {
     60                    this->humanHudTemplate_ = name;
     61                    this->updateHumanHUD();
     62                }
     63            }
     64            inline const std::string& getHumanHUDTemplate() const
     65                { return this->humanHudTemplate_; }
     66            inline OverlayGroup* getHumanHUD() const
     67                { return this->humanHud_; }
     68
     69            inline void setGametypeHUDTemplate(const std::string& name)
     70            {
     71                if (name != this->gametypeHudTemplate_)
     72                {
     73                    this->gametypeHudTemplate_ = name;
     74                    this->updateGametypeHUD();
     75                }
     76            }
     77            inline const std::string& getGametypeHUDTemplate() const
     78                { return this->gametypeHudTemplate_; }
     79            inline OverlayGroup* getGametypeHUD() const
     80                { return this->gametypeHud_; }
    5481
    5582        protected:
     
    6188            void networkcallback_client_initialized();
    6289
     90            void updateHumanHUD();
     91            void updateGametypeHUD();
     92
    6393            std::string nick_;
    6494            std::string synchronize_nick_;
     
    6696            bool server_initialized_;
    6797            bool client_initialized_;
     98
     99            std::string humanHudTemplate_;
     100            OverlayGroup* humanHud_;
     101            std::string gametypeHudTemplate_;
     102            OverlayGroup* gametypeHud_;
    68103    };
    69104}
  • code/branches/questsystem5/src/orxonox/objects/infos/PlayerInfo.cc

    r2662 r2907  
    110110    void PlayerInfo::createController()
    111111    {
     112        if (this->controller_)
     113        {
     114            delete this->controller_;
     115            this->controller_ = 0;
     116        }
    112117        this->controller_ = this->defaultController_.fabricate(this);
    113118        assert(this->controller_);
     
    141146        if (this->controller_)
    142147            this->controller_->setControllableEntity(entity);
     148
     149        this->changedControllableEntity();
    143150    }
    144151
     
    155162            if (callback)
    156163                entity->removePlayer();
     164
     165            this->changedControllableEntity();
    157166        }
    158167    }
  • code/branches/questsystem5/src/orxonox/objects/infos/PlayerInfo.h

    r2662 r2907  
    4949            virtual void changedGametype();
    5050
     51            virtual void changedController() {}
     52            virtual void changedControllableEntity() {}
     53
    5154            inline bool isHumanPlayer() const
    5255                { return this->bHumanPlayer_; }
     
    7376            inline Controller* getController() const
    7477                { return this->controller_; }
    75             virtual void changedController() {}
    7678
    7779        protected:
Note: See TracChangeset for help on using the changeset viewer.