Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
ConstellationBase.h
이 파일의 문서화 페이지로 가기
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5#include "CoreMinimal.h"
9#include "UObject/Object.h"
10#include "ConstellationBase.generated.h"
11
13
14
15//풀링되면 정보가 달라질 수도 있어서 핸들을 통해 데이터를 가져오게끔 설계.
16USTRUCT()
18{
19 GENERATED_BODY()
20
21public:
22 UPROPERTY(Transient)
23 TSoftObjectPtr<AEnemyCharacterBase> EnemyCharacter; // Constellation
24};
25
26
33UCLASS(Abstract, Blueprintable)
34class CK_UE_API UConstellationBase : public UObject, public IObjectPoolingInterface
35{
36 GENERATED_BODY()
37
38public:
39 // 이 성좌가 해당 방송 태그에 반응하는지. 하나라도 겹치면 태그 채팅을 낸다.
40 UFUNCTION(BlueprintPure, Category = "Constellation")
41 bool ReactsTo(ESituationTag BroadcastTags) const;
42
43 // 채팅창에 띄울 이름. 「칭호」 진명 형태로 조립한다.
44 UFUNCTION(BlueprintPure, Category = "Constellation")
45 FText BuildDisplayName() const;
46
47 // 채팅 문구. bTagged 면 태그 채팅, 아니면 일반 채팅 문구를 쓴다.
48 // 해당 문구가 비어 있으면 빈 텍스트를 돌려주므로 호출부는 그 성좌를 건너뛰어야 한다.
49 UFUNCTION(BlueprintPure, Category = "Constellation")
50 FText BuildReactionText(bool bTagged) const;
51
52public:
53 FORCEINLINE const FConstellationData& GetConstellationData() const
54 {
55 return ConstellationData;
56 }
57
58 FORCEINLINE void SetConstellationData(const FConstellationData& InConstellationData)
59 {
60 ConstellationData = InConstellationData;
61 }
62
63 FORCEINLINE void SetConstellationHandle(const FConstellationHandle& InHandle)
64 {
65 ConstellationHandle = InHandle;
66 }
67
68public:
69 // {{True_Name}} / {{Alias}} / {{Postposition}} 치환자를 이 성좌의 값으로 채운다.
70 // 채팅 문구뿐 아니라 이 성좌가 묶인 상황 카드의 설명에도 쓴다.
71 UFUNCTION(BlueprintPure, Category = "Constellation")
72 FText FormatReaction(const FText& RawText) const;
73
74protected:
75 virtual void OnSpawnFromPool_Implementation() override;
76 virtual void OnReturnToPool_Implementation() override;
77
78protected:
79 UPROPERTY(Transient)
80 FConstellationData ConstellationData;
81
82 UPROPERTY(Transient)
83 FConstellationHandle ConstellationHandle;
84};
ESituationTag
Definition SituationTag.h:17
Definition EnemyCharacterBase.h:49
virtual void OnReturnToPool_Implementation() override
Definition EnemyCharacterBase.cpp:396
virtual void OnSpawnFromPool_Implementation() override
Definition EnemyCharacterBase.cpp:373
Definition ObjectPoolingInterface.h:18
Definition ConstellationBase.h:35
FORCEINLINE const FConstellationData & GetConstellationData() const
Definition ConstellationBase.h:53
FORCEINLINE void SetConstellationData(const FConstellationData &InConstellationData)
Definition ConstellationBase.h:58
FORCEINLINE void SetConstellationHandle(const FConstellationHandle &InHandle)
Definition ConstellationBase.h:63
Definition ConstellationData.h:16
Definition ConstellationBase.h:18