12#include "schemas/shared_types.capnp.h"
16#define UNREACHABLE() __assume(0)
18#define UNREACHABLE() __builtin_unreachable()
36 void toCapnp(::Vec2::Builder builder)
const {
71 return ::Action::MOVE_UP;
73 return ::Action::MOVE_DOWN;
75 return ::Action::MOVE_LEFT;
77 return ::Action::MOVE_RIGHT;
79 return ::Action::SHOOT;
86 case ::Action::MOVE_UP:
88 case ::Action::MOVE_DOWN:
90 case ::Action::MOVE_LEFT:
92 case ::Action::MOVE_RIGHT:
103 return ::EntityType::PLAYER;
105 return ::EntityType::ENEMY_TYPE1;
107 return ::EntityType::PLAYER_BULLET;
109 return ::EntityType::ENEMY_BULLET;
111 return ::EntityType::WALL;
113 return ::EntityType::ORBITAL_MODULE;
120 case ::EntityType::PLAYER:
122 case ::EntityType::ENEMY_TYPE1:
124 case ::EntityType::PLAYER_BULLET:
126 case ::EntityType::ENEMY_BULLET:
128 case ::EntityType::WALL:
130 case ::EntityType::ORBITAL_MODULE:
139 return ::DestroyReason::KILLED_BY_PLAYER;
141 return ::DestroyReason::OUT_OF_BOUNDS;
143 return ::DestroyReason::COLLISION;
150 case ::DestroyReason::KILLED_BY_PLAYER:
152 case ::DestroyReason::OUT_OF_BOUNDS:
154 case ::DestroyReason::COLLISION:
DestroyReason fromCapnpDestroyReason(::DestroyReason reason)
EntityType
Entity type enum - matches Cap'n Proto enum.
Action fromCapnpAction(::Action action)
EntityType fromCapnpEntityType(::EntityType type)
DestroyReason
Destroy reason enum - matches Cap'n Proto enum.
inline ::Action toCapnpAction(Action action)
inline ::DestroyReason toCapnpDestroyReason(DestroyReason reason)
inline ::EntityType toCapnpEntityType(EntityType type)
Action
Player action enum - matches Cap'n Proto enum.
C++ wrapper for Vec2 position.
static Vec2 fromCapnp(::Vec2::Reader reader)
void toCapnp(::Vec2::Builder builder) const