#include #include #include #include "storage.h" typedef struct { int x; int y; } transform_t; void printTransform(transform_t *t) { printf("Transform { .x = %i, .y = %i }\n", t->x, t->y); } typedef struct { float width; float height; int collisionsCount; } collider_t; void initStorage(storage_t *storage) { storage->componentsStored = 0; storage->objectsStored = 0; storage->objects = (component_pair_t *) malloc(MAX_COMPONENTS * sizeof(component_pair_t)); REGISTER_COMPONENT(storage, transform_t); REGISTER_COMPONENT(storage, collider_t); } void loadScene(storage_t *storage) { entity_t e1 = createEntity(storage); transform_t *t1 = GET_COMPONENT(storage, transform_t, e1); t1->x = 13; t1->y = 37; printTransform(t1); entity_t e2 = createEntity(storage); transform_t *t2 = GET_COMPONENT(storage, transform_t, e2); t2->x = 14; t2->y = 88; printTransform(t2); } int main() { storage_t storage; initStorage(&storage); loadScene(&storage); return 0; }