add player name
This commit is contained in:
parent
97a4741a73
commit
acc4d2540d
@ -77,6 +77,13 @@ player.get_spawnpoint(playerid: int) -> number, number, number
|
|||||||
|
|
||||||
Spawn point setter and getter
|
Spawn point setter and getter
|
||||||
|
|
||||||
|
```lua
|
||||||
|
player.set_name(playerid: int, name: str)
|
||||||
|
player.get_name(playerid: int) -> str
|
||||||
|
```
|
||||||
|
|
||||||
|
Player name setter and getter
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
player.get_selected_block(playerid: int) -> x,y,z
|
player.get_selected_block(playerid: int) -> x,y,z
|
||||||
```
|
```
|
||||||
|
|||||||
@ -77,6 +77,13 @@ player.get_spawnpoint(playerid: int) -> number, number, number
|
|||||||
|
|
||||||
Сеттер и геттер точки спавна игрока
|
Сеттер и геттер точки спавна игрока
|
||||||
|
|
||||||
|
```lua
|
||||||
|
player.set_name(playerid: int, name: str)
|
||||||
|
player.get_name(playerid: int) -> str
|
||||||
|
```
|
||||||
|
|
||||||
|
Сеттер и геттер имени игрока
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
player.get_selected_block(playerid: int) -> x,y,z
|
player.get_selected_block(playerid: int) -> x,y,z
|
||||||
```
|
```
|
||||||
|
|||||||
@ -236,6 +236,20 @@ static int l_set_camera(lua::State* L) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int l_get_name(lua::State* L) {
|
||||||
|
if (auto player = get_player(L, 1)) {
|
||||||
|
return lua::pushstring(L, player->getName());
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int l_set_name(lua::State* L) {
|
||||||
|
if (auto player = get_player(L, 1)) {
|
||||||
|
player->setName(lua::require_string(L, 2));
|
||||||
|
}
|
||||||
|
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>},
|
||||||
@ -261,5 +275,7 @@ const luaL_Reg playerlib[] = {
|
|||||||
{"set_entity", lua::wrap<l_set_entity>},
|
{"set_entity", lua::wrap<l_set_entity>},
|
||||||
{"get_camera", lua::wrap<l_get_camera>},
|
{"get_camera", lua::wrap<l_get_camera>},
|
||||||
{"set_camera", lua::wrap<l_set_camera>},
|
{"set_camera", lua::wrap<l_set_camera>},
|
||||||
|
{"get_name", lua::wrap<l_get_name>},
|
||||||
|
{"set_name", lua::wrap<l_set_name>},
|
||||||
{NULL, NULL}
|
{NULL, NULL}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -30,6 +30,7 @@ constexpr int SPAWN_ATTEMPTS_PER_UPDATE = 64;
|
|||||||
Player::Player(
|
Player::Player(
|
||||||
Level* level,
|
Level* level,
|
||||||
int64_t id,
|
int64_t id,
|
||||||
|
const std::string& name,
|
||||||
glm::vec3 position,
|
glm::vec3 position,
|
||||||
float speed,
|
float speed,
|
||||||
std::shared_ptr<Inventory> inv,
|
std::shared_ptr<Inventory> inv,
|
||||||
@ -37,6 +38,7 @@ Player::Player(
|
|||||||
)
|
)
|
||||||
: level(level),
|
: level(level),
|
||||||
id(id),
|
id(id),
|
||||||
|
name(name),
|
||||||
speed(speed),
|
speed(speed),
|
||||||
chosenSlot(0),
|
chosenSlot(0),
|
||||||
position(position),
|
position(position),
|
||||||
@ -269,6 +271,14 @@ entityid_t Player::getSelectedEntity() const {
|
|||||||
return selectedEid;
|
return selectedEid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Player::setName(const std::string& name) {
|
||||||
|
this->name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
const std::string& Player::getName() const {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
const std::shared_ptr<Inventory>& Player::getInventory() const {
|
const std::shared_ptr<Inventory>& Player::getInventory() const {
|
||||||
return inventory;
|
return inventory;
|
||||||
}
|
}
|
||||||
@ -285,6 +295,7 @@ dv::value Player::serialize() const {
|
|||||||
auto root = dv::object();
|
auto root = dv::object();
|
||||||
|
|
||||||
root["id"] = id;
|
root["id"] = id;
|
||||||
|
root["name"] = name;
|
||||||
|
|
||||||
root["position"] = dv::to_value(position);
|
root["position"] = dv::to_value(position);
|
||||||
root["rotation"] = dv::to_value(cam);
|
root["rotation"] = dv::to_value(cam);
|
||||||
@ -308,6 +319,7 @@ dv::value Player::serialize() const {
|
|||||||
|
|
||||||
void Player::deserialize(const dv::value& src) {
|
void Player::deserialize(const dv::value& src) {
|
||||||
src.at("id").get(id);
|
src.at("id").get(id);
|
||||||
|
src.at("name").get(name);
|
||||||
|
|
||||||
const auto& posarr = src["position"];
|
const auto& posarr = src["position"];
|
||||||
|
|
||||||
|
|||||||
@ -42,6 +42,7 @@ struct CursorSelection {
|
|||||||
class Player : public Serializable {
|
class Player : public Serializable {
|
||||||
Level* level;
|
Level* level;
|
||||||
int64_t id;
|
int64_t id;
|
||||||
|
std::string name;
|
||||||
float speed;
|
float speed;
|
||||||
int chosenSlot;
|
int chosenSlot;
|
||||||
glm::vec3 position;
|
glm::vec3 position;
|
||||||
@ -63,6 +64,7 @@ public:
|
|||||||
Player(
|
Player(
|
||||||
Level* level,
|
Level* level,
|
||||||
int64_t id,
|
int64_t id,
|
||||||
|
const std::string& name,
|
||||||
glm::vec3 position,
|
glm::vec3 position,
|
||||||
float speed,
|
float speed,
|
||||||
std::shared_ptr<Inventory> inv,
|
std::shared_ptr<Inventory> inv,
|
||||||
@ -100,9 +102,12 @@ public:
|
|||||||
|
|
||||||
entityid_t getSelectedEntity() const;
|
entityid_t getSelectedEntity() const;
|
||||||
|
|
||||||
|
void setName(const std::string& name);
|
||||||
|
const std::string& getName() const;
|
||||||
|
|
||||||
const std::shared_ptr<Inventory>& getInventory() const;
|
const std::shared_ptr<Inventory>& getInventory() const;
|
||||||
|
|
||||||
glm::vec3 getPosition() const {
|
const glm::vec3& getPosition() const {
|
||||||
return position;
|
return position;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -23,6 +23,7 @@ Player* Players::create() {
|
|||||||
auto playerPtr = std::make_unique<Player>(
|
auto playerPtr = std::make_unique<Player>(
|
||||||
level,
|
level,
|
||||||
level->getWorld()->getInfo().nextPlayerId++,
|
level->getWorld()->getInfo().nextPlayerId++,
|
||||||
|
"",
|
||||||
glm::vec3(0, DEF_PLAYER_Y, 0),
|
glm::vec3(0, DEF_PLAYER_Y, 0),
|
||||||
DEF_PLAYER_SPEED,
|
DEF_PLAYER_SPEED,
|
||||||
level->inventories->create(DEF_PLAYER_INVENTORY_SIZE),
|
level->inventories->create(DEF_PLAYER_INVENTORY_SIZE),
|
||||||
@ -53,6 +54,7 @@ void Players::deserialize(const dv::value& src) {
|
|||||||
auto playerPtr = std::make_unique<Player>(
|
auto playerPtr = std::make_unique<Player>(
|
||||||
level,
|
level,
|
||||||
0,
|
0,
|
||||||
|
"",
|
||||||
glm::vec3(0, DEF_PLAYER_Y, 0),
|
glm::vec3(0, DEF_PLAYER_Y, 0),
|
||||||
DEF_PLAYER_SPEED,
|
DEF_PLAYER_SPEED,
|
||||||
level->inventories->create(DEF_PLAYER_INVENTORY_SIZE),
|
level->inventories->create(DEF_PLAYER_INVENTORY_SIZE),
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user