feat: player.delete() function and update documentation
This commit is contained in:
parent
c1b311f3c4
commit
13c36f4629
@ -24,4 +24,6 @@ for i=1,25 do
|
|||||||
app.tick()
|
app.tick()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
player.delete(pid2)
|
||||||
|
|
||||||
app.close_world(true)
|
app.close_world(true)
|
||||||
|
|||||||
@ -1,5 +1,17 @@
|
|||||||
# *player* library
|
# *player* library
|
||||||
|
|
||||||
|
```lua
|
||||||
|
player.create(name: str) -> int
|
||||||
|
```
|
||||||
|
|
||||||
|
Creates a player and returns id.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
player.delete(id: int)
|
||||||
|
```
|
||||||
|
|
||||||
|
Deletes a player by id.
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
player.get_pos(playerid: int) -> number, number, number
|
player.get_pos(playerid: int) -> number, number, number
|
||||||
```
|
```
|
||||||
|
|||||||
@ -1,5 +1,17 @@
|
|||||||
# Библиотека *player*
|
# Библиотека *player*
|
||||||
|
|
||||||
|
```lua
|
||||||
|
player.create(name: str) -> int
|
||||||
|
```
|
||||||
|
|
||||||
|
Создаёт игрока и возвращает его id.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
player.delete(id: int)
|
||||||
|
```
|
||||||
|
|
||||||
|
Удаляет игрока по id.
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
player.get_pos(playerid: int) -> number, number, number
|
player.get_pos(playerid: int) -> number, number, number
|
||||||
```
|
```
|
||||||
|
|||||||
@ -279,6 +279,11 @@ static int l_create(lua::State* L) {
|
|||||||
return lua::pushinteger(L, player->getId());
|
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[] = {
|
const luaL_Reg playerlib[] = {
|
||||||
{"get_pos", lua::wrap<l_get_pos>},
|
{"get_pos", lua::wrap<l_get_pos>},
|
||||||
{"set_pos", lua::wrap<l_set_pos>},
|
{"set_pos", lua::wrap<l_set_pos>},
|
||||||
@ -310,5 +315,6 @@ const luaL_Reg playerlib[] = {
|
|||||||
{"get_name", lua::wrap<l_get_name>},
|
{"get_name", lua::wrap<l_get_name>},
|
||||||
{"set_name", lua::wrap<l_set_name>},
|
{"set_name", lua::wrap<l_set_name>},
|
||||||
{"create", lua::wrap<l_create>},
|
{"create", lua::wrap<l_create>},
|
||||||
|
{"delete", lua::wrap<l_delete>},
|
||||||
{NULL, NULL}
|
{NULL, NULL}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -36,6 +36,10 @@ Player* Players::create() {
|
|||||||
return player;
|
return player;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Players::remove(int64_t id) {
|
||||||
|
players.erase(id);
|
||||||
|
}
|
||||||
|
|
||||||
dv::value Players::serialize() const {
|
dv::value Players::serialize() const {
|
||||||
auto root = dv::object();
|
auto root = dv::object();
|
||||||
auto& list = root.list("players");
|
auto& list = root.list("players");
|
||||||
|
|||||||
@ -25,6 +25,8 @@ public:
|
|||||||
|
|
||||||
Player* create();
|
Player* create();
|
||||||
|
|
||||||
|
void remove(int64_t id);
|
||||||
|
|
||||||
dv::value serialize() const override;
|
dv::value serialize() const override;
|
||||||
|
|
||||||
void deserialize(const dv::value& src) override;
|
void deserialize(const dv::value& src) override;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user