UPROPERTY
리플렉션이 가능하도록 만든다. 에디터와 상호작용이 가능해진다.
메타 지정자를 추가하여 여러 기능을 추가할 수 있다.
ACTOR 라이프 사이클
블루프린트 함수 라이브러리
이름에는 블루프린트가 들어가지만 c++ 에서도 사용가능하다.
전역으로 함수를 만들어 모든 곳에서 사용가능하도록 설계한다.
예로 특정 Controller 등을 가져올 때 이 기능을 사용할 수 있다.
아래는 특정 Actor 가 존재한다면 PlayerController 를 가져오겠다는 전역함수이다.
.. 헤더
#pragma once
#include "Kismet/BlueprintFunctionLibrary.h"
#include "MyFuncLib.generated.h"
UCLASS()
class YOURPROJECTNAME_API UMyFuncLib : public UBlueprintFunctionLibrary
{
GENERATED_BODY()
public:
UFUNCTION(BlueprintCallable, Category = "Utilities")
static APlayerController* GetPlayerControllerFromActor(AActor* Actor);
};
// cpp
#include "MyFuncLib.h"
#include "GameFramework/Actor.h"
#include "GameFramework/PlayerController.h"
#include "Engine/World.h"
APlayerController* UMyFuncLib::GetPlayerControllerFromActor(AActor* Actor)
{
if (Actor)
{
// 액터가 소속된 월드에서 첫 번째 PlayerController를 가져옵니다.
UWorld* World = Actor->GetWorld();
if (World)
{
return World->GetFirstPlayerController();
}
}
return nullptr;
}
'새싹 UE5' 카테고리의 다른 글
24 - 09 - 02 (IsValid()와 nullptr, GetName()) (0) | 2024.09.02 |
---|---|
08- 30 FName, FString, FText 그 외 (0) | 2024.08.30 |
24 - 08 - 22 (CPP 시작) (0) | 2024.08.22 |
24 - 08 - 19 (데이터 테이블, 구조체, 고스트) (0) | 2024.08.19 |
24 - 08 - 18 (인터페이스, CC, 적 투사체) (0) | 2024.08.19 |