2021-09-28 13:33:17 -04:00
// Copyright Epic Games, Inc. All Rights Reserved.
# pragma once
# include "Kismet/BlueprintFunctionLibrary.h"
2021-11-22 16:32:17 -05:00
# include "SmartObjectRuntime.h"
2021-09-28 13:33:17 -04:00
# include "SmartObjectBlueprintFunctionLibrary.generated.h"
2021-11-22 16:32:17 -05:00
struct FGameplayTagContainer ;
class UBlackboardComponent ;
2021-09-28 13:33:17 -04:00
class AAIController ;
2022-09-15 15:15:14 -04:00
class UBTNode ;
2021-09-28 13:33:17 -04:00
UCLASS ( meta = ( ScriptName = " SmartObjectLibrary " ) )
class SMARTOBJECTSMODULE_API USmartObjectBlueprintFunctionLibrary : public UBlueprintFunctionLibrary
{
GENERATED_BODY ( )
public :
2021-11-22 16:32:17 -05:00
UFUNCTION ( BlueprintCallable , Category = " SmartObject " )
static FSmartObjectClaimHandle GetValueAsSOClaimHandle ( UBlackboardComponent * BlackboardComponent , const FName & KeyName ) ;
UFUNCTION ( BlueprintCallable , Category = " SmartObject " )
static void SetValueAsSOClaimHandle ( UBlackboardComponent * BlackboardComponent , const FName & KeyName , FSmartObjectClaimHandle Value ) ;
UFUNCTION ( BlueprintCallable , Category = " SmartObject " )
static bool IsValidSmartObjectClaimHandle ( const FSmartObjectClaimHandle Handle ) { return Handle . IsValid ( ) ; }
UFUNCTION ( BlueprintCallable , Category = " SmartObject " , meta = ( DisplayName = " SetSmartObjectEnabled " ) )
2021-09-28 13:33:17 -04:00
static bool K2_SetSmartObjectEnabled ( AActor * SmartObject , const bool bEnabled ) ;
2022-09-15 15:15:14 -04:00
UFUNCTION ( BlueprintCallable , Category = " AI|BehaviorTree " , meta = ( HidePin = " NodeOwner " , DefaultToSelf = " NodeOwner " , DisplayName = " Set Blackboard Value As Smart Object Claim Handle " ) )
static void SetBlackboardValueAsSOClaimHandle ( UBTNode * NodeOwner , const FBlackboardKeySelector & Key , const FSmartObjectClaimHandle & Value ) ;
UFUNCTION ( BlueprintPure , Category = " AI|BehaviorTree " , meta = ( HidePin = " NodeOwner " , DefaultToSelf = " NodeOwner " , DisplayName = " Get Blackboard Value As Smart Object Claim Handle " ) )
static FSmartObjectClaimHandle GetBlackboardValueAsSOClaimHandle ( UBTNode * NodeOwner , const FBlackboardKeySelector & Key ) ;
2021-09-28 13:33:17 -04:00
} ;