Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
GrantedHandles.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 "ActiveGameplayEffectHandle.h"
7#include "GameplayAbilitySpec.h"
8#include "GameplayAbilitySpecHandle.h"
9#include "GrantedHandles.generated.h"
10
11class UAbilitySystemComponent;
12struct FGameplayEffectSpec;
13
22USTRUCT(BlueprintType)
23struct CK_UE_API FGrantedHandles
24{
25 GENERATED_BODY()
26
27 // 부여된 어빌리티 SpecHandle 목록.
28 UPROPERTY(Transient)
29 TArray<FGameplayAbilitySpecHandle> AbilitySpecHandles;
30
31 // 적용된 Active GE 핸들 목록.
32 UPROPERTY(Transient)
33 TArray<FActiveGameplayEffectHandle> EffectHandles;
34
35 // 어빌리티 부여 + 핸들 자동 기록. 실패 시 빈 핸들 반환.
36 FGameplayAbilitySpecHandle GiveAbility(UAbilitySystemComponent* ASC, const FGameplayAbilitySpec& Spec);
37
38 // GE Spec 을 Self 에 적용 + Active 핸들 자동 기록. 실패 시 빈 핸들 반환.
39 FActiveGameplayEffectHandle ApplyEffectSpecToSelf(UAbilitySystemComponent* ASC, const FGameplayEffectSpec& Spec);
40
41 // 기록된 모든 어빌리티/GE 회수 후 컨테이너 비움.
42 // 진행 중인 어빌리티는 CancelAbilityHandle 후 ClearAbility.
43 void TakeFromAbilitySystem(UAbilitySystemComponent* ASC);
44
45 bool IsEmpty() const
46 {
47 return AbilitySpecHandles.Num() == 0 && EffectHandles.Num() == 0;
48 }
49};
Definition GrantedHandles.h:24