47 UPROPERTY(EditDefaultsOnly, Category =
"Hit Mesh Pulse")
48 uint8 bEnabled : 1 = false;
51 UPROPERTY(EditDefaultsOnly, Category = "Hit Mesh Pulse", meta = (EditCondition = "bEnabled"))
57 UPROPERTY(EditDefaultsOnly, Category = "Hit Mesh Pulse", meta = (EditCondition = "bEnabled"))
58 FVector ScaleMultiplier = FVector(1.08f, 1.08f, 0.94f);
61 UPROPERTY(EditDefaultsOnly, Category = "Hit Mesh Pulse", meta = (ClampMin = "0.0", EditCondition = "bEnabled"))
62 float Duration = 0.1f;
65 UPROPERTY(EditDefaultsOnly, Category = "Hit Mesh Pulse", meta = (ClampMin = "0.0", EditCondition = "bEnabled && Mode ==
EHitPulseMode::PingPong"))
66 float PeakHoldTime = 0.03f;
69 UPROPERTY(EditDefaultsOnly, Category = "Hit Mesh Pulse", meta = (EditCondition = "bEnabled && Mode !=
EHitPulseMode::CustomCurve"))
70 ETweenEase Ease = ETweenEase::OutExpo;
75 UPROPERTY(EditDefaultsOnly, Category = "Hit Mesh Pulse", meta = (EditCondition = "bEnabled && Mode ==
EHitPulseMode::CustomCurve"))
76 FRuntimeFloatCurve CustomCurve;
86 UPROPERTY(EditDefaultsOnly)
87 TObjectPtr<UInputMappingContext> DefaultMappingContext;
89 UPROPERTY(EditDefaultsOnly)
90 TObjectPtr<UInputAction> DashAction;
92 UPROPERTY(EditDefaultsOnly)
93 TObjectPtr<UInputAction> MoveAction;
95 UPROPERTY(EditDefaultsOnly)
96 TObjectPtr<UInputAction> AttackAction;
98 UPROPERTY(EditDefaultsOnly)
99 TObjectPtr<UInputAction> WarpStrikeAction;
101 UPROPERTY(EditDefaultsOnly)
102 TObjectPtr<UInputAction> WeaponRequestSkillAction;
104 UPROPERTY(EditDefaultsOnly)
105 TObjectPtr<UInputAction> Weapon_SkillAction;
107 UPROPERTY(EditDefaultsOnly)
108 TObjectPtr<UInputAction> Cam_LockOnAction;
110 UPROPERTY(EditDefaultsOnly)
111 TObjectPtr<UInputAction> Cam_RotationAction;
113 UPROPERTY(EditDefaultsOnly)
114 TObjectPtr<UInputAction> Cam_WheelAction;
117 UPROPERTY(EditDefaultsOnly, meta = (Categories = "Input", ForceInlineRow))
118 TMap<FGameplayTag, TSubclassOf<UGameplayAbility>> StartInputAbilities;
121 UPROPERTY(EditDefaultsOnly, Category = "HitReact")
122 TSubclassOf<UGameplayEffect> DamageTakenEffectClass;
125 UPROPERTY(EditDefaultsOnly, Category = "HitReact|KnockDown", meta = (ClampMin = "0.0"))
126 float HitToKnockDownWindow = 5.0f;
129 UPROPERTY(EditDefaultsOnly, Category = "HitReact|KnockDown", meta = (ClampMin = "2"))
130 int32 HitToKnockDownThreshold = 5;
134 UPROPERTY(EditDefaultsOnly, Category = "Weapon", meta = (Categories = "Weapon"))
135 FGameplayTag DefaultWeaponTag;
146 UPROPERTY(EditDefaultsOnly, Category =
"AI")
147 TObjectPtr<UDataTable> EnemyAICombatTable;
149 UPROPERTY(EditDefaultsOnly, Category = "AI")
150 TObjectPtr<UDataTable> EnemyAIRetreatTable;
152 UPROPERTY(EditDefaultsOnly, Category = "AI")
153 TObjectPtr<UDataTable> EnemyAIStrafeTable;
155 UPROPERTY(EditDefaultsOnly, Category = "Animation")
156 TObjectPtr<UAnimMontage> HitReactMontage;
158 UPROPERTY(EditDefaultsOnly, Category = "Animation")
159 TObjectPtr<UAnimMontage> DeadMontage;
161 UPROPERTY(EditDefaultsOnly, Category = "
Groggy")
162 TObjectPtr<UDataTable> GroggyTable;
164 UPROPERTY(EditDefaultsOnly, Category = "
Groggy")
165 TObjectPtr<UAnimMontage> GroggyMontage;
167 UPROPERTY(EditDefaultsOnly, Category = "
Groggy")
168 FName GroggyEndSectionName = FName("Groggy_End");
170 UPROPERTY(EditDefaultsOnly, Category = "Hit Visual", meta = (Categories = "Damage.Type"))
191 const T* FindExtendedData()
const;
194 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Stat)
195 TObjectPtr<UDataTable> StatTable;
197 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Stat)
201 UPROPERTY(EditAnywhere, Category = GAS)
202 TArray<TSubclassOf<UGameplayAbility>> StartAbilities;
205 UPROPERTY(EditAnywhere, Category = "Extended", meta = (BaseStruct = "/Script/
CK_UE.CharacterExtendedDataBase", ExcludeBaseStruct))
206 TArray<FInstancedStruct> ExtendedData;
210 mutable TMap<TObjectPtr<UScriptStruct>, int32> CachedIndices;
218 if (
const int32* CachedIndex = CachedIndices.Find(T::StaticStruct()))
220 return ExtendedData[*CachedIndex].GetPtr<T>();
223 for (int32 i = 0; i < ExtendedData.Num(); ++i)
225 if (
const T* Data = ExtendedData[i].GetPtr<T>())
227 CachedIndices.Add(T::StaticStruct(), i);