1. Pre : 속성이 변하기전에 자동 호출되는 함수
Post : 속성이 변한후 자동 호출되는 함수
2. 구현
AS에서 구현함.
속성이 바뀌기 전에 자동실행되어, 범위를 제한함
void UAuraAttributeSet::PreAttributeChange(const FGameplayAttribute& Attribute, float& NewValue)
{
Super::PreAttributeChange(Attribute, NewValue);
if (Attribute == GetHealthAttribute()) //속성이 체력인경우
{
NewValue = FMath::Clamp(NewValue, 0.f, GetMaxHealth()); //new val을 범위제한함(0~최대체력)
}
if (Attribute == GetManaAttribute())
{
NewValue = FMath::Clamp(NewValue, 0.f, GetMaxMana());
}
}
3. 결과
마나포션을 먹어도 100이상으로 안올라감
'UE5 > GameplayEffect' 카테고리의 다른 글
[UE5] 커브테이블 만들기 // GE 하드코딩 해결, 포션레벨별 회복량 만들기 (0) | 2024.06.02 |
---|---|
[UE5] PostGameplayEffect // Data Getter 구현, Qualifier 'const' is only allowed on non-static member functions 오류해결 (0) | 2024.06.02 |
[UE5] Infinite이펙트 만들기 // 불에 닿으면 피감소 구현 (0) | 2024.06.02 |
[UE5] Stacking // 포션을 한번에 여러개 먹을시 제한설정 (0) | 2024.06.02 |
[UE5] 이펙트 종류 // 즉시 vs (기간,무한) vs 주기, 0.1초마다 마나1씩증가구현 2초동안 (0) | 2024.06.02 |