You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.0 KiB
43 lines
1.0 KiB
#include "save.hpp"
|
|
#include <fstream>
|
|
#include "dbc.hpp"
|
|
#include <fmt/core.h>
|
|
#include "config.hpp"
|
|
#include <filesystem>
|
|
|
|
using namespace components;
|
|
using namespace fmt;
|
|
|
|
template<typename CompT>
|
|
inline void extract(DinkyECS::World &world, std::map<DinkyECS::Entity, CompT> &into) {
|
|
auto from_world = world.entity_map_for<CompT>();
|
|
for(auto [entity, value] : from_world) {
|
|
into[entity] = std::any_cast<CompT>(value);
|
|
}
|
|
}
|
|
|
|
void save::to_file(fs::path path, DinkyECS::World &world, Map &map) {
|
|
(void)path;
|
|
(void)world;
|
|
(void)map;
|
|
}
|
|
|
|
|
|
void save::from_file(fs::path path, DinkyECS::World &world_out, Map &map_out) {
|
|
(void)path;
|
|
(void)world_out;
|
|
(void)map_out;
|
|
}
|
|
|
|
void save::load_configs(DinkyECS::World &world) {
|
|
Config game("./assets/config.json");
|
|
Config enemies("./assets/enemies.json");
|
|
Config items("./assets/items.json");
|
|
Config tiles("./assets/tiles.json");
|
|
Config devices("./assets/devices.json");
|
|
Config bosses("./assets/bosses.json");
|
|
|
|
world.set_the<GameConfig>({
|
|
game, enemies, items, tiles, devices, bosses
|
|
});
|
|
}
|
|
|