mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
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
This commit is contained in:
parent
2e3778ec0c
commit
3c4ac70348
6 changed files with 285 additions and 266 deletions
|
@ -46,6 +46,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||
#include "serialization.h"
|
||||
#include "guiscalingfilter.h"
|
||||
#include "script/clientscripting.h"
|
||||
#include "game.h"
|
||||
|
||||
extern gui::IGUIEnvironment* guienv;
|
||||
|
||||
|
@ -198,7 +199,8 @@ Client::Client(
|
|||
IWritableNodeDefManager *nodedef,
|
||||
ISoundManager *sound,
|
||||
MtEventManager *event,
|
||||
bool ipv6
|
||||
bool ipv6,
|
||||
GameUIFlags *game_ui_flags
|
||||
):
|
||||
m_packetcounter_timer(0.0),
|
||||
m_connection_reinit_timer(0.1),
|
||||
|
@ -250,7 +252,8 @@ Client::Client(
|
|||
m_state(LC_Created),
|
||||
m_localdb(NULL),
|
||||
m_script(NULL),
|
||||
m_mod_storage_save_timer(10.0f)
|
||||
m_mod_storage_save_timer(10.0f),
|
||||
m_game_ui_flags(game_ui_flags)
|
||||
{
|
||||
// Add local player
|
||||
m_env.setLocalPlayer(new LocalPlayer(this, playername));
|
||||
|
@ -1935,6 +1938,36 @@ bool Client::shouldShowMinimap() const
|
|||
return !m_minimap_disabled_by_server;
|
||||
}
|
||||
|
||||
void Client::showGameChat(const bool show)
|
||||
{
|
||||
m_game_ui_flags->show_chat = show;
|
||||
}
|
||||
|
||||
void Client::showGameHud(const bool show)
|
||||
{
|
||||
m_game_ui_flags->show_hud = show;
|
||||
}
|
||||
|
||||
void Client::showMinimap(const bool show)
|
||||
{
|
||||
m_game_ui_flags->show_minimap = show;
|
||||
}
|
||||
|
||||
void Client::showProfiler(const bool show)
|
||||
{
|
||||
m_game_ui_flags->show_profiler_graph = show;
|
||||
}
|
||||
|
||||
void Client::showGameFog(const bool show)
|
||||
{
|
||||
m_game_ui_flags->force_fog_off = !show;
|
||||
}
|
||||
|
||||
void Client::showGameDebug(const bool show)
|
||||
{
|
||||
m_game_ui_flags->show_debug = show;
|
||||
}
|
||||
|
||||
// IGameDef interface
|
||||
// Under envlock
|
||||
IItemDefManager* Client::getItemDefManager()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue