65 lines
1.4 KiB
C++
65 lines
1.4 KiB
C++
// 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();
|
|
|
|
};
|