Limitation à deux joueurs par niveau

This commit is contained in:
Mattéo Delabre 2016-04-11 01:36:20 +02:00
parent a04e5b097b
commit b472cadfcd
2 changed files with 8 additions and 4 deletions

View File

@ -343,8 +343,7 @@ Object::Ptr Editor::addObject(sf::Vector2f position) {
}
if (!overlaps) {
Level::addObject(object);
return object;
return Level::addObject(object);
}
return nullptr;

View File

@ -3,7 +3,6 @@
#include "player.hpp"
#include "block.hpp"
#include "gravity_block.hpp"
#include <iostream>
#include <arpa/inet.h>
#include <cstring>
#include <queue>
@ -349,10 +348,15 @@ const std::vector<Player::Ptr>& Level::getPlayers() const {
return players;
}
void Level::addObject(Object::Ptr object) {
Object::Ptr Level::addObject(Object::Ptr object) {
// si c'est un joueur, on le met dans le tableau des joueurs
// et on lui attribue un numéro
if (object->getTypeId() == Player::TYPE_ID) {
// on n'autorise pas plus de deux joueurs
if (players.size() >= 2) {
return nullptr;
}
Player::Ptr player = std::dynamic_pointer_cast<Player>(object);
player->setPlayerNumber(players.size());
@ -360,6 +364,7 @@ void Level::addObject(Object::Ptr object) {
}
objects.push_back(object);
return object;
}
void Level::removeObject(Object::Ptr object) {