[SmartObjects] integration of (18039396, 18230600, 18263205, 18300133, 18301080) from UE5

#ROBOMERGE-OWNER: yoan.stamant
#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 18301426 via CL 18301593 via CL 18301595 via CL 18301822 via CL 18301845
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18301862 by yoan stamant in ue5-release-engine-test branch]
This commit is contained in:
yoan stamant
2021-11-26 15:48:13 -05:00
parent c59a89a79a
commit 73f02f5af9
32 changed files with 685 additions and 434 deletions
@@ -2,8 +2,6 @@
#pragma once
#include "CoreMinimal.h"
#include "UObject/ObjectMacros.h"
#include "Tasks/AITask.h"
#include "SmartObjectRuntime.h"
#include "AITask_UseSmartObject.generated.h"
@@ -12,6 +10,7 @@
class AAIController;
class UAITask_MoveTo;
class UGameplayBehavior;
class USmartObjectComponent;
UCLASS()
class SMARTOBJECTSMODULE_API UAITask_UseSmartObject : public UAITask
@@ -24,10 +23,8 @@ public:
UFUNCTION(BlueprintCallable, Category = "AI|Tasks", meta = (DefaultToSelf = "Controller" , BlueprintInternalUseOnly = "true"))
static UAITask_UseSmartObject* UseSmartObject(AAIController* Controller, AActor* SmartObjectActor, USmartObjectComponent* SmartObjectComponent, bool bLockAILogic = true);
/*void SetQueryTemplate(UEnvQuery& InQueryTemplate) { EQSRequest.QueryTemplate = &InQueryTemplate; }
void SetNotificationDelegate(const FQueryFinishedSignature& InNotificationDelegate) { NotificationDelegate = InNotificationDelegate; }*/
static UAITask_UseSmartObject* UseSmartObjectComponent(AAIController& Controller, USmartObjectComponent& SmartObjectComponent, bool bLockAILogic = true);
UFUNCTION(BlueprintCallable, Category = "AI|Tasks", meta = (DefaultToSelf = "Controller" , BlueprintInternalUseOnly = "true"))
static UAITask_UseSmartObject* UseClaimedSmartObject(AAIController* Controller, FSmartObjectClaimHandle ClaimHandle, bool bLockAILogic = true);
void SetClaimHandle(const FSmartObjectClaimHandle& Handle);
@@ -46,6 +43,9 @@ protected:
void OnSlotInvalidated(const FSmartObjectClaimHandle& ClaimHandle, const ESmartObjectSlotState State);
static UAITask_UseSmartObject* UseSmartObjectComponent(AAIController& Controller, const USmartObjectComponent& SmartObjectComponent, bool bLockAILogic);
static UAITask_UseSmartObject* UseClaimedSmartObject(AAIController& Controller, FSmartObjectClaimHandle ClaimHandle, bool bLockAILogic);
protected:
UPROPERTY(BlueprintAssignable)
FGenericGameplayTaskDelegate OnFinished;