UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
GameplayTaskResource.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "CoreMinimal.h"
6#include "UObject/Object.h"
8#include "GameplayTaskTypes.h"
9#include "GameplayTaskResource.generated.h"
10
12
13UCLASS(Abstract, config = "Game", hidedropdown, MinimalAPI)
15{
17
18protected:
20 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Task Resource", meta = (ClampMin = "-1", ClampMax = "15", UIMin = "-1", UIMax = "15", EditCondition = "bManuallySetID"), config)
21 int32 ManualResourceID;
22
24 UPROPERTY()
25 int8 AutoResourceID;
26
27public:
28 UPROPERTY(EditDefaultsOnly, Category = "Task Resource", meta=(InlineEditConditionToggle))
29 uint32 bManuallySetID : 1;
30
31public:
32
34
35 uint8 GetResourceID() const
36 {
37 return bManuallySetID || (ManualResourceID != INDEX_NONE) ? IntCastChecked<uint8>(ManualResourceID) : AutoResourceID;
38 }
39
40 template <class T>
42 {
43 return GetDefault<T>()->GetResourceID();
44 }
45
47 {
48 return RequiredResource->GetDefaultObject<UGameplayTaskResource>()->GetResourceID();
49 }
50
51 GAMEPLAYTASKS_API virtual void PostInitProperties() override;
52
53protected:
54#if WITH_EDITOR
55 GAMEPLAYTASKS_API void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent);
56#endif // WITH_EDITOR
57
58 GAMEPLAYTASKS_API void UpdateAutoResourceID();
59
60#if WITH_GAMEPLAYTASK_DEBUG
61protected:
63 GAMEPLAYTASKS_API virtual FString GenerateDebugDescription() const;
64
65public:
66 static FString GetDebugDescription(uint8 ResourceId)
67 {
68 return ResourceDescriptions.IsValidIndex(ResourceId) ? ResourceDescriptions[ResourceId] : FString();
69 }
70#endif // WITH_GAMEPLAYTASK_DEBUG
71};
@ INDEX_NONE
Definition CoreMiscDefines.h:150
FPlatformTypes::int8 int8
An 8-bit signed integer.
Definition Platform.h:1121
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition UObjectGlobals.h:1292
Definition Array.h:670
Definition SubclassOf.h:30
Definition GameplayTaskResource.h:15
static uint8 GetResourceID()
Definition GameplayTaskResource.h:41
static uint8 GetResourceID(const TSubclassOf< UGameplayTaskResource > &RequiredResource)
Definition GameplayTaskResource.h:46
Definition Object.h:95
Definition UnrealType.h:6865