#pragma once #include #include #include enum UpgradeTowerPacketFields { m_Tower = 0, m_Upgrade, }; using UpgradeTowerFields = std::tuple< sp::BitField, //<- m_Tower sp::Field //<- m_Upgrade > >; DeclarePacket(UpgradeTower){ public: PacketConstructor(UpgradeTower) std::uint16_t GetTowerId() const { return GetField<0>().GetField(); } std::uint8_t GetTowerUpgrade() const { return GetField<0>().GetField(); } };