/** @file /world/world_handler.h Modul, ktery resi patricnou inicializaci serveroveho a klientskeho modulu World na zaklade zprav obdrzenych z MSG systemu. @author Petr Wolf */ #ifndef WORLD_WORLD_HANDLER #define WORLD_WORLD_HANDLER #include "common/Msg.h" #include "common/mm.h" #include "world/world_client.h" #include "world/world_server.h" namespace World{ /** Handler pro zpravy modulu */ RVAL WORLD_HANDLER_MSG_HANDLER(MESSAGE_ID mid, SENDER s, PARAM p); /// Modul starajici se inicializaci a uklid po modulech WORLD_SERVER a WORLD_CLIENT class TWorldHandler { private: /// rezim hry GAME_MODE game_mode; /// prijem zprav TMessageTransceiver transceiver; /// pristup do struktur z msg handleru friend RVAL WORLD_HANDLER_MSG_HANDLER(MESSAGE_ID mid, SENDER s, PARAM p); /// pristup do struktur z msg handleru friend RVAL WORLD_CLIENT_MSG_HANDLER(MESSAGE_ID mid, SENDER s, PARAM p); public: /// Implicitni konstruktor modulu TWorldHandler(); /// Destruktor modulu ~TWorldHandler(); /// Globalni funkce po inicializovani message handleru static void initWorldHandler(); /// Globalni funkce pro zniceni a uklid modulu static void destroyWorldHandler(); }; /** Globalni promenna, pro primy pristup k serverovemu modulu World */ extern TWorldHandler * world_handler; /// Hromadna destrukce vsech modulu ve WORLDu extern void destroyWorldModules(); /// Hromadna inicializace vsech modulu ve WORLDu extern void initWorldModules(); }//namespace #endif /*****************************************************************************/