Added interface for damage. Added shooting component with simple shooting system. Fix missing action bindings in player controller. Added cylinder mesh to ExoEnemy and place him on TestMap.
43 lines
1.0 KiB
C++
43 lines
1.0 KiB
C++
// Fill out your copyright notice in the Description page of Project Settings.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Components/ActorComponent.h"
|
|
#include "Interfaces/Damageable.h"
|
|
#include "ShootingComponent.generated.h"
|
|
|
|
|
|
UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) )
|
|
class EXO_API UShootingComponent : public UActorComponent
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
// Sets default values for this component's properties
|
|
UShootingComponent();
|
|
|
|
UPROPERTY(EditAnywhere, Category = "Shooting")
|
|
float MaxRange = 2000.0f;
|
|
|
|
UPROPERTY(EditAnywhere, Category = "Shooting")
|
|
float DamageValue = 100.0f;
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Debug")
|
|
bool bShowDebugLine = true;
|
|
|
|
protected:
|
|
// Called when the game starts
|
|
virtual void BeginPlay() override;
|
|
|
|
public:
|
|
// Called every frame
|
|
virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;
|
|
|
|
UFUNCTION(Category = "Shooting")
|
|
void Shoot();
|
|
|
|
//UFUNCTION(Category = "Shooting")
|
|
//void Reload();
|
|
};
|