#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); };