X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fenvironment.h;h=b45775f4ce65401c4a6690739c4093894295fe8d;hb=765fd9a0bc0bb9f08d12713dc586e7f4c59c421d;hp=11c2533ca7c9e54489fb3a03c5ab1a87464ae3b5;hpb=76be103a91d6987527af19e87d93007be8ba8a67;p=minetest.git diff --git a/src/environment.h b/src/environment.h index 11c2533ca..b45775f4c 100644 --- a/src/environment.h +++ b/src/environment.h @@ -42,6 +42,8 @@ with this program; if not, write to the Free Software Foundation, Inc., class IGameDef; class Map; +struct PointedThing; +class RaycastState; class Environment { @@ -76,6 +78,26 @@ class Environment u32 getDayCount(); + /*! + * Gets the objects pointed by the shootline as + * pointed things. + * If this is a client environment, the local player + * won't be returned. + * @param[in] shootline_on_map the shootline for + * the test in world coordinates + * + * @param[out] objects found objects + */ + virtual void getSelectedActiveObjects(const core::line3d &shootline_on_map, + std::vector &objects) = 0; + + /*! + * Returns the next node or object the shootline meets. + * @param state current state of the raycast + * @result output, will contain the next pointed thing + */ + void continueRaycast(RaycastState *state, PointedThing *result); + // counter used internally when triggering ABMs u32 m_added_objects;