DRG-Femboy-Voice/Source/FSD/Public/EnemyAnimInstance.h
2025-04-15 12:39:31 -07:00

56 lines
1.9 KiB
C++
Executable file

#pragma once
#include "CoreMinimal.h"
#include "Animation/AnimInstance.h"
#include "AnimNotifyDelegateDelegate.h"
#include "IsAttackingChangedDelegateDelegate.h"
#include "NameDelegateDelegate.h"
#include "EnemyAnimInstance.generated.h"
class UHealthComponentBase;
class USkeletalMeshComponent;
UCLASS(Blueprintable, NonTransient)
class UEnemyAnimInstance : public UAnimInstance {
GENERATED_BODY()
public:
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FAnimNotifyDelegate OnRangedAttackNotify;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FNameDelegate OnMeleeAttackNotify;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FAnimNotifyDelegate OnStopLeadingNotify;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FIsAttackingChangedDelegate OnIsAttackingChanged;
protected:
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
bool IsAttacking;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
bool IsAlive;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
float RandomStartPosition;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Instanced, Transient, meta=(AllowPrivateAccess=true))
UHealthComponentBase* HealthComponent;
public:
UEnemyAnimInstance();
UFUNCTION(BlueprintCallable, BlueprintPure)
bool IsSlotPlayingAnyAnimation(FName SlotNodeName) const;
UFUNCTION(BlueprintCallable, BlueprintPure)
bool IsNotAttacking() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
bool IsDead() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
USkeletalMeshComponent* GetSkeletalMesh() const;
};