You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#rnx #rb none #ROBOMERGE-OWNER: ryan.durand #ROBOMERGE-AUTHOR: ryan.durand #ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900 #ROBOMERGE-BOT: (v613-10869866) [CL 10870549 by ryan durand in Main branch]
59 lines
2.1 KiB
C++
59 lines
2.1 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "Tasks/GameplayTask_ClaimResource.h"
|
|
|
|
UGameplayTask_ClaimResource::UGameplayTask_ClaimResource(const FObjectInitializer& ObjectInitializer)
|
|
: Super(ObjectInitializer)
|
|
{
|
|
|
|
}
|
|
|
|
UGameplayTask_ClaimResource* UGameplayTask_ClaimResource::ClaimResource(TScriptInterface<IGameplayTaskOwnerInterface> InTaskOwner, TSubclassOf<UGameplayTaskResource> ResourceClass, const uint8 Priority, const FName TaskInstanceName)
|
|
{
|
|
return InTaskOwner.GetInterface() ? ClaimResource(*InTaskOwner, ResourceClass, Priority, TaskInstanceName) : nullptr;
|
|
}
|
|
|
|
UGameplayTask_ClaimResource* UGameplayTask_ClaimResource::ClaimResources(TScriptInterface<IGameplayTaskOwnerInterface> InTaskOwner, TArray<TSubclassOf<UGameplayTaskResource> > ResourceClasses, const uint8 Priority, const FName TaskInstanceName)
|
|
{
|
|
return InTaskOwner.GetInterface() ? ClaimResources(*InTaskOwner, ResourceClasses, Priority, TaskInstanceName) : nullptr;
|
|
}
|
|
|
|
UGameplayTask_ClaimResource* UGameplayTask_ClaimResource::ClaimResource(IGameplayTaskOwnerInterface& InTaskOwner, const TSubclassOf<UGameplayTaskResource> ResourceClass, const uint8 Priority, const FName TaskInstanceName)
|
|
{
|
|
if (!ResourceClass)
|
|
{
|
|
return nullptr;
|
|
}
|
|
|
|
UGameplayTask_ClaimResource* MyTask = NewTaskUninitialized<UGameplayTask_ClaimResource>();
|
|
if (MyTask)
|
|
{
|
|
MyTask->InitTask(InTaskOwner, Priority);
|
|
MyTask->InstanceName = TaskInstanceName;
|
|
MyTask->AddClaimedResource(ResourceClass);
|
|
}
|
|
|
|
return MyTask;
|
|
}
|
|
|
|
UGameplayTask_ClaimResource* UGameplayTask_ClaimResource::ClaimResources(IGameplayTaskOwnerInterface& InTaskOwner, const TArray<TSubclassOf<UGameplayTaskResource> >& ResourceClasses, const uint8 Priority, const FName TaskInstanceName)
|
|
{
|
|
if (ResourceClasses.Num() == 0)
|
|
{
|
|
return nullptr;
|
|
}
|
|
|
|
UGameplayTask_ClaimResource* MyTask = NewTaskUninitialized<UGameplayTask_ClaimResource>();
|
|
if (MyTask)
|
|
{
|
|
MyTask->InitTask(InTaskOwner, Priority);
|
|
MyTask->InstanceName = TaskInstanceName;
|
|
for (const TSubclassOf<UGameplayTaskResource>& ResourceClass : ResourceClasses)
|
|
{
|
|
MyTask->AddClaimedResource(ResourceClass);
|
|
}
|
|
}
|
|
|
|
return MyTask;
|
|
}
|