#pragma once

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

#include "component_goodies.h"

#define COMPONENT_HEART_CONCURRENT_USES_MEDIUM 2
#define COMPONENT_HEART_CONCURRENT_USES_HEAVY 5

typedef enum HeartState
{
	HEART_STATE_LIGHT,
	HEART_STATE_MEDIUM,
	HEART_STATE_HEAVY,
} HeartState;

typedef struct ComponentHeart
{
	ECSComponent component;
	u32 multiplier;
	u32 uses;
	u32 concurrentUses;
	HeartState state;
} ComponentHeart;

void component_heart_tick(ComponentHeart* self, ECS* ecs);

static const ECSComponentInfo COMPONENT_HEART_INFO = 
{
	.system = 
	{
		.functions = 
		{ 
			NULL,
			NULL, 
			(ECSFunction)component_heart_tick,
			NULL
		}
	},
	.type = ECS_COMPONENT_HEART,
	.size = sizeof(ComponentHeart)
};


