add player.is_suspended, player.set_suspended

This commit is contained in:
MihailRis
2025-01-15 22:25:51 +03:00
parent 40cdebb175
commit 43f0cbe3fe
6 changed files with 59 additions and 0 deletions
+21
View File
@@ -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);
}