Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Nov 10, 2008, 12:05:03 AM (15 years ago)
Author:
landauf
Message:

merged revisions 2111-2170 from objecthierarchy branch back to trunk.

Location:
code/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • code/trunk

  • code/trunk/src/orxonox/LevelManager.cc

    r2087 r2171  
    2828
    2929#include "OrxonoxStableHeaders.h"
    30 
    3130#include "LevelManager.h"
    3231
    33 #include "core/CoreIncludes.h"
    34 
    35 #include "objects/infos/Level.h"
     32#include "PlayerManager.h"
     33#include "objects/Level.h"
    3634#include "objects/infos/HumanPlayer.h"
    3735
     
    4240    LevelManager::LevelManager()
    4341    {
    44         RegisterRootObject(LevelManager);
    45 
    4642        assert(singletonRef_s == 0);
    4743        singletonRef_s = this;
    48 
    49         this->getConnectedClients();
    5044    }
    5145
     
    9589        {
    9690            this->levels_s.front()->setActive(true);
    97             for (std::map<unsigned int, PlayerInfo*>::iterator it = this->clients_.begin(); it != this->clients_.end(); ++it)
     91            for (std::map<unsigned int, PlayerInfo*>::const_iterator it = PlayerManager::getInstance().getClients().begin(); it != PlayerManager::getInstance().getClients().end(); ++it)
    9892                this->levels_s.front()->playerEntered(it->second);
    9993        }
    10094    }
    101 
    102 
    103     void LevelManager::clientConnected(unsigned int clientID)
    104     {
    105         COUT(3) << "client connected" << std::endl;
    106 
    107         // create new HumanPlayer instance
    108         HumanPlayer* player = new HumanPlayer(0);
    109         player->setClientID(clientID);
    110 
    111         // add to clients-map
    112         assert(!this->clients_[clientID]);
    113         this->clients_[clientID] = player;
    114 
    115         if (this->getActiveLevel())
    116             this->getActiveLevel()->playerEntered(player);
    117     }
    118 
    119     void LevelManager::clientDisconnected(unsigned int clientID)
    120     {
    121         COUT(3) << "client disconnected" << std::endl;
    122 
    123         // remove from clients-map
    124         PlayerInfo* player = this->clients_[clientID];
    125         this->clients_.erase(clientID);
    126 
    127         if (this->getActiveLevel())
    128             this->getActiveLevel()->playerLeft(player);
    129 
    130         // delete PlayerInfo instance
    131         if (player)
    132             delete player;
    133     }
    134 
    135 
    136     PlayerInfo* LevelManager::getClient(unsigned int clientID) const
    137     {
    138         std::map<unsigned int, PlayerInfo*>::const_iterator it = this->clients_.find(clientID);
    139         if (it != this->clients_.end())
    140             return it->second;
    141         else
    142             return 0;
    143     }
    14495}
Note: See TracChangeset for help on using the changeset viewer.