12#include "../Shared/SharedTypes.hpp"
13#include "schemas/s2c_messages.capnp.h"
38 type(Shared::EntityType::Player),
45 void toCapnp(::EntityState::Builder builder)
const {
49 auto posBuilder = builder.initPosition();
52 builder.setHealth(
health.value_or(-1));
63 result.
entityId = reader.getEntityId();
68 int32_t healthValue = reader.getHealth();
69 if (healthValue >= 0) {
70 result.
health = healthValue;
74 result.
spriteX = reader.getSpriteX();
75 result.
spriteY = reader.getSpriteY();
76 result.
spriteW = reader.getSpriteW();
77 result.
spriteH = reader.getSpriteH();
State of a single entity.
uint32_t lastProcessedInput
std::string currentAnimation
static EntityState fromCapnp(::EntityState::Reader reader)
std::optional< int32_t > health
void toCapnp(::EntityState::Builder builder) const
Server-to-Client messages.
EntityType
Entity type enum - matches Cap'n Proto enum.
EntityType fromCapnpEntityType(::EntityType type)
inline ::EntityType toCapnpEntityType(EntityType type)
C++ wrapper for Vec2 position.
static Vec2 fromCapnp(::Vec2::Reader reader)
void toCapnp(::Vec2::Builder builder) const