propogate player smart-pointer usage
This commit is contained in:
parent
7c6b52cb2a
commit
0b31a19f47
@ -559,11 +559,11 @@ bool WorldFiles::readWorldInfo(World* world) {
|
||||
return true;
|
||||
}
|
||||
|
||||
void WorldFiles::writePlayer(Player* player) {
|
||||
void WorldFiles::writePlayer(std::shared_ptr<Player> player) {
|
||||
files::write_json(getPlayerFile(), player->serialize().release());
|
||||
}
|
||||
|
||||
bool WorldFiles::readPlayer(Player* player) {
|
||||
bool WorldFiles::readPlayer(std::shared_ptr<Player> player) {
|
||||
fs::path file = getPlayerFile();
|
||||
if (!fs::is_regular_file(file)) {
|
||||
std::cerr << "warning: player.json does not exists" << std::endl;
|
||||
|
||||
@ -143,13 +143,13 @@ public:
|
||||
chunk_inventories_map fetchInventories(int x, int z);
|
||||
|
||||
bool readWorldInfo(World* world);
|
||||
bool readPlayer(Player* player);
|
||||
bool readPlayer(std::shared_ptr<Player> player);
|
||||
|
||||
void writeRegion(int x, int y,
|
||||
WorldRegion* entry,
|
||||
fs::path file,
|
||||
int layer);
|
||||
void writePlayer(Player* player);
|
||||
void writePlayer(std::shared_ptr<Player> player);
|
||||
/* @param world world info to save (nullable) */
|
||||
void write(const World* world, const Content* content);
|
||||
void writePacks(const World* world);
|
||||
|
||||
@ -645,6 +645,6 @@ void Hud::setPause(bool pause) {
|
||||
menu->setVisible(pause);
|
||||
}
|
||||
|
||||
Player* Hud::getPlayer() const {
|
||||
return frontend->getLevel()->player.get();
|
||||
std::shared_ptr<Player> Hud::getPlayer() const {
|
||||
return frontend->getLevel()->player;
|
||||
}
|
||||
|
||||
@ -118,7 +118,7 @@ public:
|
||||
void remove(HudElement& element);
|
||||
void remove(std::shared_ptr<gui::UINode> node);
|
||||
|
||||
Player* getPlayer() const;
|
||||
std::shared_ptr<Player> getPlayer() const;
|
||||
};
|
||||
|
||||
#endif /* SRC_HUD_H_ */
|
||||
|
||||
@ -61,7 +61,7 @@ void World::write(Level* level) {
|
||||
}
|
||||
|
||||
wfile->write(this, content);
|
||||
wfile->writePlayer(level->player.get());
|
||||
wfile->writePlayer(level->player);
|
||||
}
|
||||
|
||||
Level* World::create(std::string name,
|
||||
@ -89,7 +89,7 @@ Level* World::load(fs::path directory,
|
||||
}
|
||||
|
||||
auto level = new Level(world.get(), content, settings);
|
||||
wfile->readPlayer(level->player.get());
|
||||
wfile->readPlayer(level->player);
|
||||
world.release();
|
||||
return level;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user