Files
streaming_world/tests/regions.cpp
2024-11-25 16:20:48 +03:00

36 lines
1.2 KiB
C++

#include "../src/modules/stream/ui/region_tree.h"
int main()
{
int i;
flecs::world ecs;
flecs::entity graph_base_e = ecs.entity("graph");
flecs::entity graph_e = ecs.entity("v1").child_of(graph_base_e);
flecs::entity grid_base_e = ecs.entity("grid");
flecs::entity grid_e = ecs.entity("v1").child_of(grid_base_e);
flecs::entity grid_floor_e = ecs.entity("floor_0").child_of(grid_e);
List<struct region> region_list;
struct region region;
region.region_et = graph_e.id();
region.rect = RegionRect2i(0, 0, 25, 25);
struct region_tree regions;
regions.region = region;
regions.dump(grid_floor_e);
flecs::entity zone1_e = ecs.entity("zone1").child_of(graph_e),
zone2_e = ecs.entity("zone2").child_of(graph_e),
zone3_e = ecs.entity("zone3").child_of(graph_e);
struct region region_data[] = {
{.region_et = zone1_e.id(), .rect = {0, 0, 1, 1}},
{.region_et = zone2_e.id(), .rect = {2, 2, 1, 1}},
{.region_et = zone3_e.id(), .rect = {4, 4, 1 ,1}}
};
for (i = 0; i < sizeof(region_data) / sizeof(region_data[0]); i++)
region_list.push_back(region_data[i]);
regions.split(region_list);
regions.dump(grid_floor_e);
regions.grow();
regions.dump(grid_floor_e);
return 0;
}