Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
EnemySpawnerComponent.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 "Components/SceneComponent.h"
8#include "EnemySpawnerComponent.generated.h"
9
10
11class UBillboardComponent;
12class USpawnPattern;
13
14
15// 레벨에 배치되는 스폰 좌표 앵커. "어디에" 스폰할지만 담당하며, "무엇을, 언제, 몇 개" 스폰할지와 실제 풀 스폰은 UEnemySpawnDirectorSystemComponent가 소유한다.
16UCLASS(ClassGroup=(Spawn), meta=(BlueprintSpawnableComponent))
17class CK_UE_API UEnemySpawnerComponent : public USceneComponent
18{
19 GENERATED_BODY()
20
21public:
22 UEnemySpawnerComponent();
23
24public:
25 virtual void OnRegister() override;
26 virtual void OnUnregister() override;
27
28 // SpawnPattern을 이 스포너 기준으로 평가해 스폰 월드 좌표를 산출한다.
29 FVector GetSpawnLocation(USpawnPattern* SpawnPattern);
30
31public:
32 FORCEINLINE ESpawnAreaID GetID() const
33 {
34 return SpawnerAreaID;
35 }
36
37 FORCEINLINE int32 GetSpawnerAreaMask() const
38 {
39 return static_cast<int32>(SpawnerAreaID);
40 }
41
42protected:
43 UPROPERTY(EditAnywhere, Category = Spawner)
44 ESpawnAreaID SpawnerAreaID = ESpawnAreaID::None;
45
46private:
47#if WITH_EDITORONLY_DATA
48 UPROPERTY(Transient)
49 TObjectPtr<UBillboardComponent> SpriteComponent;
50#endif
51};
ESpawnAreaID
Definition ESpawnAreaID.h:7
Definition SpawnPattern.h:23