From f55152f91fadd0d4cdf1b139d6316a056b05927b Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Sun, 7 Mar 2021 03:58:51 -0500 Subject: [PATCH] cleanup --- .../Private/SpawningActor.cpp | 64 +------------------ .../Public/SpawningActor.h | 16 +---- 2 files changed, 3 insertions(+), 77 deletions(-) diff --git a/Source/ActorSpawningPlugin/Private/SpawningActor.cpp b/Source/ActorSpawningPlugin/Private/SpawningActor.cpp index 5b63d5a..e3a8a2c 100644 --- a/Source/ActorSpawningPlugin/Private/SpawningActor.cpp +++ b/Source/ActorSpawningPlugin/Private/SpawningActor.cpp @@ -12,10 +12,6 @@ DEFINE_LOG_CATEGORY(SpawningActorLog); ASpawningActor::ASpawningActor() { UE_LOG(SpawningActorLog, Log, TEXT("CTOR()")); - - // 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; } ASpawningActor::~ASpawningActor() @@ -32,58 +28,13 @@ void ASpawningActor::BeginDestroy() Super::BeginDestroy(); } -void ASpawningActor::Tick(float DeltaTime) -{ - Super::Tick(DeltaTime); -} - -ASpawnableActor* ASpawningActor::Spawn() -{ - // Spawn actor - // TODO(bt): This will memory leak. - ASpawnableActor* spawnedActor = (ASpawnableActor*)GetWorld()->SpawnActor(ASpawnableActor::StaticClass()); - - // Get player location - FVector playerLocation = GetWorld()->GetFirstPlayerController()->GetPawn()->GetActorLocation(); - - - // Teleport actor randomly - // TODO(bt): Put this in front of the camera, or on the (camera -> player) arc! - float x = FMath::RandRange(-4000.0f, 4000.0f); - float y = FMath::RandRange(-4000.0f, 4000.0f); - float z = FMath::RandRange(3000.0f, 10000.0f); - - FVector location( - playerLocation.X + x, - playerLocation.Y + y, - playerLocation.Z + z - ); - - FRotator rotation; - spawnedActor->SetActorLocationAndRotation( - location, - rotation, - false, - 0, - ETeleportType::ResetPhysics - ); - - // We don't want to keep the actor around indefinitely since they may pile up unused. - // Optionally, we could maintain a queue and cull the oldest actors. - spawnedActor->StartDestroyTimer(100.0); - - return spawnedActor; -} - ASpawnableStaticMeshActor* ASpawningActor::SpawnStaticMeshActor() { // Spawn actor // TODO(bt): This will memory leak. ASpawnableStaticMeshActor* spawnedActor = (ASpawnableStaticMeshActor*)GetWorld()->SpawnActor(ASpawnableStaticMeshActor::StaticClass()); - // Get player location - FVector playerLocation = GetWorld()->GetFirstPlayerController()->GetPawn()->GetActorLocation(); - + FVector playerLocation = LookupPlayerLocation(); // Teleport actor randomly // TODO(bt): Put this in front of the camera, or on the (camera -> player) arc! @@ -118,12 +69,6 @@ ASpawnableSkeletalMeshActor* ASpawningActor::SpawnSkeletalMeshActor() FActorSpawnParameters actorSpawnParams; actorSpawnParams.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::AlwaysSpawn; - // Spawn actor - // TODO(bt): This will memory leak. - //ASpawnableSkeletalMeshActor* spawnedActor = - // (ASpawnableSkeletalMeshActor*)GetWorld()->SpawnActor(ASpawnableSkeletalMeshActor::StaticClass()); - - // Get player location FVector playerLocation = LookupPlayerLocation(); // Teleport actor randomly @@ -187,13 +132,6 @@ ASoundSpawnActor* ASpawningActor::SpawnSoundActor(USoundBase* sound) return actor; } -void ASpawningActor::SpawnCallback(FString Channel, FString Message) -{ - UE_LOG(SpawningActorLog, Log, TEXT("SpawnCallback()")); - - Spawn(); -} - FVector ASpawningActor::LookupPlayerLocation() { return GetWorld()->GetFirstPlayerController()->GetPawn()->GetActorLocation(); diff --git a/Source/ActorSpawningPlugin/Public/SpawningActor.h b/Source/ActorSpawningPlugin/Public/SpawningActor.h index 626f911..8de51a2 100644 --- a/Source/ActorSpawningPlugin/Public/SpawningActor.h +++ b/Source/ActorSpawningPlugin/Public/SpawningActor.h @@ -24,22 +24,14 @@ public: ASpawningActor(); ~ASpawningActor(); - /** Create actor. */ - UFUNCTION(BlueprintCallable, Category = "SpawningActor") - ASpawnableActor* Spawn(); - - /** Create actor. */ + /** Create static mesh actor. */ UFUNCTION(BlueprintCallable, Category = "SpawningActor") ASpawnableStaticMeshActor* SpawnStaticMeshActor(); - /** Create actor. */ + /** Create skeletal mesh actor. */ UFUNCTION(BlueprintCallable, Category = "SpawningActor") ASpawnableSkeletalMeshActor* SpawnSkeletalMeshActor(); - /** Create actor with delegation callback. */ - UFUNCTION(BlueprintCallable, Category = "SpawningActor") - void SpawnCallback(FString Channel, FString Message); - /** Create sound actor. */ UFUNCTION(BlueprintCallable, Category = "SpawningActor") ASoundSpawnActor* SpawnSoundActor(USoundBase* sound); @@ -56,8 +48,4 @@ protected: // Lookup the player's location. FVector LookupPlayerLocation(); - -public: - // Called every frame - virtual void Tick(float DeltaTime) override; };