feat(entities): bloc collision i anchor:feet per entitats amb falsa perspectiva
This commit is contained in:
1 parent
1af5ef861f
commit
e6b612d164
7 files changed
+162
-5
No files matched your search
@@ -26,3 +26,18 @@ void Entity::onPlayerContact(Player* /*player*/) {
|
||||
void Entity::notifyTileEntered(int /*col*/, int /*row*/) {
|
||||
// No-op per defecte; només `Sarcophagus` l'usa.
|
||||
}
|
||||
|
||||
auto Entity::getCollisionRect() const -> SDL_FRect {
|
||||
if (!collision_box_.has_value()) { return pixel_rect_; }
|
||||
return {
|
||||
.x = pixel_rect_.x + static_cast<float>(collision_box_->offset_x),
|
||||
.y = pixel_rect_.y + static_cast<float>(collision_box_->offset_y),
|
||||
.w = static_cast<float>(collision_box_->width),
|
||||
.h = static_cast<float>(collision_box_->height),
|
||||
};
|
||||
}
|
||||
|
||||
auto Entity::getFeetY() const -> float {
|
||||
const auto RECT = getCollisionRect();
|
||||
return RECT.y + RECT.h;
|
||||
}
|
||||
Reference in new issue
Block a user