#pragma once #include #include #include struct DisconnectPacketData { std::string m_Reason; }; class DisconnectPacket : public sp::MessageBase> { private: DisconnectPacketData m_Data; public: template DisconnectPacket(T... args) : m_Data{args...} {} const std::string& GetReason() const { return m_Data.m_Reason; } virtual sp::PacketID GetId() const { return Disconnect; } }; void ff() { sizeof(std::string); }