#include <CharacterAnimInstance.h>
◆ UCharacterAnimInstance()
| UCharacterAnimInstance::UCharacterAnimInstance |
( |
| ) |
|
14{
19}
float AnimInterpSpeed
Definition CharacterAnimInstance.h:63
float Direction
Definition CharacterAnimInstance.h:51
float DirInterpSpeed
Definition CharacterAnimInstance.h:60
uint8 bIsCharging
Definition CharacterAnimInstance.h:57
◆ CacheOwnerReferences()
| void UCharacterAnimInstance::CacheOwnerReferences |
( |
| ) |
|
|
protected |
106{
107 Owner = Cast<ACharacter>(GetOwningActor());
109
110 if (IsValid(
Owner) ==
false)
111 {
112 return;
113 }
114
116
118 {
119 return;
120 }
121
122 CachedASC = UAbilitySystemBlueprintLibrary::GetAbilitySystemComponent(
Owner);
123
125 {
126 return;
127 }
128
129
131
133 {
135 }
136}
Definition CharacterBase.h:21
FORCEINLINE FOnAbilitySystemReady & GetOnAbilitySystemReady()
Definition CharacterBase.h:41
TObjectPtr< UAbilitySystemComponent > CachedASC
Definition CharacterAnimInstance.h:70
TObjectPtr< UCharacterMovementComponent > Movement
Definition CharacterAnimInstance.h:45
TObjectPtr< ACharacter > Owner
Definition CharacterAnimInstance.h:42
void OnAbilitySystemReady(UAbilitySystemComponent *InASC)
Definition CharacterAnimInstance.cpp:139
FDelegateHandle ASCReadyHandle
Definition CharacterAnimInstance.h:74
◆ NativeBeginPlay()
| void UCharacterAnimInstance::NativeBeginPlay |
( |
| ) |
|
|
overrideprotectedvirtual |
UPlayerAnimInstance에서 재구현되었습니다.
36{
37 Super::NativeBeginPlay();
38
40
42 {
44 }
45}
virtual void TryBindTagEvent()
Definition CharacterAnimInstance.cpp:162
void CacheOwnerReferences()
Definition CharacterAnimInstance.cpp:105
◆ NativeInitializeAnimation()
| void UCharacterAnimInstance::NativeInitializeAnimation |
( |
| ) |
|
|
overrideprotectedvirtual |
◆ NativeUninitializeAnimation()
| void UCharacterAnimInstance::NativeUninitializeAnimation |
( |
| ) |
|
|
overrideprotectedvirtual |
49{
50 Super::NativeUninitializeAnimation();
51
53 {
55 }
56
58 {
60 {
62 }
63
65 }
66
68}
virtual void TryRemoveTagEvent()
Definition CharacterAnimInstance.cpp:175
◆ NativeUpdateAnimation()
| void UCharacterAnimInstance::NativeUpdateAnimation |
( |
float |
DeltaSeconds | ) |
|
|
overrideprotectedvirtual |
UPlayerAnimInstance에서 재구현되었습니다.
72{
73 Super::NativeUpdateAnimation(DeltaSeconds);
74
76 {
77 return;
78 }
79
80 const float MovementSpeed =
Movement->Velocity.Size2D();
82}
virtual bool UpdateAnimation(float DeltaSeconds, float CurrentSpdOverride, float TargetSpdOverride)
Definition CharacterAnimInstance.cpp:85
uint8 bIsIdle
Definition CharacterAnimInstance.h:54
◆ OnAbilitySystemReady()
| void UCharacterAnimInstance::OnAbilitySystemReady |
( |
UAbilitySystemComponent * |
InASC | ) |
|
|
protected |
140{
141 if (InASC ==
nullptr || InASC ==
CachedASC)
142 {
143 return;
144 }
145
147 {
149 }
150
153}
◆ OnChargingTagChanged()
| void UCharacterAnimInstance::OnChargingTagChanged |
( |
const FGameplayTag |
Tag, |
|
|
int32 |
NewCount |
|
) |
| |
|
protected |
◆ TryBindTagEvent()
| void UCharacterAnimInstance::TryBindTagEvent |
( |
| ) |
|
|
protectedvirtual |
UPlayerAnimInstance에서 재구현되었습니다.
163{
165 {
166 return;
167 }
168
169 FOnGameplayEffectTagCountChanged& Event =
CachedASC->RegisterGameplayTagEvent(TAG_CHARACTER_STATE_COMBAT_ISCHARGING, EGameplayTagEventType::NewOrRemoved);
172}
void OnChargingTagChanged(const FGameplayTag Tag, int32 NewCount)
Definition CharacterAnimInstance.cpp:156
FDelegateHandle ChargingTagEventHandle
Definition CharacterAnimInstance.h:73
◆ TryRemoveTagEvent()
| void UCharacterAnimInstance::TryRemoveTagEvent |
( |
| ) |
|
|
protectedvirtual |
UPlayerAnimInstance에서 재구현되었습니다.
176{
178 {
179 return;
180 }
181
182 FOnGameplayEffectTagCountChanged& Event =
CachedASC->RegisterGameplayTagEvent(TAG_CHARACTER_STATE_COMBAT_ISCHARGING, EGameplayTagEventType::NewOrRemoved);
185}
◆ UpdateAnimation()
| bool UCharacterAnimInstance::UpdateAnimation |
( |
float |
DeltaSeconds, |
|
|
float |
CurrentSpdOverride, |
|
|
float |
TargetSpdOverride |
|
) |
| |
|
protectedvirtual |
UPlayerAnimInstance에서 재구현되었습니다.
86{
87 const float SafeIdleSpeedThreshold = FMath::Max(
IdleSpeedThreshold, KINDA_SMALL_NUMBER);
89
90 if (CurrentSpdOverride > SafeIdleSpeedThreshold)
91 {
92 const float TargetDirection = UKismetAnimationLibrary::CalculateDirection(
Movement->Velocity,
Owner->GetActorRotation());
93
94 const FRotator CurrentRotation(0.0f,
Direction, 0.0f);
95 const FRotator TargetRotation(0.0f, TargetDirection, 0.0f);
96
98 }
99
101 return CurrentSpdOverride < SafeIdleSpeedThreshold;
102}
float IdleSpeedThreshold
Definition CharacterAnimInstance.h:66
float CurrentSpeed
Definition CharacterAnimInstance.h:48
◆ AnimInterpSpeed
| float UCharacterAnimInstance::AnimInterpSpeed = 0.0f |
|
protected |
◆ ASCReadyHandle
| FDelegateHandle UCharacterAnimInstance::ASCReadyHandle |
|
private |
◆ bIsCharging
| uint8 UCharacterAnimInstance::bIsCharging |
|
protected |
◆ bIsIdle
| uint8 UCharacterAnimInstance::bIsIdle |
|
protected |
◆ CachedASC
| TObjectPtr<UAbilitySystemComponent> UCharacterAnimInstance::CachedASC |
|
protected |
◆ ChargingTagEventHandle
| FDelegateHandle UCharacterAnimInstance::ChargingTagEventHandle |
|
private |
◆ CurrentSpeed
| float UCharacterAnimInstance::CurrentSpeed = 0.0f |
|
protected |
◆ Direction
| float UCharacterAnimInstance::Direction = 0.0f |
|
protected |
◆ DirInterpSpeed
| float UCharacterAnimInstance::DirInterpSpeed = 0.0f |
|
protected |
◆ IdleSpeedThreshold
| float UCharacterAnimInstance::IdleSpeedThreshold = 1.0f |
|
protected |
◆ Movement
| TObjectPtr<UCharacterMovementComponent> UCharacterAnimInstance::Movement |
|
protected |
◆ Owner
| TObjectPtr<ACharacter> UCharacterAnimInstance::Owner |
|
protected |
이 클래스에 대한 문서화 페이지는 다음의 파일들로부터 생성되었습니다.: