#pragma once

#include <vectors/vec2.h>
#include <render/atlas.hpp>
#include "enemy.hpp"

namespace game::entity {

class ShootingEnemy: public Enemy
{
    float health, reloadTime, cooldown, changeDirectionCooldown;
    b2Vec2 velocity;
    bool direction;

    render::sprite::Icon icon;

public:
    ShootingEnemy(Block *root, const vec2f &position, float health) noexcept;
    virtual ~ShootingEnemy();

    virtual void OnCollide(Entity *entity);

    virtual void Update() noexcept;
    virtual void Render() noexcept;

};

}
