#pragma once #include "DB.h" class Enemy; class Object; class Location; class GameData { public: static GameData & get_instance(); private: DB db { "kerkersendraken.db" }; public: Enemy * create_enemy(const std::string & name) const; Object * create_object(const std::string & name) const; Location * 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; private: std::vector random_names(const std::string & table, unsigned count) const; };