Create PatrolRoute

This commit is contained in:
baz 2024-02-08 23:41:11 +00:00
parent dcd292cb48
commit b381da2744
2 changed files with 66 additions and 0 deletions

View File

@ -0,0 +1,34 @@
// Fill out your copyright notice in the Description page of Project Settings.
#include "PatrolRoute.h"
// Sets default values
APatrolRoute::APatrolRoute()
{
PrimaryActorTick.bCanEverTick = false;
Spline = CreateDefaultSubobject<USplineComponent>(TEXT("Spline"));
Spline->SetupAttachment(RootComponent);
}
void APatrolRoute::IncrementPatrolRoute()
{
if (PatrolIndex == Spline->GetNumberOfSplinePoints() - 1)
{
Direction = -1;
}
else if (PatrolIndex == 0)
{
Direction = 1;
}
PatrolIndex += Direction;
}
FVector APatrolRoute::GetSplinePointAtWorld(int pointIndex)
{
return Spline->GetLocationAtSplinePoint(pointIndex, ESplineCoordinateSpace::World);
}

View File

@ -0,0 +1,32 @@
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "Components/SplineComponent.h"
#include "GameFramework/Actor.h"
#include "PatrolRoute.generated.h"
UCLASS()
class NAKATOMI_API APatrolRoute : public AActor
{
GENERATED_BODY()
public:
UPROPERTY(BlueprintReadWrite)
USplineComponent* Spline;
private:
int PatrolIndex = 0;
int Direction;
public:
// Sets default values for this actor's properties
APatrolRoute();
void IncrementPatrolRoute();
FVector GetSplinePointAtWorld(int pointIndex);
};