Skip to content

Commit

Permalink
feat : 속성정보 관련 클래스 구현, 속성들 입력
Browse files Browse the repository at this point in the history
구조체, 탐색함수
  • Loading branch information
Bisu96 committed Jun 7, 2024
1 parent 75ad559 commit 8f166a6
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 0 deletions.
23 changes: 23 additions & 0 deletions Source/Aura/Private/AbilitySystem/Data/AttributeInfo.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// Fill out your copyright notice in the Description page of Project Settings.


#include "AbilitySystem/Data/AttributeInfo.h"

FAuraAttributeInfo UAttributeInfo::FindAttributeInfoForTag(const FGameplayTag& AttributeTag, bool bLogNotFound) const
{
for(const FAuraAttributeInfo& Info : AttributeInformation)
{
if(Info.AttributeTag==AttributeTag) //배열안에 일치하는 태그가 있으면 그 정보 리턴
{
return Info;
}
}

if(bLogNotFound)
{
UE_LOG(LogTemp, Error, TEXT("Can`t find Info for AttributeTag [%s] on AttributeInfo [%s]."),*AttributeTag.ToString(),*GetNameSafe(this));
//속성이름, 이클래스의 이름
}

return FAuraAttributeInfo(); // 빈 속성정보 리턴
}
41 changes: 41 additions & 0 deletions Source/Aura/Public/AbilitySystem/Data/AttributeInfo.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "GameplayTagContainer.h"
#include "Engine/DataAsset.h"
#include "AttributeInfo.generated.h"

USTRUCT(BlueprintType)
struct FAuraAttributeInfo
{
GENERATED_BODY()

UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
FGameplayTag AttributeTag = FGameplayTag(); //초기화

UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
FText AttributeName = FText(); //표시될 위젯의 txt

UPROPERTY(EditDefaultsOnly, BlueprintReadOnly)
FText AttributeDescription = FText(); //표시될 위젯의 txt

UPROPERTY(BlueprintReadOnly) //DA에서 편집금지
float AttributeValue=0.f;
};

/**
*
*/
UCLASS()
class AURA_API UAttributeInfo : public UDataAsset
{
GENERATED_BODY()

public:
FAuraAttributeInfo FindAttributeInfoForTag(const FGameplayTag& AttributeTag, bool bLogNotFound=false) const;

UPROPERTY(EditDefaultsOnly,BlueprintReadOnly)
TArray<FAuraAttributeInfo> AttributeInformation; //속성 정보들, BP에서 의존성주입
};

0 comments on commit 8f166a6

Please sign in to comment.