#pragma once

typedef struct Boss boss_t;

#include "game.h"
#include "util.h"

#define BOSS_WIDTH  12 * SCALE
#define BOSS_HEIGHT 12 * SCALE
#define BOSS_SPEED 0.5
#define BOSS_FLOAT_TIME 80
#define BOSS_RANGE 6 * TILE_WIDTH

typedef enum {
  BOSS_TEST,
} boss_e;

struct Boss {
  pos_t pos;
  boss_e type;
  int dir;
  int float_timer;
  bool is_angry;
};

boss_t *boss_create(pos_t pos, boss_e type);
void boss_update(boss_t *boss, game_t *game);
void boss_draw(boss_t *boss, game_t *game);
void boss_kill(boss_t *boss, game_t *game);
void boss_free(boss_t *boss);
