12#include "CoreMinimal.h"
13#include "GameFramework/Actor.h"
14#include "Components/SplineComponent.h"
15#include "Components/SplineMeshComponent.h"
16#include <DeskSimV2/SaveGame/IsSaveableInterface.h>
17#include "DrawDebugHelpers.h"
18#include "SplineActor.generated.h"
29 void OnConstruction(
const FTransform& Transform)
override;
33 virtual void BeginPlay()
override;
37 virtual void Tick(
float DeltaTime)
override;
40 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category =
"Spline")
41 USplineComponent* SplineComponent;
43 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Spline")
44 UStaticMesh* RailwayMesh;
46 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Spline")
47 UStaticMesh* BufferStopStartMesh;
49 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Spline")
50 UStaticMesh* BufferStopEndMesh;
52 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Spline")
53 TEnumAsByte<ESplineMeshAxis::Type> ForwardAxis;
55 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Spline")
56 int DistanceBetweenSplinePoints;
58 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Spline")
59 float MaxHeightAllowed;
61 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Spline")
62 float MaxAngleAllowed;
64 UPROPERTY(VisibleAnywhere, Category = "Spline")
67 UPROPERTY(VisibleAnywhere, Category = "Spline")
68 bool bTrackTooWinding;
71 float GetMeshAxisLength(UStaticMesh* Mesh, ESplineMeshAxis::Type Axis) const;
73 FHitResult GetTerrainHitFromLineTrace(FVector Position) const;
75 void CheckSplineCurvature();
77 FCollisionQueryParams TerrainTraceParams;
79 TArray<FVector> UpdatedSplinePoints;
Definition: SplineActor.h:22
Definition: IsSaveableInterface.h:20