Add reworked Worker Enemy AI #3
|
@ -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);
|
||||
}
|
|
@ -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);
|
||||
};
|
Loading…
Reference in New Issue