// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved. #pragma once #include "Actor.h" #include "Engine/Serialization/ISerializeModifier.h" #include "Engine/Core/Collections/CollectionPoolCache.h" /// /// Acceleration structure used to improve operations performed on a set of actors. Cache the data and allows to reuse memory container for less allocations. It's a thread-safe. /// class ActorsCache { public: typedef ActorsLookup ActorsLookupType; typedef Array ActorsListType; typedef Array SceneObjectsListType; public: /// /// Gets the actors lookup cached. Safe allocation, per thread, uses caching. /// static CollectionPoolCache ActorsLookupCache; /// /// Gets the actors lookup cached. Safe allocation, per thread, uses caching. /// static CollectionPoolCache ActorsListCache; /// /// Gets the scene objects lookup cached. Safe allocation, per thread, uses caching. /// static CollectionPoolCache SceneObjectsListCache; };