123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #pragma once
- #include "Engine/EngineTypes.h"
- #include "UObject/StrongObjectPtr.h"
- class UAkCallbackInfo;
- class AkCallbackInfoPool final
- {
- public:
- template<typename CallbackType>
- CallbackType* Acquire()
- {
- return static_cast<CallbackType*>(InternalAcquire(CallbackType::StaticClass()));
- }
- void Release(UAkCallbackInfo* instance);
- private:
- UAkCallbackInfo* InternalAcquire(UClass* type);
- private:
- TMap<UClass*, TArray<UAkCallbackInfo*>> Pool;
- TArray<TStrongObjectPtr<UAkCallbackInfo>> gcStorage;
- };
|