From d87a31ab6140c5fcb28083c9815d382209601c45 Mon Sep 17 00:00:00 2001 From: baz Date: Tue, 12 Mar 2024 17:45:45 +0000 Subject: [PATCH] Reparent HealthPickup to StaticMeshPickup --- Source/Nakatomi/HealthPickup.cpp | 20 -------------------- Source/Nakatomi/HealthPickup.h | 26 ++------------------------ 2 files changed, 2 insertions(+), 44 deletions(-) diff --git a/Source/Nakatomi/HealthPickup.cpp b/Source/Nakatomi/HealthPickup.cpp index 04648c0..552042f 100644 --- a/Source/Nakatomi/HealthPickup.cpp +++ b/Source/Nakatomi/HealthPickup.cpp @@ -1,42 +1,22 @@ #include "HealthPickup.h" -#include "HealthPickup.h" #include "PlayerCharacter.h" // Sets default values AHealthPickup::AHealthPickup() { - // 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; - - StaticMeshComponent = CreateDefaultSubobject(TEXT("StaticMesh")); - StaticMeshComponent->SetupAttachment(RootComponent); } // Called when the game starts or when spawned void AHealthPickup::BeginPlay() { Super::BeginPlay(); - StaticMeshComponent->SetWorldLocation(this->GetActorLocation()); - StartingLocation = this->GetActorLocation(); - StaticMeshComponent->SetCollisionProfileName(FName("NoCollision")); } // Called every frame void AHealthPickup::Tick(float DeltaTime) { Super::Tick(DeltaTime); - - if (StaticMeshComponent) - { - // Rotate Weapon in desired direction - StaticMeshComponent->AddLocalRotation((SpinRotation * RotationSpeed) * DeltaTime); - - // Bob weapon up and down - const float Time = GetWorld()->GetRealTimeSeconds(); - const float Sine = FMath::Abs(FMath::Sin(Time * MovementSpeed)); - StaticMeshComponent->SetRelativeLocation(StartingLocation + ((MovementDirection * Sine) * MovementDistance)); - } } void AHealthPickup::OnOverlapBegin(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, diff --git a/Source/Nakatomi/HealthPickup.h b/Source/Nakatomi/HealthPickup.h index d182ce0..372cd84 100644 --- a/Source/Nakatomi/HealthPickup.h +++ b/Source/Nakatomi/HealthPickup.h @@ -1,10 +1,10 @@ #pragma once -#include "Pickup.h" +#include "StaticMeshPickup.h" #include "HealthPickup.generated.h" UCLASS() -class NAKATOMI_API AHealthPickup : public APickup +class NAKATOMI_API AHealthPickup : public AStaticMeshPickup { GENERATED_BODY() @@ -12,28 +12,6 @@ public: UPROPERTY(EditDefaultsOnly, BlueprintReadWrite) float Health = 20.0f; - UPROPERTY(EditDefaultsOnly, BlueprintReadWrite) - UStaticMeshComponent* StaticMeshComponent = nullptr; - - UPROPERTY(EditDefaultsOnly, BlueprintReadWrite) - FVector MovementDirection = FVector(0.0f, 0.0f, 1.0f); - - UPROPERTY(EditDefaultsOnly, BlueprintReadWrite) - float MovementDistance = 1.0f; - - UPROPERTY(EditDefaultsOnly, BlueprintReadWrite) - float MovementSpeed = 1.0f; - - UPROPERTY(EditDefaultsOnly, BlueprintReadWrite) - FRotator SpinRotation = FRotator(0.0, 1.0f, 0.0f); - - UPROPERTY(EditDefaultsOnly, BlueprintReadWrite) - float RotationSpeed = 50.0f; - -private: - UPROPERTY() - FVector StartingLocation; - public: // Sets default values for this actor's properties AHealthPickup();