Files
2026-04-22 15:51:07 +02:00

260 lines
10 KiB
C++

#pragma once
#include "CoreMinimal.h"
#include "UObject/NoExportTypes.h"
#include "UObject/Object.h"
#include "GameFramework/OnlineReplStructs.h"
#include "AthenaRemotePlayerViewData.generated.h"
class AActor;
class AFortPlayerPawn;
class AFortPlayerStateAthena;
class AFortWeapon;
class UAthenaRemotePlayerViewData;
UCLASS(Blueprintable)
class UAthenaRemotePlayerViewData : public UObject {
GENERATED_BODY()
public:
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FWeaponDelegate, UAthenaRemotePlayerViewData*, PlayerData, AFortWeapon*, WeaponParam);
DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FVehicleDelegate, UAthenaRemotePlayerViewData*, PlayerData, AActor*, VehicleParam1, AActor*, VehicleParam2);
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FUInt8Delegate, UAthenaRemotePlayerViewData*, PlayerData, uint8, IntParam);
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FStringDelegate, UAthenaRemotePlayerViewData*, PlayerData, const FString&, StringParam);
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FPlayerStateDelegate, UAthenaRemotePlayerViewData*, PlayerData, AFortPlayerStateAthena*, PlayerState);
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FPawnDelegate, UAthenaRemotePlayerViewData*, PlayerData, AFortPlayerPawn*, PawnParam);
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FLinearColorDelegate, UAthenaRemotePlayerViewData*, PlayerData, FLinearColor, ColorParam);
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FIntDelegate, UAthenaRemotePlayerViewData*, PlayerData, int32, IntParam);
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FFloatDelegate, UAthenaRemotePlayerViewData*, PlayerData, float, FloatParam);
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FBoolDelegate, UAthenaRemotePlayerViewData*, PlayerData, bool, BoolParam);
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FPlayerStateDelegate OnPlayerStateChanged;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FLinearColorDelegate OnTeamColorChanged;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FUInt8Delegate OnSquadIdChanged;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FStringDelegate OnPlayerNameChanged;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FIntDelegate OnKillScoreChanged;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FStringDelegate OnLocationChanged;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FFloatDelegate OnHealthHealed;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FFloatDelegate OnHealthDamaged;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FFloatDelegate OnShieldHealed;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FFloatDelegate OnShieldDamaged;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FBoolDelegate OnDBNOStateChanged;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FBoolDelegate OnDeadStateChanged;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FBoolDelegate OnBeingRevivedStateChanged;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FBoolDelegate OnDisconnectedChanged;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FPawnDelegate OnPlayerPawnChanged;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FWeaponDelegate OnWeaponChanged;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FIntDelegate OnDistanceToStormChanged;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FIntDelegate OnPlaceChanged;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FIntDelegate OnMaterialCountChanged;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FFloatDelegate OnStormcapScoreChanged;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FBoolDelegate OnIsInRelevancyChanged;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FBoolDelegate OnIsFollowedPlayerChanged;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FBoolDelegate OnIsReplayRelevancyPlayerChanged;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FVehicleDelegate OnVehicleStateChanged;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FFloatDelegate OnVehicleHealthHealed;
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FFloatDelegate OnVehicleHealthDamaged;
private:
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
FUniqueNetIdRepl PlayerUID;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
AFortPlayerStateAthena* PlayerState;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
AFortPlayerPawn* CachedPlayerPawn;
public:
UAthenaRemotePlayerViewData();
UFUNCTION(BlueprintCallable)
void UpdatePlayerPawn();
UFUNCTION(BlueprintCallable)
void UpdateDistanceToStorm();
UFUNCTION(BlueprintCallable)
void SetPlayerState(AFortPlayerStateAthena* InPlayerState);
UFUNCTION(BlueprintCallable, BlueprintPure)
float GetVehicleMaxHealth() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
float GetVehicleHealthPercent() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
float GetVehicleHealth() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
AActor* GetVehicle() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
FLinearColor GetTeamColor() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
float GetStormcapScore() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
uint8 GetSquadId() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
float GetShieldPercent() const;
UFUNCTION(BlueprintCallable)
FUniqueNetIdRepl GetPlayerUID() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
AFortPlayerStateAthena* GetPlayerState() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
AFortPlayerPawn* GetPlayerPawn() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
FString GetPlayerName() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
int32 GetPlace() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
int32 GetMaterialCount() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
FString GetLocation() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
int32 GetKillScore() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
bool GetIsReplayRelevancyPlayer() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
bool GetIsInRelevancy() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
bool GetIsFollowedPlayer() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
bool GetIsEliminated() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
bool GetIsDrivingVehicle() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
bool GetIsDisconnected() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
bool GetIsDead() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
bool GetIsDBNO() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
bool GetIsBeingRevived() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
bool GetInAircraft() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
float GetHealthPercent() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
int32 GetDistanceToStorm() const;
UFUNCTION(BlueprintCallable, BlueprintPure)
AFortWeapon* GetCurrentWeapon() const;
private:
UFUNCTION(BlueprintCallable)
void ForwardOnWeaponChanged(AFortWeapon* InNewWeapon, AFortWeapon* InPrevWeapon);
UFUNCTION(BlueprintCallable)
void ForwardOnVehicleStateChanged(AFortPlayerPawn* InPawn, AActor* InNewVehicle, AActor* InOldVehicle);
UFUNCTION(BlueprintCallable)
void ForwardOnVehicleHealthChanged();
UFUNCTION(BlueprintCallable)
void ForwardOnStormcapScoreChanged(float InScore);
UFUNCTION(BlueprintCallable)
void ForwardOnSquadIdChanged(uint8 InSquadId);
UFUNCTION(BlueprintCallable)
void ForwardOnPlayerNameChanged(AFortPlayerStateAthena* InPlayerState, const FString& InPlayerName);
UFUNCTION(BlueprintCallable)
void ForwardOnPlaceChanged(int32 InPlace);
UFUNCTION(BlueprintCallable)
void ForwardOnLocationChanged(const FString& InLocation);
UFUNCTION(BlueprintCallable)
void ForwardOnKillScoreChanged(AFortPlayerStateAthena* InPlayerState, int32 InKillScore);
UFUNCTION(BlueprintCallable)
void ForwardOnHitPointsStateChanged(AFortPlayerStateAthena* InPlayerState, float InHealthPercent, float InShieldPercent);
UFUNCTION(BlueprintCallable)
void ForwardOnDisconnectedChanged(AFortPlayerStateAthena* InPlayerState, bool bInIsDisconnected);
UFUNCTION(BlueprintCallable)
void ForwardOnDeadStateChanged(AFortPlayerStateAthena* InPlayerState, bool bInIsDead);
UFUNCTION(BlueprintCallable)
void ForwardOnDBNOStateChanged(AFortPlayerStateAthena* InPlayerState, bool bInIsDBNO);
UFUNCTION(BlueprintCallable)
void ForwardOnBeingRevivedStateChanged(AFortPlayerStateAthena* InPlayerState, bool bInIsBeingRevived);
};