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