#pragma once #include #include #include #include "GameStructs.h" class FindObjectsTrait { public: template std::unordered_map FindAllObjects(float_t radius, std::function getNextObject) const { std::unordered_map result; auto object = getNextObject(radius, -1); while (object) { if (result.find(object->objectId) != result.end()) { break; } else { result.emplace(object->objectId, object); } object = getNextObject(radius, object->objectId); } return result; } };