#pragma once #include "Texture.h" #include "Player.h" #include class Hud { public: Hud(const Point2f& topLeft, int totalPowerUps); ~Hud(); void Draw() const; void Update(float elapsedSec, const std::vector& playersInfo, const Level::Info& levelInfo); private: float m_Score; Texture m_Texture; Point2f m_ItemsBarPos; Point2f m_ItemsBarIconsPos; Point2f m_LivesTextPos; Point2f m_BombsTextPos; Point2f m_RopesTextPos; Point2f m_ScoreBarPos; Point2f m_ScoreTextPos; Point2f m_TimerBarPos; Point2f m_TimerTextPos; Point2f m_LevelBarPos; Point2f m_LevelTextPos; const Rectf m_ItemsBarSrc; const Rectf m_ItemsIconsSrc; const Rectf m_ScoreBarSrc; const Rectf m_TimerBarSrc; const Rectf m_LevelBarSrc; const std::unordered_map m_FontTextures; const std::unordered_map m_FontOutlineTextures; std::string m_LivesStr; std::string m_BombsStr; std::string m_RopesStr; std::string m_ScoreStr; std::string m_TimerStr; std::string m_LevelStr; void DrawFont(Point2f pos, const std::string& text) const; };