#pragma once

#include "../../../GAME_COMMON.h"
#include "../../ecs_entity.h"

#include "../component_physics.h"
#include "component_action_on_delete_drop_goodies.h"

#include "../../../../engine/rectangle.h"

typedef struct ComponentActionOnOutOfBoundsDelete
{
	ECSComponent component;
	Rectangle rectangle;
} ComponentActionOnOutOfBoundsDelete;

void component_action_on_out_of_bounds_delete_init(ComponentActionOnOutOfBoundsDelete* self, Rectangle rectangle);
void component_action_on_out_of_bounds_delete_tick(ComponentActionOnOutOfBoundsDelete* self, ECS* ecs);

static const ECSComponentInfo COMPONENT_ACTION_ON_OUT_OF_BOUNDS_DELETE_INFO = 
{
	.system = 
	{
		.functions = 
		{ 
			NULL,
			NULL, 
			(ECSFunction)component_action_on_out_of_bounds_delete_tick,
			NULL
		}
	},
	.type = ECS_COMPONENT_ACTION_ON_OUT_OF_BOUNDS_DELETE,
	.size = sizeof(ComponentActionOnOutOfBoundsDelete)
};


