// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "UObject/ObjectMacros.h" #include "UObject/UObjectGlobals.h" #include "Templates/SubclassOf.h" #include "UObject/ScriptInterface.h" #include "GameplayTaskOwnerInterface.h" #include "GameplayTask.h" #include "GameplayTaskResource.h" #include "GameplayTask_ClaimResource.generated.h" UCLASS(BlueprintType, MinimalAPI) class UGameplayTask_ClaimResource : public UGameplayTask { GENERATED_BODY() public: GAMEPLAYTASKS_API UGameplayTask_ClaimResource(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get()); UFUNCTION(BlueprintCallable, Category = "AI|Tasks", meta = (AdvancedDisplay = "Priority, TaskInstanceName")) static GAMEPLAYTASKS_API UGameplayTask_ClaimResource* ClaimResource(TScriptInterface InTaskOwner, TSubclassOf ResourceClass, const uint8 Priority = 192, const FName TaskInstanceName = NAME_None); UFUNCTION(BlueprintCallable, Category = "AI|Tasks", meta = (AdvancedDisplay = "Priority, TaskInstanceName")) static GAMEPLAYTASKS_API UGameplayTask_ClaimResource* ClaimResources(TScriptInterface InTaskOwner, TArray > ResourceClasses, const uint8 Priority = 192, const FName TaskInstanceName = NAME_None); static GAMEPLAYTASKS_API UGameplayTask_ClaimResource* ClaimResource(IGameplayTaskOwnerInterface& InTaskOwner, const TSubclassOf ResourceClass, const uint8 Priority = FGameplayTasks::DefaultPriority, const FName TaskInstanceName = NAME_None); static GAMEPLAYTASKS_API UGameplayTask_ClaimResource* ClaimResources(IGameplayTaskOwnerInterface& InTaskOwner, const TArray >& ResourceClasses, const uint8 Priority = FGameplayTasks::DefaultPriority, const FName TaskInstanceName = NAME_None); };