Limitation à deux joueurs par niveau
This commit is contained in:
parent
a04e5b097b
commit
b472cadfcd
|
@ -343,8 +343,7 @@ Object::Ptr Editor::addObject(sf::Vector2f position) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!overlaps) {
|
if (!overlaps) {
|
||||||
Level::addObject(object);
|
return Level::addObject(object);
|
||||||
return object;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
#include "player.hpp"
|
#include "player.hpp"
|
||||||
#include "block.hpp"
|
#include "block.hpp"
|
||||||
#include "gravity_block.hpp"
|
#include "gravity_block.hpp"
|
||||||
#include <iostream>
|
|
||||||
#include <arpa/inet.h>
|
#include <arpa/inet.h>
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
#include <queue>
|
#include <queue>
|
||||||
|
@ -349,10 +348,15 @@ const std::vector<Player::Ptr>& Level::getPlayers() const {
|
||||||
return players;
|
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
|
// si c'est un joueur, on le met dans le tableau des joueurs
|
||||||
// et on lui attribue un numéro
|
// et on lui attribue un numéro
|
||||||
if (object->getTypeId() == Player::TYPE_ID) {
|
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::Ptr player = std::dynamic_pointer_cast<Player>(object);
|
||||||
|
|
||||||
player->setPlayerNumber(players.size());
|
player->setPlayerNumber(players.size());
|
||||||
|
@ -360,6 +364,7 @@ void Level::addObject(Object::Ptr object) {
|
||||||
}
|
}
|
||||||
|
|
||||||
objects.push_back(object);
|
objects.push_back(object);
|
||||||
|
return object;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Level::removeObject(Object::Ptr object) {
|
void Level::removeObject(Object::Ptr object) {
|
||||||
|
|
Loading…
Reference in New Issue