mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-05 11:01:49 +00:00
add player.is_suspended, player.set_suspended
This commit is contained in:
parent
40cdebb175
commit
43f0cbe3fe
6 changed files with 59 additions and 0 deletions
|
|
@ -4,6 +4,7 @@
|
|||
#include "items/Inventories.hpp"
|
||||
#include "world/Level.hpp"
|
||||
#include "world/World.hpp"
|
||||
#include "objects/Entities.hpp"
|
||||
|
||||
Players::Players(Level& level) : level(level) {}
|
||||
|
||||
|
|
@ -36,6 +37,26 @@ Player* Players::create() {
|
|||
return player;
|
||||
}
|
||||
|
||||
void Players::suspend(int64_t id) {
|
||||
if (auto player = get(id)) {
|
||||
if (player->isSuspended()) {
|
||||
return;
|
||||
}
|
||||
player->setSuspended(true);
|
||||
level.entities->despawn(player->getEntity());
|
||||
player->setEntity(0);
|
||||
}
|
||||
}
|
||||
|
||||
void Players::resume(int64_t id) {
|
||||
if (auto player = get(id)) {
|
||||
if (!player->isSuspended()) {
|
||||
return;
|
||||
}
|
||||
player->setSuspended(false);
|
||||
}
|
||||
}
|
||||
|
||||
void Players::remove(int64_t id) {
|
||||
players.erase(id);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue