LobbyClientNetPackVisitors.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /*
  2. * ClientNetPackVisitors.h, part of VCMI engine
  3. *
  4. * Authors: listed in file AUTHORS in main folder
  5. *
  6. * License: GNU General Public License v2.0 or later
  7. * Full text of license available in license.txt file, in main folder
  8. *
  9. */
  10. #pragma once
  11. #include "../lib/networkPacks/NetPackVisitor.h"
  12. #include "../lib/networkPacks/PacksForLobby.h"
  13. class CClient;
  14. class CLobbyScreen;
  15. VCMI_LIB_NAMESPACE_BEGIN
  16. class CGameState;
  17. VCMI_LIB_NAMESPACE_END
  18. class ApplyOnLobbyHandlerNetPackVisitor : public VCMI_LIB_WRAP_NAMESPACE(ICPackVisitor)
  19. {
  20. private:
  21. CServerHandler & handler;
  22. bool result;
  23. public:
  24. ApplyOnLobbyHandlerNetPackVisitor(CServerHandler & handler)
  25. :handler(handler), result(true)
  26. {
  27. }
  28. bool getResult() const { return result; }
  29. virtual void visitLobbyClientConnected(LobbyClientConnected & pack) override;
  30. virtual void visitLobbyClientDisconnected(LobbyClientDisconnected & pack) override;
  31. virtual void visitLobbyRestartGame(LobbyRestartGame & pack) override;
  32. virtual void visitLobbyStartGame(LobbyStartGame & pack) override;
  33. virtual void visitLobbyUpdateState(LobbyUpdateState & pack) override;
  34. };
  35. class ApplyOnLobbyScreenNetPackVisitor : public VCMI_LIB_WRAP_NAMESPACE(ICPackVisitor)
  36. {
  37. private:
  38. CServerHandler & handler;
  39. CLobbyScreen * lobby;
  40. public:
  41. ApplyOnLobbyScreenNetPackVisitor(CServerHandler & handler, CLobbyScreen * lobby)
  42. :handler(handler), lobby(lobby)
  43. {
  44. }
  45. virtual void visitLobbyClientDisconnected(LobbyClientDisconnected & pack) override;
  46. virtual void visitLobbyChatMessage(LobbyChatMessage & pack) override;
  47. virtual void visitLobbyGuiAction(LobbyGuiAction & pack) override;
  48. virtual void visitLobbyStartGame(LobbyStartGame & pack) override;
  49. virtual void visitLobbyLoadProgress(LobbyLoadProgress & pack) override;
  50. virtual void visitLobbyUpdateState(LobbyUpdateState & pack) override;
  51. virtual void visitLobbyShowMessage(LobbyShowMessage & pack) override;
  52. };