48 lines
1.3 KiB
C++
48 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#include <td/protocol/packet/PacketData.h>
|
|
|
|
namespace td {
|
|
|
|
template <typename T>
|
|
sp::DataBuffer& operator<<(sp::DataBuffer& a_Buffer, const Vec2<T>& a_Vec) {
|
|
return a_Buffer << a_Vec.x << a_Vec.y;
|
|
}
|
|
|
|
template <typename T>
|
|
sp::DataBuffer& operator>>(sp::DataBuffer& a_Buffer, Vec2<T>& a_Vec) {
|
|
return a_Buffer >> a_Vec.x >> a_Vec.y;
|
|
}
|
|
|
|
template <typename T>
|
|
sp::DataBuffer& operator<<(sp::DataBuffer& a_Buffer, const Vec3<T>& a_Vec) {
|
|
return a_Buffer << a_Vec.x << a_Vec.y << a_Vec.z;
|
|
}
|
|
|
|
template <typename T>
|
|
sp::DataBuffer& operator>>(sp::DataBuffer& a_Buffer, Vec3<T>& a_Vec) {
|
|
return a_Buffer >> a_Vec.x >> a_Vec.y >> a_Vec.z;
|
|
}
|
|
|
|
|
|
template <typename T>
|
|
sp::DataBuffer& operator<<(sp::DataBuffer& a_Buffer, const Vec4<T>& a_Vec) {
|
|
return a_Buffer << a_Vec.x << a_Vec.y << a_Vec.z << a_Vec.w;
|
|
}
|
|
|
|
template <typename T>
|
|
sp::DataBuffer& operator>>(sp::DataBuffer& a_Buffer, Vec4<T>& a_Vec) {
|
|
return a_Buffer >> a_Vec.x >> a_Vec.y >> a_Vec.z >> a_Vec.w;
|
|
}
|
|
|
|
namespace game {
|
|
|
|
sp::DataBuffer& operator<<(sp::DataBuffer& a_Buffer, const TeamCastle& a_Castle);
|
|
sp::DataBuffer& operator>>(sp::DataBuffer& a_Buffer, TeamCastle& a_Castle);
|
|
|
|
sp::DataBuffer& operator<<(sp::DataBuffer& a_Buffer, const Spawn& a_Spawn);
|
|
sp::DataBuffer& operator>>(sp::DataBuffer& a_Buffer, Spawn& a_Spawn);
|
|
|
|
} // namespace game
|
|
} // namespace td
|