Continued work on layout graph

This commit is contained in:
2024-10-27 17:50:48 +03:00
parent 6eb584f73c
commit ae3d86d391
5 changed files with 194 additions and 71 deletions

View File

@@ -0,0 +1,35 @@
#include <core/os/memory.h>
#include <core/io/config_file.h>
class BuildingLayoutGraph {
static BuildingLayoutGraph *singleton;
BuildingLayoutGraph();
ConfigFile config;
Array public_rooms;
Array private_rooms;
flecs::entity create_graph_entity(const String &base_path,
const String &entity_type);
public:
virtual ~BuildingLayoutGraph();
static BuildingLayoutGraph *get_singleton()
{
if (!singleton)
singleton = memnew(BuildingLayoutGraph());
return singleton;
}
static void cleanup()
{
memdelete(singleton);
singleton = nullptr;
}
void get_room_data(int id, Array &result);
const Array &get_private_rooms() const;
const Array &get_public_rooms() const;
void create_zone(const String &base_path, int zone_type);
void create_unit(const String &base_path);
void create_room(const String &base_path, int id);
void destroy_graph_entity(const String &path);
};