// Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "GameFramework/Actor.h" #include "GunBase.generated.h" UCLASS() class EXO_API AGunBase : public AActor { GENERATED_BODY() public: // Sets default values for this actor's properties AGunBase(); UPROPERTY(EditAnywhere, Category = "Shooting") float MaxRange = 2000.0f; UPROPERTY(EditAnywhere, Category = "Shooting") float DamageValue = 100.0f; UPROPERTY(EditAnywhere, Category = "Shooting") float FireRateCooldown = 1.0f; UPROPERTY(EditAnywhere, Category = "Shooting") float RecoilForceMultiplier = 1.0f; UPROPERTY(EditAnywhere, Category = "Shooting") float ReloadTime = 3.0f; UPROPERTY(EditAnywhere, Category = "Ammo") int32 CurrentAmmo = 10; UPROPERTY(EditAnywhere, Category = "Ammo") int32 MaxAmmo = 10; protected: // Called when the game starts or when spawned virtual void BeginPlay() override; public: // Called every frame virtual void Tick(float DeltaTime) override; };