2
0

NetworkLagPredictionTestVisitor.h 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /*
  2. * AntilagServer.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. /// Class that filters which client request to server can be predicted, at least partially
  13. class NetworkLagPredictionTestVisitor final : public ICPackVisitor
  14. {
  15. bool canBeAppliedValue = false;
  16. //void visitSaveGame(SaveGame & pack) override;
  17. //void visitGamePause(GamePause & pack) override;
  18. //void visitEndTurn(EndTurn & pack) override;
  19. //void visitDismissHero(DismissHero & pack) override;
  20. void visitMoveHero(MoveHero & pack) override
  21. {
  22. canBeAppliedValue = true;
  23. }
  24. //void visitCastleTeleportHero(CastleTeleportHero & pack) override;
  25. void visitArrangeStacks(ArrangeStacks & pack) override
  26. {
  27. canBeAppliedValue = true;
  28. }
  29. //void visitBulkMoveArmy(BulkMoveArmy & pack) override;
  30. //void visitBulkSplitStack(BulkSplitStack & pack) override;
  31. //void visitBulkMergeStacks(BulkMergeStacks & pack) override;
  32. //void visitBulkSplitAndRebalanceStack(BulkSplitAndRebalanceStack & pack) override;
  33. //void visitDisbandCreature(DisbandCreature & pack) override;
  34. //void visitBuildStructure(BuildStructure & pack) override;
  35. //void visitSpellResearch(SpellResearch & pack) override;
  36. //void visitVisitTownBuilding(VisitTownBuilding & pack) override;
  37. //void visitRecruitCreatures(RecruitCreatures & pack) override;
  38. //void visitUpgradeCreature(UpgradeCreature & pack) override;
  39. //void visitGarrisonHeroSwap(GarrisonHeroSwap & pack) override;
  40. //void visitExchangeArtifacts(ExchangeArtifacts & pack) override;
  41. //void visitBulkExchangeArtifacts(BulkExchangeArtifacts & pack) override;
  42. //void visitManageBackpackArtifacts(ManageBackpackArtifacts & pack) override;
  43. //void visitManageEquippedArtifacts(ManageEquippedArtifacts & pack) override;
  44. //void visitAssembleArtifacts(AssembleArtifacts & pack) override;
  45. //void visitEraseArtifactByClient(EraseArtifactByClient & pack) override;
  46. //void visitBuyArtifact(BuyArtifact & pack) override;
  47. //void visitTradeOnMarketplace(TradeOnMarketplace & pack) override;
  48. //void visitSetFormation(SetFormation & pack) override;
  49. //void visitHireHero(HireHero & pack) override;
  50. //void visitBuildBoat(BuildBoat & pack) override;
  51. //void visitQueryReply(QueryReply & pack) override;
  52. //void visitMakeAction(MakeAction & pack) override;
  53. //void visitDigWithHero(DigWithHero & pack) override;
  54. //void visitCastAdvSpell(CastAdvSpell & pack) override;
  55. //void visitPlayerMessage(PlayerMessage & pack) override;
  56. //void visitSaveLocalState(SaveLocalState & pack) override;
  57. public:
  58. /// Returns true if game should try to predict results of pack on which this class was applied
  59. bool canBeApplied() const
  60. {
  61. return canBeAppliedValue;
  62. }
  63. };