#pragma once
#include
namespace td {
template
sp::DataBuffer& operator<<(sp::DataBuffer& a_Buffer, const Vec2& a_Vec) {
return a_Buffer << a_Vec.x << a_Vec.y;
}
template
sp::DataBuffer& operator>>(sp::DataBuffer& a_Buffer, Vec2& a_Vec) {
return a_Buffer >> a_Vec.x >> a_Vec.y;
}
template
sp::DataBuffer& operator<<(sp::DataBuffer& a_Buffer, const Vec3& a_Vec) {
return a_Buffer << a_Vec.x << a_Vec.y << a_Vec.z;
}
template
sp::DataBuffer& operator>>(sp::DataBuffer& a_Buffer, Vec3& a_Vec) {
return a_Buffer >> a_Vec.x >> a_Vec.y >> a_Vec.z;
}
template
sp::DataBuffer& operator<<(sp::DataBuffer& a_Buffer, const Vec4& a_Vec) {
return a_Buffer << a_Vec.x << a_Vec.y << a_Vec.z << a_Vec.w;
}
template
sp::DataBuffer& operator>>(sp::DataBuffer& a_Buffer, Vec4& 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
|