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

174 lines
6.3 KiB
C++
Executable file

#pragma once
#include "CoreMinimal.h"
#include "UObject/NoExportTypes.h"
#include "EMoveDirection.h"
#include "ESpiderDeathAnimationCategory.h"
#include "EnemyAnimInstance.h"
#include "FootStepNotifyTarget.h"
#include "RandomWalkCycleEntry.h"
#include "SpiderAnimInstance.generated.h"
class UAnimSequenceBase;
class UEnemyPlaySoundKey;
class UEnemySpawnEffectsKey;
class UParticleSystem;
class USoundCue;
UCLASS(Blueprintable, NonTransient)
class USpiderAnimInstance : public UEnemyAnimInstance, public IFootStepNotifyTarget {
GENERATED_BODY()
public:
protected:
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
float Speed;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
FVector Velocity;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float WalkCycleSpeed;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float StartMovingSpeed;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float StopMovingSpeed;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float WalkCycleMinRate;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
float WalkCyclePlayRate;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
float MeshScale;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
float Direction;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float PathDirectionLerpSpeedIn;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float PathDirectionLerpSpeedOut;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
float PathDirection;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
float HorizontalAngularSpeed;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
float HorizontalAngularSpeed_Abs;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
float VerticalAngularSpeed;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
EMoveDirection MoveDirection;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
bool IsMoving;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
bool IsStrafing;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
bool IsMovingAndStrafing;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
bool IsFrozen;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
bool IsStaggered;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
float StaggerStrength;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
bool IsAirborne;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
UParticleSystem* FootstepParticle;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
USoundCue* FootstepSound;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FName FootStepLeftBoneName;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FName FootStepRightBoneName;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float FootStepParticleCullDistance;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
TMap<UEnemyPlaySoundKey*, USoundCue*> PlaySoundByKeyMap;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
TMap<UEnemySpawnEffectsKey*, UParticleSystem*> SpawnEffectsByKeyMap;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
int32 RandomWalkCycleIndex;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
TArray<FRandomWalkCycleEntry> RandomWalkCycles;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
bool TurnToIdle;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
bool IdleToTurnLeft;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
bool IdleToTurnRight;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
bool TurnToWalk;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
bool WalkToTurnRight;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
bool WalkToTurnLeft;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
bool IsInFakePhysics;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
ESpiderDeathAnimationCategory DeathAnimationCategory;
public:
USpiderAnimInstance();
UFUNCTION(BlueprintCallable)
void SetMeshScale(float NewScale);
UFUNCTION(BlueprintCallable)
void SetDeathAnimationCategory(ESpiderDeathAnimationCategory Category);
UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
void SetDeathAnimation(UAnimSequenceBase* Animation);
UFUNCTION(BlueprintCallable)
void PlayForcedCycle(float Duration);
UFUNCTION(BlueprintCallable, BlueprintPure)
bool IsNotStrafing() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
bool IsNotStaggered() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
bool IsNotMoving() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
bool IsNotFrozen() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
bool IsNotAirborne() const;
// Fix for true pure virtual functions not being implemented
};