Initial Commit - Lesson 31 (Commit #1)

This commit is contained in:
Norman Lansing
2026-02-24 22:39:26 -05:00
commit 9591e7f503
4631 changed files with 1019212 additions and 0 deletions

View File

@@ -0,0 +1,90 @@
#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();
};