KLingo Project Documentation 1.0.0
Unreal Engine 5.6 C++ Project Documentation
로딩중...
검색중...
일치하는것 없음
UObjectPoolManager.h
이 파일의 문서화 페이지로 가기
1// Copyright (c) 2025 Doppleddiggong. All rights reserved. Unauthorized copying, modification, or distribution of this file, via any medium is strictly prohibited. Proprietary and confidential.
2
7#pragma once
8
9#include "CoreMinimal.h"
10#include "Macro.h"
11#include "Subsystems/GameInstanceSubsystem.h"
12#include "UObjectPoolManager.generated.h"
13
18UCLASS()
19class LATTELIBRARY_API UObjectPoolManager : public UGameInstanceSubsystem
20{
21 GENERATED_BODY()
22
23public:
24 virtual void Initialize(FSubsystemCollectionBase& Collection) override;
25 virtual void Deinitialize() override;
26
28
29 UFUNCTION(BlueprintCallable, Category="Pool", meta = (WorldContext = "WorldContextObject"))
30 AActor* GetPoolItem(const UObject* WorldContextObject, TSubclassOf<AActor> InClass);
31
32 UFUNCTION(BlueprintCallable, Category="Pool", meta = (WorldContext = "WorldContextObject"))
33 AActor* GetPoolItemLocationRotator(const UObject* WorldContextObject, const TSubclassOf<AActor> InClass, const FVector Location, const FRotator Rotator );
34
35 UFUNCTION(BlueprintCallable, Category="Pool")
36 void ReturnActorToPool(AActor* Actor);
37
38private:
39 TMap<UClass*, TArray<AActor*>> PoolMap;
40};
YiSan 전반에서 사용하는 공용 인터페이스를 선언합니다.
액터를 재활용하여 런타임에 액터 스폰 비용을 최소화하는 오브젝트 풀링(Object Pooling) 관리 서브시스템입니다.
DEFINE_SUBSYSTEM_GETTER_INLINE(UObjectPoolManager)