#pragma once #include "dinkyecs.hpp" #include "boss/ui.hpp" #include "lights.hpp" #include "map.hpp" #include #include "spatialmap.hpp" namespace components { struct Position; } namespace GameDB { struct Level { size_t index; DinkyECS::Entity player; std::shared_ptr map = nullptr; std::shared_ptr world = nullptr; std::shared_ptr lights = nullptr; std::shared_ptr collision = nullptr; }; Level& create_level(); void init(); Level ¤t_level(); std::shared_ptr current_world(); components::Position& player_position(); DinkyECS::Entity the_player(); std::shared_ptr clone_load_world(std::shared_ptr prev_world); void load_configs(DinkyECS::World &world); }