class FIRSTPROJECT_API AFloater : public AActor
{
GENERATED_BODY()
public:
// ...
// FVector를 선언해보자.
UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Category = "FloaterVectors")
FVector InitialLocation = FVector(0.0f);
// ...
class BASIC_API AFloater : public AActor
{
GENERATED_BODY()
public:
// Sets default values for this actor's properties
AFloater();
UPROPERTY(VisibleAnywhere, Category = "ActorMeshComponents")
UStaticMeshComponent* StaticMesh;
// Location use by SetActorLocation() when BegniPlay() is called
UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Category = "Floater Variables")
FVector InitialLocation;
// Location of the Actor when dragged in from the editor
UPROPERTY(VisibleInstanceOnly, BlueprintReadWrite, Category = "Floater Variables")
FVector PlacedLocation;
// Init Floater Location
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Floater Variables")
bool bInitializerFloaterLocations;
// Fill out your copyright notice in the Description page of Project Settings.
//#include "GamePlayActors/Floater.h"
#include "Floater.h"
// Sets default values
AFloater::AFloater()
{
// Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it.
PrimaryActorTick.bCanEverTick = true;
StaticMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("CustomStaticMesh"));
InitialLocation = FVector(0.0f);
PlacedLocation = FVector(0.0f);
bInitializerFloaterLocations = false;
}
// Called when the game starts or when spawned
void AFloater::BeginPlay()
{
Super::BeginPlay();
PlacedLocation = GetActorLocation();
if (bInitializerFloaterLocations)
{
SetActorLocation(InitialLocation);
}
}
// Called every frame
void AFloater::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
}
Full Code
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "Floater.generated.h"
UCLASS()
class BASIC_API AFloater : public AActor
{
GENERATED_BODY()
public:
// Sets default values for this actor's properties
AFloater();
UPROPERTY(VisibleAnywhere, Category = "ActorMeshComponents")
UStaticMeshComponent* StaticMesh;
// Location use by SetActorLocation() when BegniPlay() is called
UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Category = "Floater Variables")
FVector InitialLocation;
// Location of the Actor when dragged in from the editor
UPROPERTY(VisibleInstanceOnly, BlueprintReadWrite, Category = "Floater Variables")
FVector PlacedLocation;
// Init Floater Location
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Floater Variables")
bool bInitializerFloaterLocations;
protected:
// Called when the game starts or when spawned
virtual void BeginPlay() override;
public:
// Called every frame
virtual void Tick(float DeltaTime) override;
};