#pragma once

#include "../../component/entity/component_enemy.h"
#include "../../ecs_component.h"
#include "../../component/stat/component_game_entity_type.h"
#include "../../component/action/component_action_on_height_damage_disable.h"

#define CRUMBLER_IS_SOLID false
#define CRUMBLER_IS_BOUNCE false
#define CRUMBLER_IS_AFFECTED_BY_GRAVITY true
#define CRUMBLER_FRICTION 0
#define CRUMBLER_VELOCITY_MAX 0
#define CRUMBLER_HEALTH_MAX 10
#define CRUMBLER_GOODIE_COUNT 5
#define CRUMBLER_HEIGHT COMPONENT_GAME_OBJECT_HEIGHT_MAX
#define CRUMBLER_GRAVITY -0.1f
#define CRUMBLER_LEVEL_GRAVITY_MULTIPLIER -0.01f
#define CRUMBLER_GRAVITY_MAX -0.2f
#define CRUMBLER_DAMAGE_HEIGHT 100.0f

static const ivec2 CRUMBLER_FRAME_SIZE = {512, 512};
static const ivec2 CRUMBLER_ATLAS_SIZE = {1, 1};
static const vec2 CRUMBLER_SIZE = {200.0f, 125.0f};
static const vec2 CRUMBLER_PHYSICS_SIZE = {150.0f, 50.0f};

void entity_crumbler_init(ECS* ecs, u32 id, vec3 position, u32 level, Vector* entityList);
