Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
ULPP_ByPlayerStart 클래스 참조

#include <LPP_ByPlayerStart.h>

ULPP_ByPlayerStart에 대한 상속 다이어그램 :
Inheritance graph
ULPP_ByPlayerStart에 대한 협력 다이어그램:
Collaboration graph

Public 멤버 함수

AActor * GetPlayerStartActor (const ULevel *InLevel)
 
virtual void PlacePlayer (ULevel *InLevel, const FPrimaryAssetId &LevelAssetID) override
 

추가로 상속된 멤버들

- ULevelPlayerPlacer(으)로부터 상속된 Protected 멤버 함수
void PlacePlayerAtTransform (UWorld *InWorld, const FPrimaryAssetId &LevelAssetID, const FTransform &SpawnTransform)
 
APawn * EnsurePlayerPawn (UWorld *InWorld, const FPrimaryAssetId &LevelAssetID, const FTransform &SpawnTransform, bool &bOutSpawned)
 
bool CanPlacePlayerAtTransform (UWorld *InWorld, const FTransform &SpawnTransform) const
 
void SchedulePlacementRetry (UWorld *InWorld, const FPrimaryAssetId &LevelAssetID, const FTransform &SpawnTransform)
 
- ULevelPlayerPlacer(으)로부터 상속된 Protected 속성
float PlacementTraceStartOffsetZ = 0.0f
 
float PlacementTraceEndOffsetZ = 150.0f
 
float PlacementRetryInterval = 0.1f
 

상세한 설명

전달된 ULevel 내부에서 첫 번째 APlayerStart를 탐색하여 플레이어를 배치합니다. PlayerStart가 없으면 배치를 건너뜁니다.

멤버 함수 문서화

◆ GetPlayerStartActor()

AActor * ULPP_ByPlayerStart::GetPlayerStartActor ( const ULevel *  InLevel)
11{
12 if (InLevel == nullptr)
13 {
14 return nullptr;
15 }
16
17 auto IsPlayerStart = [](const AActor* Actor)
18 {
19 return Cast<APlayerStart>(Actor) != nullptr;
20 };
21
22 auto FoundActor = Algo::FindByPredicate(InLevel->Actors, IsPlayerStart);
23
24 if (FoundActor == nullptr)
25 {
26 return nullptr;
27 }
28
29 return (*FoundActor);
30}
이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ PlacePlayer()

void ULPP_ByPlayerStart::PlacePlayer ( ULevel *  InLevel,
const FPrimaryAssetId &  LevelAssetID 
)
overridevirtual
34{
35 if (InLevel == nullptr)
36 {
37 return;
38 }
39
40 TObjectPtr<AActor> StartActor = GetPlayerStartActor(InLevel);
41
42 if (StartActor == nullptr)
43 {
44 LOG_ERROR(LogCK, "로드된 서브레벨에서 플레이어 스타트 오브젝트를 찾을 수 없습니다. ");
45 return;
46 }
47
48 LOG_INFO(LogCK, "%s: %s. ", *StartActor->GetName(), *StartActor->GetActorLocation().ToString());
49
50 const FTransform SpawnTransform = StartActor->GetActorTransform();
51 PlacePlayerAtTransform(InLevel->GetWorld(), LevelAssetID, SpawnTransform);
52}
#define LOG_ERROR(Category, Format,...)
Definition CK_UE.h:40
#define LOG_INFO(Category, Format,...)
Definition CK_UE.h:38
AActor * GetPlayerStartActor(const ULevel *InLevel)
Definition LPP_ByPlayerStart.cpp:10
void PlacePlayerAtTransform(UWorld *InWorld, const FPrimaryAssetId &LevelAssetID, const FTransform &SpawnTransform)
Definition LevelPlayerPlacer.cpp:17
이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

이 클래스에 대한 문서화 페이지는 다음의 파일들로부터 생성되었습니다.: