Space Plunder
Loading...
Searching...
No Matches
UALSNotifyStateEarlyBlendOut Class Reference

#include <ALSNotifyStateEarlyBlendOut.h>

Inheritance diagram for UALSNotifyStateEarlyBlendOut:

Public Attributes

TObjectPtr< UAnimMontage > ThisMontage = nullptr
 
float BlendOutTime = 0.25f
 
bool bCheckMovementState = false
 
EALSMovementState MovementStateEquals = EALSMovementState::None
 
bool bCheckStance = false
 
EALSStance StanceEquals = EALSStance::Standing
 
bool bCheckMovementInput = false
 

Private Member Functions

virtual void NotifyTick (USkeletalMeshComponent *MeshComp, UAnimSequenceBase *Animation, float FrameDeltaTime, const FAnimNotifyEventReference &EventReference) override
 
virtual FString GetNotifyName_Implementation () const override
 

Detailed Description

Character early blend out anim state

Member Function Documentation

◆ GetNotifyName_Implementation()

FString UALSNotifyStateEarlyBlendOut::GetNotifyName_Implementation ( ) const
overrideprivatevirtual
48{
49 return FString(TEXT("Early Blend Out"));
50}

◆ NotifyTick()

void UALSNotifyStateEarlyBlendOut::NotifyTick ( USkeletalMeshComponent * MeshComp,
UAnimSequenceBase * Animation,
float FrameDeltaTime,
const FAnimNotifyEventReference & EventReference )
overrideprivatevirtual
12{
13 Super::NotifyTick(MeshComp, Animation, FrameDeltaTime, EventReference);
14
15 if (!MeshComp || !MeshComp->GetAnimInstance())
16 {
17 return;
18 }
19
20 UAnimInstance* AnimInstance = MeshComp->GetAnimInstance();
21 AALSBaseCharacter* OwnerCharacter = Cast<AALSBaseCharacter>(MeshComp->GetOwner());
22 if (!OwnerCharacter || !AnimInstance)
23 {
24 return;
25 }
26
27 bool bStopMontage = false;
29 {
30 bStopMontage = true;
31 }
32 else if (bCheckStance && OwnerCharacter->GetStance() == StanceEquals)
33 {
34 bStopMontage = true;
35 }
36 else if (bCheckMovementInput && OwnerCharacter->HasMovementInput())
37 {
38 bStopMontage = true;
39 }
40
41 if (bStopMontage)
42 {
43 AnimInstance->Montage_Stop(BlendOutTime, ThisMontage);
44 }
45}
Definition ALSBaseCharacter.h:38
bool HasMovementInput() const
Definition ALSBaseCharacter.h:254
EALSMovementState GetMovementState() const
Definition ALSBaseCharacter.h:99
EALSStance GetStance() const
Definition ALSBaseCharacter.h:114
float BlendOutTime
Definition ALSNotifyStateEarlyBlendOut.h:31
bool bCheckMovementState
Definition ALSNotifyStateEarlyBlendOut.h:34
bool bCheckMovementInput
Definition ALSNotifyStateEarlyBlendOut.h:46
EALSMovementState MovementStateEquals
Definition ALSNotifyStateEarlyBlendOut.h:37
bool bCheckStance
Definition ALSNotifyStateEarlyBlendOut.h:40
TObjectPtr< UAnimMontage > ThisMontage
Definition ALSNotifyStateEarlyBlendOut.h:28
EALSStance StanceEquals
Definition ALSNotifyStateEarlyBlendOut.h:43

Member Data Documentation

◆ bCheckMovementInput

bool UALSNotifyStateEarlyBlendOut::bCheckMovementInput = false

◆ bCheckMovementState

bool UALSNotifyStateEarlyBlendOut::bCheckMovementState = false

◆ bCheckStance

bool UALSNotifyStateEarlyBlendOut::bCheckStance = false

◆ BlendOutTime

float UALSNotifyStateEarlyBlendOut::BlendOutTime = 0.25f

◆ MovementStateEquals

EALSMovementState UALSNotifyStateEarlyBlendOut::MovementStateEquals = EALSMovementState::None

◆ StanceEquals

EALSStance UALSNotifyStateEarlyBlendOut::StanceEquals = EALSStance::Standing

◆ ThisMontage

TObjectPtr<UAnimMontage> UALSNotifyStateEarlyBlendOut::ThisMontage = nullptr

The documentation for this class was generated from the following files: