#pragma once

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

#include "../../entity/play/entity_goodie.h"

#define COMPONENT_ACTION_ON_DELETE_DROP_GOODIES_VELOCITY_MIN -25.0f
#define COMPONENT_ACTION_ON_DELETE_DROP_GOODIES_VELOCITY_MAX 25.0f
#define COMPONENT_ACTION_ON_DELETE_DROP_GOODIES_HEIGHT_MIN -25.0f
#define COMPONENT_ACTION_ON_DELETE_DROP_GOODIES_HEIGHT_MAX 25.0f

typedef struct ComponentActionOnDeleteDropGoodies
{
	ECSComponent component;
	u32 count;
} ComponentActionOnDeleteDropGoodies;

void component_action_on_delete_drop_goodies_init(ComponentActionOnDeleteDropGoodies* self, u32 count);
void component_action_on_delete_drop_goodies_delete(ComponentActionOnDeleteDropGoodies* self, ECS* ecs);

static const ECSComponentInfo COMPONENT_ACTION_ON_DELETE_DROP_GOODIES_INFO = 
{
	.system = 
	{
		.functions = 
		{ 
			NULL,
			(ECSFunction)component_action_on_delete_drop_goodies_delete,
			NULL,
			NULL
		}
	},
	.type = ECS_COMPONENT_ACTION_ON_DELETE_DROP_GOODIES,
	.size = sizeof(ComponentActionOnDeleteDropGoodies)
};


