#pragma once

#include <game/gamemanager.hpp>
#include <object/entity.hpp>
#include <renderer/texture.hpp>
#include <renderer/font.hpp>
#include <object/sound.hpp>

namespace Game::AGame {
    GAME_ENTITY(Enemy)
    public:
        void onCollisionEnter(Object::Entity* other) override;
        bool hasAdjacentEnemy();
    private:
        float mMoveSpeedX = 0.f;
        float mMoveSpeedY = 0.f;
        float mDirectionChangeTimer = 0.f;
        float mShoreSpawnCooldown = 0.f;
    END_GAME_ENTITY()
}