20 void track_object(
object*
object);
21 void untrack_object(
object*
object, std::optional<rttr::type> typeOverride = std::nullopt);
23 [[nodiscard]] std::unordered_set<object*> get_objects_of_category(
const SB_OBJECT_CATEGORY& category)
const;
24 [[nodiscard]] std::unordered_set<object*> get_objects_of_type(
const rttr::type& type)
const;
25 [[nodiscard]]
auto get_objects_count()
const -> size_t;
26 [[nodiscard]]
auto get_all_category_to_objects()
const ->
const std::unordered_map<SB_OBJECT_CATEGORY, std::unordered_set<object*>>&;
27 [[nodiscard]]
auto get_all_type_to_objects()
const ->
const std::unordered_map<rttr::type, std::unordered_set<object*>>&;
30 void on_object_destroyed(
object*
object);
32 std::unordered_map<SB_OBJECT_CATEGORY, std::unordered_set<object*>> m_categoryToObjects;
33 std::unordered_map<rttr::type, std::unordered_set<object*>> m_typeToObjects;