Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
LevelPlayerPlacer.h
이 파일의 문서화 페이지로 가기
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "UObject/Object.h"
7#include "LevelPlayerPlacer.generated.h"
8
9class APawn;
10class ULevel;
11
15UCLASS(Abstract, BlueprintType, Blueprintable, EditInlineNew)
16class CK_UE_API ULevelPlayerPlacer : public UObject
17{
18 GENERATED_BODY()
19
20public:
21 virtual void PlacePlayer(ULevel* InLevel, const FPrimaryAssetId& LevelAssetID) PURE_VIRTUAL(ULevelPlayerPlacer::PlacePlayer,);
22
23protected:
24 void PlacePlayerAtTransform(UWorld* InWorld, const FPrimaryAssetId& LevelAssetID, const FTransform& SpawnTransform);
25
26 // Pawn이 없으면 SpawnTransform 위치에 스폰 후 Possess하고 SpawnFlow를 실행.
27 // Pawn이 이미 있으면 기존 Pawn을 반환하며 SpawnFlow는 실행하지 않음.
28 APawn* EnsurePlayerPawn(UWorld* InWorld, const FPrimaryAssetId& LevelAssetID, const FTransform& SpawnTransform, bool& bOutSpawned);
29
30 bool CanPlacePlayerAtTransform(UWorld* InWorld, const FTransform& SpawnTransform) const;
31 void SchedulePlacementRetry(UWorld* InWorld, const FPrimaryAssetId& LevelAssetID, const FTransform& SpawnTransform);
32
33protected:
34 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Placement|Trace", meta = (ClampMin = "0.0"))
35 float PlacementTraceStartOffsetZ = 0.0f;
36
37 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Placement|Trace", meta = (ClampMin = "0.0"))
38 float PlacementTraceEndOffsetZ = 150.0f;
39
40 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Placement|Trace", meta = (ClampMin = "0.0"))
41 float PlacementRetryInterval = 0.1f;
42};
Definition LevelPlayerPlacer.h:17