#ifndef GAMEOBJECTS_HPP_INCLUDED #define GAMEOBJECTS_HPP_INCLUDED #include "../../Game/Interactable/GameObject.hpp" #include #include #include #include /** @addtogroup Models * @{ */ class GameObjects { public: static std::vector GetAllWithin(std::int32_t Distance); static std::vector GetAll(); static std::vector GetAll(const Tile& T); static std::vector GetAll(std::int32_t ID, std::int32_t Distance = -1); static std::vector GetAll(const std::string& Name, std::int32_t Distance = -1); static std::vector GetAll(const std::vector& IDs, std::int32_t Distance = -1); static std::vector GetAll(const std::vector& Names, std::int32_t Distance = -1); static std::vector GetAll(const std::function& Filter, std::int32_t Distance = -1); static Interactable::GameObject Get(const Tile& T); static Interactable::GameObject Get(std::int32_t ID, std::int32_t Distance = -1); static Interactable::GameObject Get(const std::string& Name, std::int32_t Distance = -1); static Interactable::GameObject Get(const std::vector& IDs, std::int32_t Distance = -1); static Interactable::GameObject Get(const std::vector& Names, std::int32_t Distance = -1); static Interactable::GameObject Get(const std::function& Filter, std::int32_t Distance = -1); }; /** @} */ #endif // GAMEOBJECTS_HPP_INCLUDED