| 123456789101112131415161718192021222324252627282930 |
- #pragma once
- #include "game/systems/picking_service.h"
- #include <memory>
- namespace Engine::Core {
- class World;
- using EntityID = unsigned int;
- } // namespace Engine::Core
- namespace Render::GL {
- class Camera;
- }
- class HoverTracker {
- public:
- HoverTracker(Game::Systems::PickingService *pickingService);
- auto update_hover(float sx, float sy, Engine::Core::World &world,
- const Render::GL::Camera &camera, int viewportWidth,
- int viewportHeight) -> Engine::Core::EntityID;
- [[nodiscard]] auto getLastHoveredEntity() const -> Engine::Core::EntityID {
- return m_hoveredEntityId;
- }
- private:
- Game::Systems::PickingService *m_pickingService;
- Engine::Core::EntityID m_hoveredEntityId = 0;
- };
|