59 lines
814 B
C++
59 lines
814 B
C++
#pragma once
|
|
|
|
#include <td/Types.h>
|
|
|
|
namespace td {
|
|
namespace protocol {
|
|
|
|
|
|
struct LockStep {
|
|
std::uint8_t m_CommandNumber;
|
|
std::vector<LockStepCommand> m_Commands;
|
|
};
|
|
|
|
struct LockSteps {
|
|
std::uint16_t m_FirstFrameNumber;
|
|
std::array<LockStep, 10> 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
|