#pragma once

typedef struct Effect effect_t;

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

typedef enum {
  EFFECT_FALL,
  EFFECT_BREAK,
  EFFECT_PARTICLE,
} effect_e;

struct Effect {
  effect_e type;
  pos_t pos;
  fz_timer_t *timer;
  int count;
};

effect_t *effect_create(pos_t pos, effect_e type);
void effect_update(effect_t *effect, game_t *game);
void effect_draw(effect_t *effect, game_t *game);
void effect_free(effect_t *effect);

void effect_play(pos_t pos, effect_e type, game_t *game);
