void Name(const std::string &n) { name = n; }
const AABB &Bounds() const noexcept { return bounds; }
- void Bounds(const AABB &b) noexcept { bounds = b; }
+ // get distance between local origin and farthest vertex
+ float Radius() const noexcept { return radius; }
+ void Bounds(const AABB &b) noexcept { bounds = b; radius = b.OriginRadius(); }
bool WorldCollidable() const noexcept { return world_collision; }
void WorldCollidable(bool b) noexcept { world_collision = b; }
std::string name;
AABB bounds;
+ float radius;
EntityState state;
/// chunk to model space
// TODO: I'd prefer a drag solution
float max_vel;
+ // TODO: split max_force into (local) axes?
+ // e.g. players may want to disable vertical thrust under certain
+ // conditions (e.g. "walking" ^^)
float max_force;
int ref_count;