#pragma once #include "DB.h" class Enemy; class Object; class Location; class GameData { public: static GameData & get_instance(); private: DB db { "kerkersendraken.db" }; public: std::unique_ptr create_enemy(const std::string & name) const; std::unique_ptr create_object(const std::string & name) const; std::unique_ptr create_location(const std::string & name) const; public: void leaderbord_add(const std::string & name, unsigned int gold); void leaderbord_print() const; public: std::vector random_objects(unsigned count = 1) const; std::vector random_locations(unsigned count = 1) const; std::vector random_enemies(unsigned count = 1) const; std::string random_object() const; std::string random_location() const; std::string random_enemy() const; private: std::vector random_names(const std::string & table, unsigned count) const; };