diff options
author | Lars <larsh@apache.org> | 2020-09-20 12:51:12 -0700 |
---|---|---|
committer | lhofhansl <larsh@apache.org> | 2020-09-20 19:16:14 -0700 |
commit | 49117de47658cd6c885f88010c9328f8ce3e6e93 (patch) | |
tree | 3184d20de0f7620d98dccf5d34ae676bd4f25e8b | |
parent | 9ec75d77651c333eca3c5b46a3a56c8353fed464 (diff) | |
download | minetest-49117de47658cd6c885f88010c9328f8ce3e6e93.tar.gz minetest-49117de47658cd6c885f88010c9328f8ce3e6e93.tar.bz2 minetest-49117de47658cd6c885f88010c9328f8ce3e6e93.zip |
Record player existence in dymmy database.
-rw-r--r-- | src/database/database-dummy.cpp | 23 | ||||
-rw-r--r-- | src/database/database-dummy.h | 9 |
2 files changed, 28 insertions, 4 deletions
diff --git a/src/database/database-dummy.cpp b/src/database/database-dummy.cpp index a3d8cd579..b56f341c5 100644 --- a/src/database/database-dummy.cpp +++ b/src/database/database-dummy.cpp @@ -22,6 +22,7 @@ Dummy database class */ #include "database-dummy.h" +#include "remoteplayer.h" bool Database_Dummy::saveBlock(const v3s16 &pos, const std::string &data) @@ -57,3 +58,25 @@ void Database_Dummy::listAllLoadableBlocks(std::vector<v3s16> &dst) } } +void Database_Dummy::savePlayer(RemotePlayer *player) +{ + m_player_database.insert(player->getName()); +} + +bool Database_Dummy::loadPlayer(RemotePlayer *player, PlayerSAO *sao) +{ + return m_player_database.find(player->getName()) != m_player_database.end(); +} + +bool Database_Dummy::removePlayer(const std::string &name) +{ + m_player_database.erase(name); + return true; +} + +void Database_Dummy::listPlayers(std::vector<std::string> &res) +{ + for (const auto &player : m_player_database) { + res.emplace_back(player); + } +} diff --git a/src/database/database-dummy.h b/src/database/database-dummy.h index 2d87d58f6..b69919f84 100644 --- a/src/database/database-dummy.h +++ b/src/database/database-dummy.h @@ -32,14 +32,15 @@ public: bool deleteBlock(const v3s16 &pos); void listAllLoadableBlocks(std::vector<v3s16> &dst); - void savePlayer(RemotePlayer *player) {} - bool loadPlayer(RemotePlayer *player, PlayerSAO *sao) { return true; } - bool removePlayer(const std::string &name) { return true; } - void listPlayers(std::vector<std::string> &res) {} + void savePlayer(RemotePlayer *player); + bool loadPlayer(RemotePlayer *player, PlayerSAO *sao); + bool removePlayer(const std::string &name); + void listPlayers(std::vector<std::string> &res); void beginSave() {} void endSave() {} private: std::map<s64, std::string> m_database; + std::set<std::string> m_player_database; }; |