RegisterTypesLobbyPacks.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /*
  2. * RegisterTypesLobbyPacks.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 "../networkPacks/PacksForLobby.h"
  12. #include "../gameState/CGameState.h"
  13. #include "../campaign/CampaignState.h"
  14. #include "../mapping/CMapInfo.h"
  15. #include "../rmg/CMapGenOptions.h"
  16. #include "../gameState/TavernHeroesPool.h"
  17. #include "../gameState/CGameStateCampaign.h"
  18. #include "../mapping/CMap.h"
  19. #include "../TerrainHandler.h"
  20. #include "../RiverHandler.h"
  21. #include "../RoadHandler.h"
  22. VCMI_LIB_NAMESPACE_BEGIN
  23. template<typename Serializer>
  24. void registerTypesLobbyPacks(Serializer &s)
  25. {
  26. s.template registerType<CPack, CPackForLobby>();
  27. s.template registerType<CPackForLobby, CLobbyPackToPropagate>();
  28. s.template registerType<CPackForLobby, CLobbyPackToServer>();
  29. // Any client can sent
  30. s.template registerType<CLobbyPackToPropagate, LobbyClientConnected>();
  31. s.template registerType<CLobbyPackToPropagate, LobbyClientDisconnected>();
  32. s.template registerType<CLobbyPackToPropagate, LobbyChatMessage>();
  33. // Only host client send
  34. s.template registerType<CLobbyPackToPropagate, LobbyGuiAction>();
  35. s.template registerType<CLobbyPackToPropagate, LobbyLoadProgress>();
  36. s.template registerType<CLobbyPackToPropagate, LobbyRestartGame>();
  37. s.template registerType<CLobbyPackToPropagate, LobbyStartGame>();
  38. s.template registerType<CLobbyPackToPropagate, LobbyChangeHost>();
  39. // Only server send
  40. s.template registerType<CLobbyPackToPropagate, LobbyUpdateState>();
  41. s.template registerType<CLobbyPackToPropagate, LobbyShowMessage>();
  42. // For client with permissions
  43. s.template registerType<CLobbyPackToServer, LobbyChangePlayerOption>();
  44. // Only for host client
  45. s.template registerType<CLobbyPackToServer, LobbySetMap>();
  46. s.template registerType<CLobbyPackToServer, LobbySetCampaign>();
  47. s.template registerType<CLobbyPackToServer, LobbySetCampaignMap>();
  48. s.template registerType<CLobbyPackToServer, LobbySetCampaignBonus>();
  49. s.template registerType<CLobbyPackToServer, LobbySetPlayer>();
  50. s.template registerType<CLobbyPackToServer, LobbySetPlayerName>();
  51. s.template registerType<CLobbyPackToServer, LobbySetTurnTime>();
  52. s.template registerType<CLobbyPackToServer, LobbySetSimturns>();
  53. s.template registerType<CLobbyPackToServer, LobbySetDifficulty>();
  54. s.template registerType<CLobbyPackToServer, LobbyForceSetPlayer>();
  55. s.template registerType<CLobbyPackToServer, LobbySetExtraOptions>();
  56. }
  57. VCMI_LIB_NAMESPACE_END