#pragma once #include #include #include #include #include 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; bool mFollowingPlayer = false; static constexpr float FOLLOW_DISTANCE = 300.f; static constexpr float FOLLOW_SPEED = 35.f; END_GAME_ENTITY() }