84 lines
2.8 KiB
C++
Executable file
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();
|
|
|
|
};
|
|
|