#pragma once #include "../../entity/utility/entity_timer.h" typedef struct ComponentDeleteOnTimer { Component component; EntityID timerID; } ComponentDeleteOnTimer; void component_delete_on_timer_init(ComponentDeleteOnTimer* self, ECS* ecs, s32 value); void component_delete_on_timer_add(ComponentDeleteOnTimer* self, ECS* ecs); void component_delete_on_timer_delete(ComponentDeleteOnTimer* self, ECS* ecs); void component_delete_on_timer_tick(ComponentDeleteOnTimer* self, ECS* ecs); static const ComponentInfo COMPONENT_DELETE_ON_TIMER_INFO = { .system = { .functions = { (ECSFunction)component_delete_on_timer_add, (ECSFunction)component_delete_on_timer_delete, (ECSFunction)component_delete_on_timer_tick, NULL, NULL, } }, .type = COMPONENT_DELETE_ON_TIMER, .size = sizeof(ComponentDeleteOnTimer) };