61 lines
2.1 KiB
C++
Executable file
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);
|
|
|
|
};
|
|
|