bool OnPlanet() const noexcept;
world::Planet &GetPlanet() const noexcept { return *planet; }
bool OnSurface() const noexcept;
+ bool OnGround() const noexcept;
const glm::dvec3 &Position() const noexcept { return state.pos; }
+ glm::dvec3 SurfaceNormal() const noexcept;
world::Tile &GetTile() const noexcept;
const world::TileType &GetTileType() const noexcept;
bool Moving() const noexcept { return glm::length2(state.vel) > 0.00001; }
void Move(const glm::dvec3 &dp) noexcept;
void Accelerate(const glm::dvec3 &dv) noexcept;
- void EnforceConstraints(State &) noexcept;
- void CheckWrap() noexcept;
+ void EnforceConstraints(State &) const noexcept;
void Heading(const glm::dvec3 &h) noexcept { state.dir = h; }
const glm::dvec3 &Heading() const noexcept { return state.dir; }