Esempio n. 1
0
void Game::injectJoinAccept(NetworkMessage::JoinAccept *message){

	mServerJoined = true;

	PlayerList *pl = message->getPlayerList();
	OgrePlayer *tmp;

	mBombManager = new BombManager(mWorld);

	Ogre::LogManager::getSingletonPtr()->logMessage("Creating Local Map");
	mLocalMap = new LocalMap(
		mWorld,
		mPlayerList,
		mBombManager,
		message->getMapHeight(),
		message->getMapWidth(),
		message->getSeed()
	);

	Ogre::LogManager::getSingletonPtr()->logMessage("Filling player list");
	for(unsigned int i = 0; i < pl->size(); i++){
		if((*pl)[i]->getNickname() == mNickname){
			Ogre::LogManager::getSingletonPtr()->logMessage("Creating Local Player");
			mLocalPlayer = new LocalPlayer(mNickname, mWorld, mBombManager, mCameraManager);
			tmp = mLocalPlayer;
		}
		else
			tmp = new RemotePlayer((*pl)[i]->getNickname(), mWorld, mBombManager);

		tmp->setStartingPosition(
			(*pl)[i]->getX(),
			(*pl)[i]->getY(),
			(*pl)[i]->getZ()
		);

		mPlayerList->addPlayer(tmp);

	}

	mLocalPlayer->setPlayerEventListener(this);

	mGameSetUp = true;

}