feat: player.delete() function and update documentation
This commit is contained in:
@@ -279,6 +279,11 @@ static int l_create(lua::State* L) {
|
||||
return lua::pushinteger(L, player->getId());
|
||||
}
|
||||
|
||||
static int l_delete(lua::State* L) {
|
||||
level->players->remove(lua::tointeger(L, 1));
|
||||
return 0;
|
||||
}
|
||||
|
||||
const luaL_Reg playerlib[] = {
|
||||
{"get_pos", lua::wrap<l_get_pos>},
|
||||
{"set_pos", lua::wrap<l_set_pos>},
|
||||
@@ -310,5 +315,6 @@ const luaL_Reg playerlib[] = {
|
||||
{"get_name", lua::wrap<l_get_name>},
|
||||
{"set_name", lua::wrap<l_set_name>},
|
||||
{"create", lua::wrap<l_create>},
|
||||
{"delete", lua::wrap<l_delete>},
|
||||
{NULL, NULL}
|
||||
};
|
||||
|
||||
@@ -36,6 +36,10 @@ Player* Players::create() {
|
||||
return player;
|
||||
}
|
||||
|
||||
void Players::remove(int64_t id) {
|
||||
players.erase(id);
|
||||
}
|
||||
|
||||
dv::value Players::serialize() const {
|
||||
auto root = dv::object();
|
||||
auto& list = root.list("players");
|
||||
|
||||
@@ -25,6 +25,8 @@ public:
|
||||
|
||||
Player* create();
|
||||
|
||||
void remove(int64_t id);
|
||||
|
||||
dv::value serialize() const override;
|
||||
|
||||
void deserialize(const dv::value& src) override;
|
||||
|
||||
Reference in New Issue
Block a user