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

95 lines
5.0 KiB
C++

#pragma once
#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "Engine/DataTable.h"
#include "GameplayTagContainer.h"
#include "EOutpostBuildings.h"
#include "EStormShieldDefense.h"
#include "IronCityDifficultyInfo.h"
#include "FortOutpostFunctionLibrary.generated.h"
class AFortPlayerController;
class AFortPlayerControllerFrontEnd;
class AFortPlayerControllerOutpost;
class UFortMissionConfigData;
class UFortOutpostItemDefinition;
class UFortWorldItem;
class UObject;
UCLASS(Blueprintable)
class FORTNITEGAME_API UFortOutpostFunctionLibrary : public UBlueprintFunctionLibrary {
GENERATED_BODY()
public:
UFortOutpostFunctionLibrary();
UFUNCTION(BlueprintCallable)
static void TransferItemToStorage(AFortPlayerController* Player, UFortWorldItem* Item, int32 Count);
UFUNCTION(BlueprintCallable)
static void TransferItemFromStorage(AFortPlayerController* Player, UFortWorldItem* Item, int32 Count);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void SetWargameActive(UObject* WorldContextObject, bool bActive);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void SetStormShieldDefenseType(UObject* WorldContextObject, EStormShieldDefense Type);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void SetOutpostGameDifficultyRow(UObject* WorldContextObject, const FDataTableRowHandle& GameDifficultyInfo);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void SetOutpostDefenseActive(UObject* WorldContextObject, bool bActive);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void SetIronCityMinMaxPowerLevels(UObject* WorldContextObject, float MinPowerLevel, float MaxPowerLevel);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void SetCriticalMissionJoinability(UObject* WorldContextObject, bool bJoinable);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void SaveIronCityLowestPlayerAccountLevel(UObject* WorldContextObject, int32 AccountLevel);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void SaveIronCityEarlyPlayerInfos(UObject* WorldContextObject);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, BlueprintPure, meta=(WorldContext="WorldContextObject"))
static FGameplayTag GetPlacementTagFromOutpostBuildingTag(UObject* WorldContextObject, const FGameplayTag& BuildingTag);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, BlueprintPure)
static UFortMissionConfigData* GetOutpostQuestMissionConfigDataFrontEnd(AFortPlayerControllerFrontEnd* FortPC, FGameplayTag ConfigTag);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, BlueprintPure, meta=(WorldContext="WorldContextObject"))
static UFortMissionConfigData* GetOutpostQuestMissionConfigData(UObject* WorldContextObject, FGameplayTag ConfigTag);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, BlueprintPure, meta=(WorldContext="WorldContextObject"))
static AFortPlayerControllerOutpost* GetOutpostOwner(UObject* WorldContextObject);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, BlueprintPure, meta=(WorldContext="WorldContextObject"))
static FGameplayTag GetOutpostBuildingTagFromPlacementTag(UObject* WorldContextObject, const FGameplayTag& PlacementTag);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, BlueprintPure, meta=(WorldContext="WorldContextObject"))
static UFortOutpostItemDefinition* GetOutpostBuildingItemDefinition(UObject* WorldContextObject, EOutpostBuildings Building);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static int32 GetIronCityAveragePlayerAccountLevel(UObject* WorldContextObject);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static FIronCityDifficultyInfo GetCachedIronCityDifficultyInfo(UObject* WorldContextObject);
UFUNCTION(BlueprintCallable)
static void FlushTransferRequests(AFortPlayerController* Player);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static bool DeployOutpostBuildingTagOnPlacementTag(UObject* WorldContextObject, const FGameplayTag& BuildingTag, const FGameplayTag& PlacementTag);
UFUNCTION(BlueprintCallable)
static void DeactivateCraftingTable(AFortPlayerControllerOutpost* FortPC);
UFUNCTION(BlueprintAuthorityOnly, BlueprintCallable, meta=(WorldContext="WorldContextObject"))
static void CacheIronCityDifficultyInfo(UObject* WorldContextObject, int32 AccountLevel);
UFUNCTION(BlueprintCallable)
static void ActivateCraftingTable(AFortPlayerControllerOutpost* FortPC);
};