1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-08-06 17:41:04 +00:00

GameUI refactor (part 4/X): Move Game::guitext_status, Game::m_statustext, GameRunData::statustext_time to GameUI class

Other enhancements:
* Simplify setStatusText to showStatusText, as it shows the label too (preventing almost every setStatusText to call setStatusTextTime(0)
* Add unittests
This commit is contained in:
Loic Blot 2018-01-04 21:35:26 +01:00 committed by Loïc Blot
parent aab3b18e4b
commit fe510d90c1
4 changed files with 102 additions and 104 deletions

View file

@ -33,6 +33,9 @@ class GameUI
// Temporary between coding time to move things here
friend class Game;
// Permit unittests to access members directly
friend class TestGameUI;
public:
GameUI() = default;
~GameUI() = default;
@ -51,25 +54,37 @@ public:
void init();
void update(const RunStats &stats, Client *client, MapDrawControl *draw_control,
const CameraOrientation &cam, const PointedThing &pointed_old);
const CameraOrientation &cam, const PointedThing &pointed_old, float dtime);
void initFlags();
const Flags &getFlags() const { return m_flags; }
void showMinimap(bool show);
void setInfoText(const std::wstring &str) { m_infotext = str; }
void clearInfoText() { m_infotext.clear(); }
inline void setInfoText(const std::wstring &str) { m_infotext = str; }
inline void clearInfoText() { m_infotext.clear(); }
inline void showStatusText(const std::wstring &str)
{
m_statustext = str;
m_statustext_time = 0.0f;
}
inline void clearStatusText() { m_statustext.clear(); }
private:
Flags m_flags;
gui::IGUIStaticText *m_guitext; // First line of debug text
gui::IGUIStaticText *m_guitext2; // Second line of debug text
gui::IGUIStaticText *m_guitext_info; // At the middle of the screen
gui::IGUIStaticText *m_guitext = nullptr; // First line of debug text
gui::IGUIStaticText *m_guitext2 = nullptr; // Second line of debug text
gui::IGUIStaticText *m_guitext_info = nullptr; // At the middle of the screen
std::wstring m_infotext;
gui::IGUIStaticText *m_guitext_status = nullptr;
std::wstring m_statustext;
float m_statustext_time = 0.0f;
// @TODO future move
// gui::IGUIStaticText *m_guitext_status;
// gui::IGUIStaticText *m_guitext_chat; // Chat text
// gui::IGUIStaticText *m_guitext_profiler; // Profiler text
};