mirror of
https://github.com/ApfelTeeSaft/UnrealEvent.git
synced 2026-08-27 11:53:38 +00:00
143 lines
6.4 KiB
C++
143 lines
6.4 KiB
C++
#pragma once
|
|
#include "CoreMinimal.h"
|
|
#include "UObject/NoExportTypes.h"
|
|
#include "GameFramework/Info.h"
|
|
#include "GameFramework/OnlineReplStructs.h"
|
|
#include "ActiveTieredCollectionLayoutArray.h"
|
|
#include "AvailableTierLayout.h"
|
|
#include "DeployableBaseArray.h"
|
|
#include "EDeployableBaseUseType.h"
|
|
#include "EHordeWaveStingerType.h"
|
|
#include "EnvironmentBuildingRestorationRecord.h"
|
|
#include "FortTierCollectionLayoutOutput.h"
|
|
#include "OnDeployableBasePlotsSpawnedDelegate.h"
|
|
#include "OnLocalDeployablePlotInventoryChangedDelegate.h"
|
|
#include "OnLocalPlayerEntersDeployablePlotDelegate.h"
|
|
#include "OnLocalPlayerLeavesDeployablePlotDelegate.h"
|
|
#include "PendingDeployableBaseUser.h"
|
|
#include "PendingDeployableManagerAction.h"
|
|
#include "Templates/SubclassOf.h"
|
|
#include "FortDeployableBaseManager.generated.h"
|
|
|
|
class ADeployableBasePlot;
|
|
class AFortDeployableBaseManager;
|
|
class UFortDeployableBaseCloudSaveItemDefinition;
|
|
class UFortDeployableBaseSkillTreeUnlocks;
|
|
class UFortTieredCollectionLayout;
|
|
class UObject;
|
|
|
|
UCLASS(Blueprintable, Config=Game)
|
|
class FORTNITEGAME_API AFortDeployableBaseManager : public AInfo {
|
|
GENERATED_BODY()
|
|
public:
|
|
protected:
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Replicated, meta=(AllowPrivateAccess=true))
|
|
uint8 bRestrictedBuildingActive: 1;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Replicated, Transient, meta=(AllowPrivateAccess=true))
|
|
uint8 bBusyWithPlotActions: 1;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
uint8 bDestroyAllBuildingPiecesOnReload: 1;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
int32 NumPiecesDestroyedOnZoneCleanupPerUpdate;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
int32 NumEnvPiecesRestoredPerUpdate;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
bool bDeployableBasesReadOnly;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Replicated, Transient, meta=(AllowPrivateAccess=true))
|
|
EDeployableBaseUseType DeployableBaseUseType;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Replicated, Transient, meta=(AllowPrivateAccess=true))
|
|
FActiveTieredCollectionLayoutArray ActiveTieredCollectionLayouts;
|
|
|
|
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FOnDeployableBasePlotsSpawned OnDeployableBasePlotsSpawned;
|
|
|
|
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FOnLocalPlayerEntersDeployablePlot OnLocalPlayerEntersDeployablePlotEvent;
|
|
|
|
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FOnLocalPlayerLeavesDeployablePlot OnLocalPlayerLeavesDeployablePlotEvent;
|
|
|
|
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FOnLocalDeployablePlotInventoryChanged OnLocalDeployablePlotInventoryChangedEvent;
|
|
|
|
private:
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Replicated, Transient, meta=(AllowPrivateAccess=true))
|
|
FDeployableBaseArray DeployableBaseArray;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
UFortDeployableBaseCloudSaveItemDefinition* DeployableBaseItemDefinition;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
TSubclassOf<ADeployableBasePlot> DeployableBasePlotClass;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
UFortDeployableBaseSkillTreeUnlocks* SupportedSkillTreeBasedUnlocks;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
int32 NumExpectedPlots;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
TArray<FPendingDeployableBaseUser> PendingUsers;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
TArray<FPendingDeployableManagerAction> PendingDeployableManagerActions;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
TArray<FEnvironmentBuildingRestorationRecord> EnvironmentActorsRequiringRestoration;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
uint8 bCaptureEnvironmentActorsForRestoration: 1;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
uint8 bWorldInitialized: 1;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
uint8 bKeepBasesOnLogout: 1;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
TArray<FUniqueNetIdRepl> PlayersPendingPlotReset;
|
|
|
|
public:
|
|
AFortDeployableBaseManager();
|
|
virtual void GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const override;
|
|
|
|
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable)
|
|
void SetKeepDeployableBasesOnLogout(bool bInKeepBasesOnLogout);
|
|
|
|
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable)
|
|
void ReloadAllPlots();
|
|
|
|
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, BlueprintPure)
|
|
bool GetTierOutputForSelectedTier(int32 Tier, const UFortTieredCollectionLayout* Layout, FFortTierCollectionLayoutOutput& Output) const;
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
int32 GetHighestDefeatedTierForPlayerAndLayout(FUniqueNetIdRepl PlayerID, const UFortTieredCollectionLayout* Layout) const;
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
EDeployableBaseUseType GetDeployableBaseUseType() const;
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
ADeployableBasePlot* GetDeployableBasePlotFromLocation(const FVector& Location) const;
|
|
|
|
UFUNCTION(BlueprintCallable, meta=(WorldContext="WorldContextObject"))
|
|
static AFortDeployableBaseManager* GetCurrent(UObject* WorldContextObject);
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
void GetAvailableTiers(TArray<FAvailableTierLayout>& OutAvailableTiers) const;
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
void GetAllDeployableBasePlots(TArray<ADeployableBasePlot*>& OutDeployableBasePlots) const;
|
|
|
|
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, BlueprintPure=false)
|
|
void BroadcastHordeWaveStinger(EHordeWaveStingerType StingerType) const;
|
|
|
|
};
|
|
|