#include #include #include namespace td { sp::DataBuffer& operator<<(sp::DataBuffer& a_Buffer, const EntityCoords& a_Coords) { return a_Buffer << a_Coords.x << a_Coords.y; } sp::DataBuffer& operator<<(sp::DataBuffer& a_Buffer, const FpFloat& a_Float) { auto raw = a_Float.raw_value(); return a_Buffer << raw; } sp::DataBuffer& operator>>(sp::DataBuffer& a_Buffer, EntityCoords& a_Coords) { return a_Buffer >> a_Coords.x >> a_Coords.y; } sp::DataBuffer& operator>>(sp::DataBuffer& a_Buffer, FpFloat& a_Float) { auto raw = a_Float.raw_value(); a_Buffer >> raw; a_Float = FpFloat::from_raw_value(raw); return a_Buffer; } } // namespace td