#ifndef GROUNDOBJECTS_HPP_INCLUDED #define GROUNDOBJECTS_HPP_INCLUDED #include "../../Core/Classes/GroundObject.hpp" #include "../../Core/Classes/ObjectInfo.hpp" #include "../../Core/Types/Tile.hpp" #include "../../Core/Types/Convex.hpp" #include #include #include #include /** @addtogroup Models * @{ */ class GroundObjects { public: static Internal::ObjectInfo GetInfoOf(const Internal::GroundObject& G); static Tile GetTileOf(const Internal::GroundObject& G); static std::vector GetModelOf(const Internal::GroundObject& G); static Convex GetConvexOf(const Internal::GroundObject& G); //consider changing to Interactable::GameObject static std::vector GetAll(); static std::vector GetAll(std::int32_t ID); static std::vector GetAll(const std::string& Name); static std::vector GetAll(const std::vector& PossibleIDs); static std::vector GetAll(const std::vector& PossibleNames); static std::vector GetAll(const std::function& Filter); static Internal::GroundObject Get(const Tile& T); static Internal::GroundObject Get(std::int32_t ID); static Internal::GroundObject Get(const std::string& Name); static Internal::GroundObject Get(const std::vector& PossibleIDs); static Internal::GroundObject Get(const std::vector& PossibleNames); static Internal::GroundObject Get(const std::function& Filter); }; /** @} */ #endif // GROUNDOBJECTS_HPP_INCLUDED