3#include "CoreMinimal.h"
7#include "DlgNode_Selector.generated.h"
24UCLASS(BlueprintType, ClassGroup =
"Dialogue")
33 FString GetDesc()
override
38 return TEXT(
"Node without text and as soon as entered it selects its first satisfied child.\n It should have at least one (satisfied child), otherwise the Dialogue is terminated.");
40 return TEXT(
"Node without text and as soon as entered it selects a satisfied child randomly.\nIt should have at least one (satisfied child), otherwise the Dialogue is terminated.");
42 return TEXT(
"UNHANDLED");
50 bool HandleNodeEnter(
UDlgContext& Context, TSet<const UDlgNode*> NodesEnteredWithThisStep)
override;
53 FString GetNodeTypeString()
const override {
return TEXT(
"Selector"); }
61 UFUNCTION(BlueprintPure, Category =
"Dialogue|Node")
68 static FName GetMemberNameSelectorType() {
return GET_MEMBER_NAME_CHECKED(
UDlgNode_Selector, SelectorType); }
72 UPROPERTY(EditAnywhere, Category =
"Dialogue|Node")
EDlgNodeSelectorType
UENUM(BlueprintType)
UCLASS(BlueprintType, ClassGroup = "Dialogue")
EDlgNodeSelectorType GetSelectorType() const
UFUNCTION(BlueprintPure, Category = "Dialogue|Node")
static FName GetMemberNameSelectorType()
FString GetDesc() override
void SetSelectorType(EDlgNodeSelectorType InType)
UCLASS(BlueprintType, Abstract, EditInlineNew, ClassGroup = "Dialogue")
virtual bool HandleNodeEnter(UDlgContext &Context, TSet< const UDlgNode * > NodesEnteredWithThisStep)