From 3c4ac70348db5375118d1e714a6d4681c3cfcd05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Blot?= Date: Sun, 19 Mar 2017 13:18:52 +0100 Subject: Refactor Game class (part 2) (#5422) * showPauseMenu is now part of game * remove many flags parameters passed to game functions, use the member. * rename VolatileRunFlags to GameUIFlags (this will permit to share structure with client and CSM * updatePointedThing: remove pointer ref, we already have the pointer in rundata * move some attributes outside of VolatileRunFlags after renaming, to game class * rename statustext to m_statustext * make some const variables static * All those changes permit to reduce a little bit function class cost and will permit to interface CSM with some interesting Game flags * Expose GameUIFlags to client * Client now have GameUIFlags parameter and setters for other classes * Fix minimap show/hide in Lua because we now have access to the real flag --- src/client.h | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/client.h') diff --git a/src/client.h b/src/client.h index fc1cbe310..b1310424d 100644 --- a/src/client.h +++ b/src/client.h @@ -307,6 +307,7 @@ private: }; class ClientScripting; +class GameUIFlags; class Client : public con::PeerHandler, public InventoryManager, public IGameDef { @@ -326,7 +327,8 @@ public: IWritableNodeDefManager *nodedef, ISoundManager *sound, MtEventManager *event, - bool ipv6 + bool ipv6, + GameUIFlags *game_ui_flags ); ~Client(); @@ -578,6 +580,13 @@ public: m_client_event_queue.push(event); } + void showGameChat(const bool show = true); + void showGameHud(const bool show = true); + void showMinimap(const bool show = true); + void showProfiler(const bool show = true); + void showGameFog(const bool show = true); + void showGameDebug(const bool show = true); + private: // Virtual methods from con::PeerHandler @@ -725,6 +734,7 @@ private: bool m_modding_enabled; UNORDERED_MAP m_mod_storages; float m_mod_storage_save_timer; + GameUIFlags *m_game_ui_flags; DISABLE_CLASS_COPY(Client); }; -- cgit v1.2.3