// Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "Components/SphereComponent.h" #include "GameFramework/Actor.h" #include "GameFramework/ProjectileMovementComponent.h" #include "ProjectileBase.generated.h" UCLASS() class OPENCONFLICT_API AProjectileBase : public AActor { GENERATED_BODY() /*UPROPERTY and UFUNCTION declarations*/ private: /*Properties*/ /*Functions*/ protected: /*Properties*/ /*Functions*/ public: /*Properties*/ UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Projectile") UStaticMeshComponent* projectileMesh; UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Projectile") USphereComponent* collision; UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Projectile") UProjectileMovementComponent* projectileMotion; /*Functions*/ UFUNCTION() void OnHit(UPrimitiveComponent* HitComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit); /*C++ only declarations*/ private: /*Properties*/ /*Functions*/ protected: /*Properties*/ /*Functions*/ // Called when the game starts virtual void BeginPlay() override; public: /*Properties*/ /*Functions*/ // Called every frame virtual void Tick(float DeltaTime) override; // Sets default values for this actor's properties AProjectileBase(); };