#ifndef OPENMW_PROCESSORGAMESETTINGS_HPP #define OPENMW_PROCESSORGAMESETTINGS_HPP #include "apps/openmw/mwbase/environment.hpp" #include "apps/openmw/mwgui/windowmanagerimp.hpp" #include "../PlayerProcessor.hpp" namespace mwmp { class ProcessorGameSettings : public PlayerProcessor { public: ProcessorGameSettings() { BPP_INIT(ID_GAME_SETTINGS) } virtual void Do(PlayerPacket &packet, BasePlayer *player) { if (isLocal()) { if (MWBase::Environment::get().getWindowManager()->isGuiMode()) { if (MWBase::Environment::get().getWindowManager()->getMode() == MWGui::GM_Console && !player->consoleAllowed) { MWBase::Environment::get().getWindowManager()->popGuiMode(); } else if ((MWBase::Environment::get().getWindowManager()->getMode() == MWGui::GM_Rest || MWBase::Environment::get().getWindowManager()->getMode() == MWGui::GM_RestBed) && (!player->restAllowed || !player->waitAllowed)) { MWBase::Environment::get().getWindowManager()->popGuiMode(); } } } } }; } #endif //OPENMW_PROCESSORGAMESETTINGS_HPP