修改节点的宽度固定,并可以在projectsettings中进行设置

This commit is contained in:
997146918 2025-11-19 15:33:36 +08:00
parent 3959389f3e
commit f3911b4d06
4 changed files with 10 additions and 1 deletions

View File

@ -13,4 +13,8 @@ UCLASS(Config = Dialogue, DefaultConfig)
class DIALOGUE_API UDialogueSettings : public UObject class DIALOGUE_API UDialogueSettings : public UObject
{ {
GENERATED_BODY() GENERATED_BODY()
public:
UPROPERTY(Config, EditAnywhere, Category = "Dialogue")
float DialogueWidth = 125.f;
}; };

View File

@ -3,6 +3,8 @@
#include "Widget/DialogueGraphNode.h" #include "Widget/DialogueGraphNode.h"
#include "DialogueSettings.h"
void SDialogueGraphNode::Construct(const FArguments& InArgs, UDialogueGraphNode_Base* InNode) void SDialogueGraphNode::Construct(const FArguments& InArgs, UDialogueGraphNode_Base* InNode)
{ {
@ -54,10 +56,13 @@ TSharedRef<SWidget> SDialogueGraphNode::CreateNodeContentArea()
// .Text(this, &SDialogueGraphNode::GetDialogueText) // .Text(this, &SDialogueGraphNode::GetDialogueText)
// .WrapTextAt(250.0f) // .WrapTextAt(250.0f)
// ] // ]
SAssignNew(DialogueText, STextBlock) SAssignNew(DialogueText, STextBlock)
.AutoWrapText(true) .AutoWrapText(true)
.MinDesiredWidth(GetDefault<UDialogueSettings>()->DialogueWidth)
.Justification(ETextJustify::Center)
.Text(this, &SDialogueGraphNode::GetDialogueText) .Text(this, &SDialogueGraphNode::GetDialogueText)
.WrapTextAt(250.0f) .WrapTextAt(GetDefault<UDialogueSettings>()->DialogueWidth)
] ]
+SVerticalBox::Slot() +SVerticalBox::Slot()
.FillHeight(1.0f) .FillHeight(1.0f)