#pragma once

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

#define GAME_ENTITY_TYPE_COUNT GAME_ENTITY_PICKUP + 1
typedef enum GameEntityType
{
	GAME_ENTITY_PLAYER,
	GAME_ENTITY_PLAYER_PROJECTILE,
	GAME_ENTITY_ENEMY,
	GAME_ENTITY_ENEMY_PROJECTILE,
	GAME_ENTITY_PICKUP
} GameEntityType;

typedef struct ComponentGameEntityType
{
	ECSComponent component;
	GameEntityType type;
} ComponentGameEntityType;

void component_game_entity_type_init(ComponentGameEntityType* self, GameEntityType type);

static const ECSComponentInfo COMPONENT_GAME_ENTITY_TYPE_INFO = 
{
	.system = 
	{
		.functions = 
		{ 
			NULL,
			NULL, 
			NULL,
			NULL
		}
	},
	.type = ECS_COMPONENT_GAME_ENTITY_TYPE,
	.size = sizeof(ComponentGameEntityType)
};


