]> git.lizzy.rs Git - dragonfireclient.git/commitdiff
Record player existence in dymmy database.
authorLars <larsh@apache.org>
Sun, 20 Sep 2020 19:51:12 +0000 (12:51 -0700)
committerlhofhansl <larsh@apache.org>
Mon, 21 Sep 2020 02:16:14 +0000 (19:16 -0700)
src/database/database-dummy.cpp
src/database/database-dummy.h

index a3d8cd5791c7acbcca66a67fe905220ebad33137..b56f341c5bbc63636739594da59dff2a287fa60f 100644 (file)
@@ -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);
+       }
+}
index 2d87d58f6d7bf84cd3f8e29a15381c0ca309a315..b69919f84512e9fcdd38e1592e25e7c58e38daf0 100644 (file)
@@ -32,14 +32,15 @@ class Database_Dummy : public MapDatabase, public PlayerDatabase
        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;
 };