diff options
Diffstat (limited to 'src/entity.hpp')
-rw-r--r-- | src/entity.hpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/entity.hpp b/src/entity.hpp index 3f82842d..490f0b7d 100644 --- a/src/entity.hpp +++ b/src/entity.hpp @@ -62,14 +62,17 @@ struct entity virtual bool can_activate(size_t i) const; virtual bool activate(size_t i); virtual bool update(size_t i, float dt) = 0; - [[nodiscard]] virtual bool can_rotate(global_coords coord, rotation r, rotation old_r, Vector2b offset, Vector2b bbox_offset, Vector2ub bbox_size); virtual void rotate(size_t i, rotation r); + virtual bool can_rotate(global_coords coord, rotation new_r, rotation old_r, Vector2b offset, Vector2b bbox_offset, Vector2ub bbox_size); + virtual bool can_move_to(Vector2i delta, global_coords coord, Vector2b offset, Vector2b bbox_offset, Vector2ub bbox_aize); + virtual void set_bbox(Vector2b offset, Vector2b bbox_offset, Vector2ub bbox_size, pass_mode pass); static Pair<global_coords, Vector2b> normalize_coords(global_coords coord, Vector2b cur_offset, Vector2i delta); - [[nodiscard]] virtual bool can_move_to(Vector2i delta); - [[nodiscard]] bool can_move_to(Vector2i delta, global_coords coord, Vector2b offset, Vector2b bbox_offset, Vector2ub bbox_aize); - size_t move(size_t i, Vector2i delta, rotation new_r); - virtual void set_bbox(Vector2b offset, Vector2b bbox_offset, Vector2ub bbox_size, pass_mode pass); + + bool can_rotate(rotation new_r); + bool can_move_to(Vector2i delta); + size_t move_to(size_t i, Vector2i delta, rotation new_r); + bool is_dynamic() const; friend struct world; |