#pragma once
#include
namespace td {
namespace protocol {
struct LockStep {
std::uint8_t m_CommandNumber;
std::vector m_Commands;
};
struct LockSteps {
std::uint16_t m_FirstFrameNumber;
std::array m_LockSteps;
};
namespace data {
struct PlaceTower {
CastleType m_Type : 4;
PlayerID m_Placer : 4;
CastleCoords m_Position;
};
struct UpgradeTower {
CastleID m_Tower : 12;
std::uint8_t m_Upgrade : 4;
};
struct SpawnTroop {
EntityType m_Type : 5;
std::uint8_t m_Level : 3;
EntityCoords m_Position;
PlayerID m_Sender;
};
struct UseItem {
ShopItem m_Item : 4;
PlayerID m_User : 4;
EntityCoords m_Position;
};
struct TeamChange {
PlayerID m_Player : 7;
Team m_NewTeam : 1;
};
} // namespace data
} // namespace protocol
} // namespace td
|