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

84 lines
2.8 KiB
C++
Executable file

#pragma once
#include "CoreMinimal.h"
#include "UObject/NoExportTypes.h"
#include "UObject/NoExportTypes.h"
#include "UObject/NoExportTypes.h"
#include "EnemyPawn.h"
#include "TentacleBase.generated.h"
class AStabberVineRoot;
class USceneComponent;
class USplineComponent;
UCLASS(Abstract, Blueprintable)
class ATentacleBase : public AEnemyPawn {
GENERATED_BODY()
public:
UPROPERTY(BlueprintReadWrite, EditAnywhere, Instanced, meta=(AllowPrivateAccess=true))
USplineComponent* SplineComponent;
protected:
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FTransform RestTransform;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FVector TargetLocation;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float HeadMovementDuration;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float CanSwayCooldown;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FVector2D SwayRange;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float NeckBaseTangentLength;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FVector NeckBasePositionOffset;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FVector NeckBaseTangentOffset;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float NeckTopTangentLength;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float DurationTentacleRetract;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float DurationTentacleFoldout;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Instanced, Transient, meta=(AllowPrivateAccess=true))
USceneComponent* HeadRoot;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Instanced, Transient, meta=(AllowPrivateAccess=true))
USceneComponent* HeadRotator;
public:
ATentacleBase();
UFUNCTION(BlueprintCallable)
void SetRestingTransform(const FTransform& restingTransform, bool startAtRest);
protected:
UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
void Recieve_OnRep_Owner();
public:
UFUNCTION(BlueprintCallable)
void MoveHydraHead(FTransform newDesiredTransform, float newCanSwayCooldown, float newHeadMovementDuration, bool UseSpring);
protected:
UFUNCTION(BlueprintCallable, BlueprintPure)
AStabberVineRoot* GetStabberVineRoot() const;
UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
USceneComponent* GetHeadRotator();
UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
USceneComponent* GetHeadRoot();
};