From 3caad3f3c9e319ca67d63231e8c64b2ace855fff Mon Sep 17 00:00:00 2001 From: Dániel Juhász Date: Sat, 23 Jul 2016 21:11:20 +0200 Subject: Expose getPointedThing to Lua This commit introduces Raycast, a Lua user object, which can be used to perform a raycast on the map. The ray is continuable, so one can also get hidden nodes (for example to see trough glass). --- src/activeobject.h | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'src/activeobject.h') diff --git a/src/activeobject.h b/src/activeobject.h index f349ddef3..4796e168c 100644 --- a/src/activeobject.h +++ b/src/activeobject.h @@ -65,7 +65,7 @@ public: { } - u16 getId() + u16 getId() const { return m_id; } @@ -76,7 +76,28 @@ public: } virtual ActiveObjectType getType() const = 0; + + + /*! + * Returns the collision box of the object. + * This box is translated by the object's + * location. + * The box's coordinates are world coordinates. + * @returns true if the object has a collision box. + */ virtual bool getCollisionBox(aabb3f *toset) const = 0; + + + /*! + * Returns the selection box of the object. + * This box is not translated when the + * object moves. + * The box's coordinates are world coordinates. + * @returns true if the object has a selection box. + */ + virtual bool getSelectionBox(aabb3f *toset) const = 0; + + virtual bool collideWithObjects() const = 0; protected: u16 m_id; // 0 is invalid, "no id" -- cgit v1.2.3