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