void Server_Game::nextTurn() { QMutexLocker locker(&gameMutex); const QList<int> keys = players.keys(); int listPos = -1; if (activePlayer != -1) listPos = keys.indexOf(activePlayer); do { ++listPos; if (listPos == keys.size()) listPos = 0; } while (players.value(keys[listPos])->getSpectator() || players.value(keys[listPos])->getConceded()); setActivePlayer(keys[listPos]); }
void TiledMap::loadEntityLayer(const Tmx::ObjectGroup *objectGroup) { for(int i = 0; i < objectGroup->GetNumObjects(); ++i) { const Tmx::Object* object = objectGroup->GetObject(i); if(object->GetType() == "Enemy") { new Enemy(object->GetName(), osg::Vec3(object->GetX() / tileWidth, - object->GetY() / tileHeight, 0)); } else if(object->GetType() == "Player") { addNewPlayer(object->GetName(), osg::Vec3(object->GetX() / tileWidth, - object->GetY() / tileHeight, 0)); setActivePlayer(object->GetName()); } else { std::ostringstream stream; stream << "Unable to determine function of object type \"" << object->GetType() << "\" in entity layer."; logWarning(stream.str()); } } }