ExoWest/Source/Exo/Public/Characters/ExoPlayerCharacter.h
Kubson96 b7263615c0 feat: add collecting HP and ammo
Player automatically collect HP and ammo when standing on crates. Ammo is collected only for owned gun.
2025-04-18 01:53:08 +02:00

58 lines
1.4 KiB
C++

// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "Characters/ExoCharacterBase.h"
#include "Components/CapsuleComponent.h"
#include "ExoPlayerCharacter.generated.h"
class UInteractionComponent;
class UShootingComponent;
UCLASS()
class EXO_API AExoPlayerCharacter : public AExoCharacterBase
{
GENERATED_BODY()
public:
AExoPlayerCharacter();
UPROPERTY(VisibleAnywhere, BlueprintReadOnly)
TObjectPtr<UInteractionComponent> InteractionComponent;
UPROPERTY(VisibleAnywhere, BlueprintReadOnly)
TObjectPtr<UShootingComponent> ShootingComponent;
UPROPERTY(EditAnywhere, Category = "Dodge Properties")
float DodgeForce = 5000.f;
UPROPERTY(EditAnywhere, Category = "Dodge Properties")
float DodgeCooldown = 2.f;
UPROPERTY(EditAnywhere, Category = "Movement Properties")
float WalkSpeed = 600.0f;
UPROPERTY(EditAnywhere, Category = "Movement Properties")
float SprintSpeed = 1500.0f;
UPROPERTY(EditAnywhere, Category = "Aiming")
float bIsAimingMode = false;
UPROPERTY(EditAnywhere, Category = "Health")
float CurrentHealth = 50.0f;
UFUNCTION()
void OnActorBeginOverlap(UPrimitiveComponent* OverlappedComp, AActor* OtherActor, UPrimitiveComponent* OtherComp,
int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult
);
UFUNCTION()
void AddHealthPoints(float addValue);
protected:
virtual void BeginPlay() override;
float MaxHealth = 100.0f;
};