Files
Tower-Defense2/include/td/protocol/command/CommandData.h
2025-07-10 16:34:28 +02:00

54 lines
892 B
C++

#pragma once
#include <array>
#include <string>
#include <td/Types.h>
#include <sp/protocol/BitField.h>
namespace td {
namespace protocol {
namespace cdata {
struct PlaceTower {
sp::BitField<TowerType, 4> m_Type;
sp::BitField<PlayerID, 4> m_Placer;
TowerCoords m_Position;
};
struct UpgradeTower {
sp::BitField<TowerID, 12> m_Tower;
sp::BitField<std::uint8_t, 4> m_Upgrade;
};
struct SpawnTroop {
sp::BitField<EntityType, 5> m_Type;
sp::BitField<std::uint8_t, 3> m_Level;
EntityCoords m_Position;
PlayerID m_Sender;
};
struct UseItem {
sp::BitField<ShopItem, 4> m_Item;
sp::BitField<PlayerID, 4> m_User;
EntityCoords m_Position;
};
struct TeamChange {
sp::BitField<PlayerID, 7> m_Player;
sp::BitField<Team, 1> m_NewTeam;
};
struct PlayerJoin {
PlayerID m_ID;
std::string m_Name;
};
struct End {};
} // namespace cdata
} // namespace protocol
} // namespace td