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

61 lines
2.1 KiB
C++
Executable file

#pragma once
#include "CoreMinimal.h"
#include "UObject/NoExportTypes.h"
#include "UObject/NoExportTypes.h"
#include "Components/InstancedStaticMeshComponent.h"
#include "SplineDecoratorComponent.generated.h"
class UMaterialInterface;
class USplineComponent;
UCLASS(Blueprintable, EditInlineNew, ClassGroup=Custom, meta=(BlueprintSpawnableComponent))
class FSD_API USplineDecoratorComponent : public UInstancedStaticMeshComponent {
GENERATED_BODY()
public:
protected:
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float DistanceBetweenInstances;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
int32 StartIndex;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
int32 EndIndex;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
bool bUpdateContinuously;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FVector VerticalOffset;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FVector Scale;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float DistanceProgress;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Instanced, Transient, meta=(AllowPrivateAccess=true))
USplineComponent* SplineComponent;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
TArray<FTransform> NewInstancesTransforms;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
float Phase;
public:
USplineDecoratorComponent();
UFUNCTION(BlueprintCallable)
void Update(float DeltaTime);
UFUNCTION(BlueprintCallable)
void SetUpdateContinuously(bool InContinuously);
UFUNCTION(BlueprintCallable)
void SetSplineComponentAndMaterial(USplineComponent* InSplineComponent, int32 ElementIndex, UMaterialInterface* Material);
UFUNCTION(BlueprintCallable)
void SetSplineComponent(USplineComponent* InSplineComponent);
};