#include "modules/components.h" ECS_COMPONENT_DECLARE(Chunk); ECS_COMPONENT_DECLARE(Position); ECS_COMPONENT_DECLARE(Vector2D); ECS_COMPONENT_DECLARE(Drawable); ECS_COMPONENT_DECLARE(Input); ECS_COMPONENT_DECLARE(Velocity); ECS_COMPONENT_DECLARE(ClientInfo); ECS_COMPONENT_DECLARE(Health); ECS_COMPONENT_DECLARE(Classify); ECS_COMPONENT_DECLARE(Vehicle); ECS_COMPONENT_DECLARE(IsInVehicle); ECS_COMPONENT_DECLARE(ItemDrop); ECS_COMPONENT_DECLARE(Inventory); ECS_TAG_DECLARE(EcsActor); ECS_TAG_DECLARE(EcsDemoNPC); ECS_TYPE_DECLARE(Player); ECS_TYPE_DECLARE(Movement); ECS_TYPE_DECLARE(Walking); ECS_TYPE_DECLARE(Flying); // NOTE(zaklaus): @1 DECLARE void ComponentsImport(ecs_world_t *ecs) { ECS_MODULE(ecs, Components); ECS_IMPORT(ecs, FlecsMeta); ECS_META_DEFINE(ecs, Position); ECS_META_DEFINE(ecs, Chunk); ECS_META_DEFINE(ecs, Vector2D); ECS_META_DEFINE(ecs, Drawable); ECS_META_DEFINE(ecs, ClientInfo); ECS_META_DEFINE(ecs, Velocity); ECS_META_DEFINE(ecs, Input); ECS_META_DEFINE(ecs, Health); ECS_META_DEFINE(ecs, Classify); ECS_META_DEFINE(ecs, Vehicle); ECS_COMPONENT_DEFINE(ecs, IsInVehicle); ECS_COMPONENT_DEFINE(ecs, ItemDrop); ECS_COMPONENT_DEFINE(ecs, Inventory); ECS_TAG_DEFINE(ecs, Walking); ECS_TAG_DEFINE(ecs, Flying); ECS_TAG_DEFINE(ecs, EcsActor); ECS_TAG_DEFINE(ecs, EcsDemoNPC); ECS_PREFAB(ecs, Base, Position, Velocity, Input, EcsActor); ECS_TYPE_DEFINE(ecs, Movement, Walking, Flying); ECS_SET_COMPONENT(Chunk); ECS_SET_COMPONENT(Vector2D); ECS_SET_COMPONENT(Position); ECS_SET_COMPONENT(Drawable); ECS_SET_COMPONENT(Velocity); ECS_SET_COMPONENT(ClientInfo); ECS_SET_COMPONENT(Input); ECS_SET_COMPONENT(Health); ECS_SET_COMPONENT(Classify); ECS_SET_COMPONENT(Vehicle); ECS_SET_COMPONENT(IsInVehicle); ECS_SET_COMPONENT(ItemDrop); ECS_SET_COMPONENT(Inventory); ECS_SET_ENTITY(Walking); ECS_SET_ENTITY(Flying); ECS_SET_ENTITY(EcsActor); ECS_SET_ENTITY(EcsDemoNPC); ECS_SET_TYPE(Movement); // NOTE(zaklaus): @2 SET }