17 #ifndef HEADER_SUPERTUX_OBJECT_PORTABLE_HPP 18 #define HEADER_SUPERTUX_OBJECT_PORTABLE_HPP 20 #include "supertux/direction.hpp" 21 #include "supertux/game_object_component.hpp" 36 virtual void grab(
MovingObject& other,
const Vector& pos, Direction dir) { m_owner = &other; }
37 virtual void ungrab(
MovingObject& other, Direction ) { m_owner =
nullptr; }
39 virtual MovingObject* get_owner()
const {
return m_owner; }
40 virtual bool is_grabbed()
const {
return m_owner !=
nullptr; }
41 virtual bool is_portable()
const {
return true; }
virtual bool is_hampering() const
Is the object so heavy/bulky/fragile that Tux can't run while carrying it?
Definition: portable.hpp:45
virtual void grab(MovingObject &other, const Vector &pos, Direction dir)
called each frame when the object has been grabbed.
Definition: portable.hpp:36
An object that inherits from this object is considered "portable" and can be carried around by the pl...
Definition: portable.hpp:29
Base class for all dynamic/moving game objects.
Definition: moving_object.hpp:35
Definition: game_object_component.hpp:20