1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-09-16 09:26:28 +02:00

rework netpacks to avoid double typeinfo

This commit is contained in:
Andrii Danylchenko
2023-02-12 09:23:39 +02:00
parent 8855829527
commit 9f55666931
23 changed files with 3046 additions and 1581 deletions

View File

@@ -32,6 +32,7 @@
#include "../lib/serializer/Connection.h"
#include "../lib/serializer/CLoadIntegrityValidator.h"
#include "../lib/NetPacks.h"
#include "ClientNetPackVisitors.h"
#include "../lib/VCMI_Lib.h"
#include "../lib/VCMIDirs.h"
#include "../lib/mapping/CMap.h"
@@ -80,12 +81,14 @@ public:
void applyOnClAfter(CClient * cl, void * pack) const override
{
T * ptr = static_cast<T *>(pack);
ptr->applyCl(cl);
ApplyClientNetPackVisitor visitor(*cl, *cl->gameState());
ptr->visit(visitor);
}
void applyOnClBefore(CClient * cl, void * pack) const override
{
T * ptr = static_cast<T *>(pack);
ptr->applyFirstCl(cl);
ApplyFirstClientNetPackVisitor visitor(*cl, *cl->gameState());
ptr->visit(visitor);
}
};