1#if PROTOCOL_VERSION > 754 && PROTOCOL_VERSION < 759
13 class VibrationPath :
public NetworkType
22 virtual void ReadImpl(ReadIterator& iter,
size_t& length)
override
24 SetOrigin(ReadData<NetworkPosition>(iter, length));
25 SetDestinationType(ReadData<Identifier>(iter, length));
26 std::shared_ptr<PositionSource> destination = PositionSource::CreatePositionSource(GetDestinationType());
27 destination->Read(iter, length);
28 SetDestination(destination);
29 SetArrivalInTicks(ReadData<VarInt>(iter, length));
32 virtual void WriteImpl(WriteContainer& container)
const override
34 WriteData<NetworkPosition>(GetOrigin(), container);
35 WriteData<Identifier>(GetDestinationType(), container);
36 GetDestination()->Write(container);
37 WriteData<VarInt>(GetArrivalInTicks(), container);
40 virtual Json::Value SerializeImpl()
const override
44 output[std::string(field_name<Origin_index>)] = GetOrigin();
45 output[std::string(field_name<DestinationType_index>)] = GetDestinationType();
46 output[std::string(field_name<Destination_index>)] = *GetDestination();
47 output[std::string(field_name<ArrivalInTicks_index>)] = GetArrivalInTicks();
#define SERIALIZED_FIELD(Name,...)
#define DEFINE_UTILITIES
Define some constexpr utilities used to deal with the auto serializable fields We use void as the uni...