Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
CharacterControlData.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 "Engine/DataAsset.h"
7#include "Data/CK_InputType.h"
8#include "StructUtils/InstancedStruct.h"
9#include "CharacterControlData.generated.h"
10
11class UInputMappingContext;
12class UInputAction;
14class UGameplayAbility;
15
16USTRUCT(BlueprintType)
18{
19 GENERATED_BODY()
20};
21
22// 플레이어 전용 확장 데이터
23USTRUCT(BlueprintType)
25{
26 GENERATED_BODY()
27
28 // --- 입력 ---
29 UPROPERTY(EditAnywhere, BlueprintReadOnly)
30 TObjectPtr<UInputMappingContext> DefaultMappingContext;
31
32 UPROPERTY(EditAnywhere, BlueprintReadOnly)
33 TObjectPtr<UInputAction> DashAction;
34
35 UPROPERTY(EditAnywhere, BlueprintReadOnly)
36 TObjectPtr<UInputAction> MoveAction;
37
38 UPROPERTY(EditAnywhere, BlueprintReadOnly)
39 TObjectPtr<UInputAction> AttackAction;
40
41 UPROPERTY(EditAnywhere, BlueprintReadOnly)
42 TObjectPtr<UInputAction> Q_SkillAction;
43
44 UPROPERTY(EditAnywhere, BlueprintReadOnly)
45 TObjectPtr<UInputAction> E_SkillAction;
46
47 // --- 콤보 ---
48 UPROPERTY(EditAnywhere, BlueprintReadOnly)
49 TObjectPtr<UComboActionData> ComboActionData;
50
51 // --- GAS ---
52 UPROPERTY(EditAnywhere)
53 TMap<ECharacterInputID, TSubclassOf<UGameplayAbility>> StartInputAbilities;
54};
55
56
57
58// 적 전용 확장 데이터
59USTRUCT(BlueprintType)
61{
62 GENERATED_BODY()
63};
64
65UCLASS()
66class CK_UE_API UCharacterControlData : public UPrimaryDataAsset
67{
68 GENERATED_BODY()
69
70public:
72
73 // --- 데이터 테이블 ---
74 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Stat)
75 TObjectPtr<UDataTable> StatTable;
76
77 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Stat)
78 FName StatRowName;
79
80 // --- GAS ---
81 UPROPERTY(EditAnywhere, Category = GAS)
82 TArray<TSubclassOf<UGameplayAbility>> StartAbilities;
83
84 // --- 확장 데이터 ---
85 UPROPERTY(EditAnywhere, Category = "Extended", meta = (BaseStruct = "/Script/CK_UE.CharacterExtendedDataBase", ExcludeBaseStruct))
86 TArray<FInstancedStruct> ExtendedData;
87
88 // 확장 데이터 검색 헬퍼 함수
89 template<typename T>
90 const T* FindExtendedData() const
91 {
92 for (const FInstancedStruct& Data : ExtendedData)
93 {
94 if (const T* Found = Data.GetPtr<T>())
95 {
96 return Found;
97 }
98 }
99 return nullptr;
100 }
101};
ECharacterInputID
Definition CK_InputType.h:10
Definition CK_UE.Build.cs:6
Definition CharacterControlData.h:67
Definition ComboActionData.h:14
Definition CharacterControlData.h:18
Definition CharacterControlData.h:61
Definition CharacterControlData.h:25