mirror of
https://github.com/ApfelTeeSaft/UnrealEvent.git
synced 2026-08-27 03:43:40 +00:00
354 lines
13 KiB
C++
354 lines
13 KiB
C++
#pragma once
|
|
#include "CoreMinimal.h"
|
|
#include "UObject/NoExportTypes.h"
|
|
#include "UObject/NoExportTypes.h"
|
|
#include "UObject/NoExportTypes.h"
|
|
#include "GameFramework/OnlineReplStructs.h"
|
|
#include "EFortSpectatorBlendType.h"
|
|
#include "EPlayEventType.h"
|
|
#include "ESpectatorCameraType.h"
|
|
#include "FortPlayerControllerGameplay.h"
|
|
#include "NotificationUISettings.h"
|
|
#include "OnCameraTypeChangedDelegate.h"
|
|
#include "OnFollowedPlayerChangedDelegate.h"
|
|
#include "OnPlayerBecameIrrelevantDelegate.h"
|
|
#include "OnPlayerBecameRelevantDelegate.h"
|
|
#include "OnPlayerDiedDelegate.h"
|
|
#include "OnShowNotificationDelegate.h"
|
|
#include "OnShowNotificationsEnabledChangedDelegate.h"
|
|
#include "PlayerStateAthenaDelegateDelegate.h"
|
|
#include "QuickBarData.h"
|
|
#include "RemoteViewRotSnapshotManager.h"
|
|
#include "SavedPlayerSpectatorCameraData.h"
|
|
#include "SavedSpectatorCameras.h"
|
|
#include "SpectatorDelegateDelegate.h"
|
|
#include "Templates/SubclassOf.h"
|
|
#include "FortPlayerControllerSpectating.generated.h"
|
|
|
|
class AActor;
|
|
class ABattleMapPawn;
|
|
class AFortBroadcastRemoteClientInfo;
|
|
class AFortPlayerState;
|
|
class AFortPlayerStateAthena;
|
|
class AFortRelevancyZoneIndicator;
|
|
class AFortReplaySpectatorPawnBase;
|
|
class AFortSpectatorThirdPersonPawn;
|
|
class AHoverDronePawn;
|
|
class APlayerState;
|
|
class AVolume;
|
|
class UAthenaMarkerComponent;
|
|
class UAthenaPlayerMatchReport;
|
|
class UFortMiniMapTeamIndicators;
|
|
class UFortReplayContext;
|
|
class UFortSpectatorCameraComponent;
|
|
class UFortSpectatorSettings;
|
|
class UInputComponent;
|
|
class UMaterialInterface;
|
|
class UPostProcessComponent;
|
|
|
|
UCLASS(Blueprintable, Config=Game)
|
|
class FORTNITEGAME_API AFortPlayerControllerSpectating : public AFortPlayerControllerGameplay {
|
|
GENERATED_BODY()
|
|
public:
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
ESpectatorCameraType CurrentCameraType;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
TArray<ESpectatorCameraType> CameraModeCycle;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FLinearColor MinimapPlayerIconColorBase;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FLinearColor MinimapPlayerIconColorHovered;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
float ZoomThresholdForPlayerNames;
|
|
|
|
UPROPERTY(EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FQuickBarData QuickBarDefinitions[3];
|
|
|
|
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FOnFollowedPlayerChanged OnFollowedPlayerChanged;
|
|
|
|
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FOnCameraTypeChanged OnCameraTypeChanged;
|
|
|
|
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FOnPlayerBecameRelevant OnPlayerBecameRelevant;
|
|
|
|
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FOnPlayerBecameIrrelevant OnPlayerBecameIrrelevant;
|
|
|
|
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FPlayerStateAthenaDelegate OnPlayerStateAdded;
|
|
|
|
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FPlayerStateAthenaDelegate OnPlayerStateChanged;
|
|
|
|
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FOnPlayerDied OnPlayerDied;
|
|
|
|
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FSpectatorDelegate OnTimelineScrubbed;
|
|
|
|
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FSpectatorDelegate OnZoomChanged;
|
|
|
|
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FOnShowNotification OnShowNotification;
|
|
|
|
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FOnShowNotificationsEnabledChanged OnShowNotificationsEnabledChanged;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
UMaterialInterface* SpectatorPostProcessMaterial;
|
|
|
|
protected:
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Instanced, meta=(AllowPrivateAccess=true))
|
|
UPostProcessComponent* OutsideSafeZonePPComponent;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
TSubclassOf<AFortReplaySpectatorPawnBase> SpectatorPawnBaseClass;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
TSubclassOf<AFortSpectatorThirdPersonPawn> ThirdPersonPawnBaseClass;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
TSubclassOf<AHoverDronePawn> HoverDronePawnClass;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
TSubclassOf<ABattleMapPawn> BattleMapPawnClass;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
TSubclassOf<AHoverDronePawn> ARDronePawnClass;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
TSubclassOf<UFortMiniMapTeamIndicators> MinimapIndicatorClass;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
TArray<FSavedPlayerSpectatorCameraData> SavedCameraStates;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
TMap<APlayerState*, bool> PlayerRelevancyTrackingMap;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
TMap<FUniqueNetIdRepl, AFortPlayerStateAthena*> AddedPlayersMap;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
TMap<FString, UAthenaPlayerMatchReport*> PlayerMatchReports;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FVector ChaseCamOffset;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
AFortPlayerState* LastDamagerOfViewTarget;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
AActor* HoveredActor;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Instanced, meta=(AllowPrivateAccess=true))
|
|
UInputComponent* FullScreenMapInputComponent;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FSavedSpectatorCameras HotkeyCameras;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
AActor* LastKnownViewTarget;
|
|
|
|
private:
|
|
UPROPERTY(BlueprintReadWrite, Config, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FRemoteViewRotSnapshotManager RemoteViewRotSnapshotManager;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
UFortSpectatorSettings* SpectatorSettings;
|
|
|
|
public:
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
AVolume* CameraBoundsVolume;
|
|
|
|
protected:
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
TSubclassOf<AFortRelevancyZoneIndicator> RelevancyZoneIndicatorClass;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
AFortRelevancyZoneIndicator* RelevancyZoneIndicator;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
UFortReplayContext* ReplayContext;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Instanced, meta=(AllowPrivateAccess=true))
|
|
UAthenaMarkerComponent* MarkerComponent;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
TArray<AFortPlayerStateAthena*> SquadMembers;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
AFortBroadcastRemoteClientInfo* FollowedPlayerRemoteClientInfo;
|
|
|
|
public:
|
|
AFortPlayerControllerSpectating();
|
|
UFUNCTION(BlueprintCallable)
|
|
void ZoomIn(const float Val);
|
|
|
|
UFUNCTION()
|
|
void UpdateReplayEvents(EPlayEventType Type);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void ToggleSpectatorHUD();
|
|
|
|
protected:
|
|
UFUNCTION(BlueprintCallable)
|
|
void SpectatorSpecialAction();
|
|
|
|
UFUNCTION(BlueprintCallable, Exec)
|
|
void SpectatorClearSavedCameraShots();
|
|
|
|
public:
|
|
UFUNCTION(BlueprintCallable)
|
|
void ShowHoveredPlayersConsoleProfile();
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void SetShowVehiclesOnMap(bool bInShowVehiclesOnMap);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void SetShowPlayersOnMap(bool bInShowPlayersOnMap);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void SetShowBusPathsOnMap(bool bInShowBusPathsOnMap);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void SetNotificationsEnabled(bool bNewState);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void SetNewCameraType(ESpectatorCameraType NewCameraType, bool bReset);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void SetMapWeaponTracersEnabled(bool bEnable);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void SetFollowedPlayer(AFortPlayerState* NewPlayerToFollow);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void SetBlendType(EFortSpectatorBlendType NewBlendType);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void ResetCamera();
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void ResetAllCameras();
|
|
|
|
protected:
|
|
UFUNCTION(BlueprintCallable)
|
|
void PlayerBecameRelevant(AFortPlayerState* FPS);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void OnNextCameraMode();
|
|
|
|
public:
|
|
UFUNCTION(BlueprintCallable)
|
|
bool JumpToHoveredActor();
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
bool IsPlayerInRelevancy(const AFortPlayerState* FPS) const;
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
bool IsFollowedPlayerInBus() const;
|
|
|
|
protected:
|
|
UFUNCTION(BlueprintCallable)
|
|
bool IsAllowedChangeCamera();
|
|
|
|
public:
|
|
UFUNCTION(BlueprintCallable)
|
|
void HandleTimelineScrubbed();
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure=false)
|
|
void HandleNewNotificationRequest(const FText& NotificationText, const FNotificationUISettings& NotificationSettings) const;
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
UFortSpectatorSettings* GetSpectatorSettings_BP() const;
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
bool GetShowVehiclesOnMap() const;
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
bool GetShowPlayersOnMap() const;
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
bool GetShowBusPathsOnMap() const;
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
UAthenaMarkerComponent* GetMarkerComponent() const;
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
bool GetMapWeaponTracersEnabled() const;
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
AFortPlayerState* GetFollowedPlayer() const;
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
UFortSpectatorCameraComponent* GetCurrentSpectatorCameraComponent() const;
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
EFortSpectatorBlendType GetBlendType() const;
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
TMap<FUniqueNetIdRepl, AFortPlayerStateAthena*> GetAddedPlayersMap() const;
|
|
|
|
protected:
|
|
UFUNCTION(BlueprintCallable)
|
|
void FullscreenMapZoom(float Value);
|
|
|
|
public:
|
|
UFUNCTION(BlueprintCallable)
|
|
void FullScreenMapCursorStopDrag();
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void FullScreenMapCursorStartDrag();
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void FullScreenMapCursorMoved(const FVector2D& CursorWidgetLocation, const FVector2D& CursorDelta);
|
|
|
|
UFUNCTION(BlueprintCallable, Exec)
|
|
void FollowPrevTeamMember();
|
|
|
|
UFUNCTION(BlueprintCallable, Exec)
|
|
void FollowPrevSquadMember();
|
|
|
|
UFUNCTION(BlueprintCallable, Exec)
|
|
void FollowPrevPlayer();
|
|
|
|
UFUNCTION(BlueprintCallable, Exec)
|
|
void FollowPlayerByName(const FString& PlayerName);
|
|
|
|
UFUNCTION(BlueprintCallable, Exec)
|
|
void FollowNextTeamMember();
|
|
|
|
UFUNCTION(BlueprintCallable, Exec)
|
|
void FollowNextSquadMember();
|
|
|
|
UFUNCTION(BlueprintCallable, Exec)
|
|
void FollowNextPlayer();
|
|
|
|
UFUNCTION(BlueprintCallable, Exec)
|
|
void FollowLastDamagerOfViewTarget();
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
bool FollowHoveredPlayer();
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
AFortPlayerState* FindPlayerStateByUID(const FUniqueNetIdRepl& UID) const;
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
bool CanRespawnAfterDeath() const;
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
bool AreNotificationsEnabled() const;
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void AdjustNormalizedDistanceToPlayer(const float Val);
|
|
|
|
};
|
|
|