#pragma once #include #include "Texture.h" #include "TextureManager.h" class Building { public: Building(const std::string& filePath, const Vector2f& position, const Rectf& boundingBox, TextureManager* pTextureManager); ~Building() = default; void Draw() const; void Update(float dt, const Rectf& objectBoundingBox); void SetOnEnterHitbox(std::function onEnterHitbox); private: bool IsObjectInHitbox(const Rectf& objectBoundingBox) const; Texture* m_Texture; Vector2f m_Position; Vector2f m_Size; Rectf m_BoundingBox; std::function m_OnEnterHitbox; bool m_IsPlayerInHitbox{ false }; bool m_DidPlayerEnterHitbox{ false }; };