91 lines
2.2 KiB
C++
91 lines
2.2 KiB
C++
#pragma once
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "UObject/Interface.h"
|
|
#include "PlayerInterface.generated.h"
|
|
|
|
class UShooterOverlay;
|
|
struct FGameplayTag;
|
|
class AWeapon;
|
|
|
|
// This class does not need to be modified.
|
|
UINTERFACE(MinimalAPI)
|
|
class UPlayerInterface : public UInterface
|
|
{
|
|
GENERATED_BODY()
|
|
};
|
|
|
|
class FPSTEMPLATE_API IPlayerInterface
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
// Add interface functions to this class. This is the class that will be inherited to implement this interface.
|
|
|
|
public:
|
|
|
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable)
|
|
FName GetWeaponAttachPoint(const FGameplayTag& WeaponType) const;
|
|
|
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable)
|
|
USkeletalMeshComponent* GetSpecifcPawnMesh(bool WantFirstPerson) const;
|
|
|
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable)
|
|
USkeletalMeshComponent* GetPawnMesh() const;
|
|
|
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable)
|
|
bool IsFirstPerson() const;
|
|
|
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable)
|
|
void Initiate_CycleWeapon();
|
|
|
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable)
|
|
void Notify_CycleWeapon();
|
|
|
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable)
|
|
void Notify_ReloadWeapon();
|
|
|
|
UFUNCTION(BlueprintNativeEvent)
|
|
void Initiate_FireWeapon_Pressed();
|
|
|
|
UFUNCTION(BlueprintNativeEvent)
|
|
void Initiate_FireWeapon_Released();
|
|
|
|
UFUNCTION(BlueprintNativeEvent)
|
|
void Initiate_ReloadWeapon();
|
|
|
|
UFUNCTION(BlueprintNativeEvent)
|
|
void Initiate_Aim_Pressed();
|
|
|
|
UFUNCTION(BlueprintNativeEvent)
|
|
void Initiate_Aim_Released();
|
|
|
|
UFUNCTION(BlueprintNativeEvent)
|
|
void Initiate_Crouch();
|
|
|
|
UFUNCTION(BlueprintNativeEvent)
|
|
void Initiate_Jump();
|
|
|
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable)
|
|
bool DoDamage(float DamageAmount, AActor* DamageInstigator);
|
|
|
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable)
|
|
void AddAmmo(const FGameplayTag& WeaponType, int32 AmmoAmount);
|
|
|
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable)
|
|
AWeapon* GetCurrentWeapon();
|
|
|
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable)
|
|
int32 GetCarriedAmmo();
|
|
|
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable)
|
|
void InitializeWidgets();
|
|
|
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable)
|
|
bool IsDeadOrDying();
|
|
|
|
UFUNCTION(BlueprintNativeEvent, BlueprintCallable)
|
|
void WeaponReplicated();
|
|
};
|