Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
ConstellationSettings.h
이 파일의 문서화 페이지로 가기
1#pragma once
2
3#include "CK_UE.h"
4#include "Engine/DeveloperSettings.h"
5#include "ConstellationSettings.generated.h"
6
8
9
10UCLASS(Config=Game, defaultconfig, meta=(DisplayName="Constellation Settings"))
11class CK_UE_API UConstellationSettings : public UDeveloperSettings
12{
13 GENERATED_BODY()
14
15public:
16 FORCEINLINE virtual FName GetCategoryName() const override
17 {
18 return TEXT("CK_UE");
19 }
20
21 FORCEINLINE TSubclassOf<UConstellationBase> GetConstellationClass() const
22 {
23 return ConstellationClass;
24 }
25
26 FORCEINLINE int32 GetMaxVisibleChatCount() const
27 {
28 return MaxVisibleChatCount;
29 }
30
31 FORCEINLINE float GetChatOutputInterval() const
32 {
33 return ChatOutputInterval;
34 }
35
36 FORCEINLINE float GetNormalChatStaleThreshold() const
37 {
38 return NormalChatStaleThreshold;
39 }
40
41 FORCEINLINE float GetChatSpawnIntervalMin() const
42 {
43 return ChatSpawnIntervalMin;
44 }
45
46 // 최소값보다 작게 적힌 최대값은 최소값으로 끌어올려 FRandRange 가 뒤집히지 않게 한다.
47 FORCEINLINE float GetChatSpawnIntervalMax() const
48 {
49 return FMath::Max(ChatSpawnIntervalMax, ChatSpawnIntervalMin);
50 }
51
52 FORCEINLINE int32 GetBroadcastTitleTagCount() const
53 {
54 return BroadcastTitleTagCount;
55 }
56
57protected:
58 // 팩토리가 생성할 성좌 클래스. UConstellationBase 는 Abstract 라 반드시 지정해야 한다.
59 UPROPERTY(EditAnywhere, Config, BlueprintReadOnly, Category = "Constellation")
60 TSubclassOf<UConstellationBase> ConstellationClass;
61
62 // 채팅창에 동시에 남겨둘 최대 줄 수. 넘으면 화면에서 가장 오래된 줄부터 지운다.
63 // 아직 출력되지 않은 대기열을 버리는 규칙과는 별개다.
64 UPROPERTY(EditAnywhere, Config, BlueprintReadOnly, Category = "Constellation|Chat", meta = (ClampMin = "1"))
65 int32 MaxVisibleChatCount = 6;
66
67 // 채팅 한 줄이 채팅창에 올라오는 기본 간격(초).
68 UPROPERTY(EditAnywhere, Config, BlueprintReadOnly, Category = "Constellation|Chat", meta = (ClampMin = "0.01", ForceUnits = "s"))
69 float ChatOutputInterval = 0.8f;
70
71 // 이 시간을 "초과"해 기다린 일반 채팅이 있으면 일반 대기열을 통째로 버린다(초).
72 // 태그 채팅과 이미 출력된 채팅은 폐기 대상이 아니다.
73 UPROPERTY(EditAnywhere, Config, BlueprintReadOnly, Category = "Constellation|Chat", meta = (ClampMin = "0.0", ForceUnits = "s"))
74 float NormalChatStaleThreshold = 2.4f;
75
76 // 일반·태그 채팅의 생성 주기 하한(초).
77 UPROPERTY(EditAnywhere, Config, BlueprintReadOnly, Category = "Constellation|Chat", meta = (ClampMin = "0.01", ForceUnits = "s"))
78 float ChatSpawnIntervalMin = 1.0f;
79
80 // 일반·태그 채팅의 생성 주기 상한(초).
81 UPROPERTY(EditAnywhere, Config, BlueprintReadOnly, Category = "Constellation|Chat", meta = (ClampMin = "0.01", ForceUnits = "s"))
82 float ChatSpawnIntervalMax = 3.0f;
83
84 // 같은 방송 태그를 이만큼 고르면 방송 제목이 확정되고 반응 태그가 그 태그로 고정된다.
85 UPROPERTY(EditAnywhere, Config, BlueprintReadOnly, Category = "Constellation|Chat", meta = (ClampMin = "1"))
86 int32 BroadcastTitleTagCount = 3;
87};
Definition ConstellationBase.h:35
Definition ConstellationSettings.h:12
virtual FORCEINLINE FName GetCategoryName() const override
Definition ConstellationSettings.h:16
FORCEINLINE int32 GetMaxVisibleChatCount() const
Definition ConstellationSettings.h:26
FORCEINLINE float GetNormalChatStaleThreshold() const
Definition ConstellationSettings.h:36
FORCEINLINE float GetChatSpawnIntervalMax() const
Definition ConstellationSettings.h:47
FORCEINLINE TSubclassOf< UConstellationBase > GetConstellationClass() const
Definition ConstellationSettings.h:21
FORCEINLINE int32 GetBroadcastTitleTagCount() const
Definition ConstellationSettings.h:52
FORCEINLINE float GetChatOutputInterval() const
Definition ConstellationSettings.h:31
FORCEINLINE float GetChatSpawnIntervalMin() const
Definition ConstellationSettings.h:41