23 #include "CoreMinimal.h"
24 #include "UObject/NoExportTypes.h"
25 #include "UObject/UnrealType.h"
27 #include "Detail.generated.h"
32 UCLASS(Blueprintable, EditInlineNew, Abstract, CollapseCategories,
34 class APPARATUSRUNTIME_API
UDetail : public UObject
41 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Detail,
42 BlueprintGetter = IsEnabled, BlueprintSetter = SetEnabled,
43 Meta = (AllowPrivateAccess =
"true"))
55 UFUNCTION(BlueprintGetter)
56 FORCEINLINE
bool IsEnabled()
const {
return bEnabled; }
61 UFUNCTION(BlueprintSetter)
62 void SetEnabled(
const bool bState =
true);
67 UFUNCTION(BlueprintCallable, BlueprintPure, Category =
"Apparatus|Detail",
68 Meta = (Keywords =
"subjective"))
69 TScriptInterface<class
ISubjective> GetOwner() const;
74 UFUNCTION(BlueprintCallable, BlueprintPure, Category = "Apparatus|Detail",
75 Meta = (Keywords = "type kind"))
76 FORCEINLINE TSubclassOf<
UDetail> GetClass()
const
78 return UObject::GetClass();
86 UFUNCTION(BlueprintImplementableEvent, Category =
"Apparatus",
87 Meta = (DisplayName =
"Activated"))
88 void ReceiveActivated();
94 UFUNCTION(BlueprintImplementableEvent, Category = "Apparatus",
95 Meta = (DisplayName = "Deactivated"))
96 void ReceiveDeactivated();
105 FORCEINLINE virtual
void Activated() { ReceiveActivated(); };
117 FORCEINLINE uint32 GetTypeHash(
const TSubclassOf<UDetail> DetailType)
119 return GetTypeHash(*DetailType);
An interface for all sorts of subjects.
Definition: Subjective.h:42
The base subject detail (component) class.
Definition: Detail.h:35
virtual void Deactivated()
The event is fired, when the detail has become inactive for a subject.
Definition: Detail.h:114
The main Mechanism function library.
Definition: Mechanism.h:63