Node title now takes the name of the assigned combo action.

This commit is contained in:
Jamie Greunbaum 2023-10-02 12:33:21 -04:00
parent 780409b060
commit 49ffadd4f3
2 changed files with 43 additions and 23 deletions

View File

@ -15,6 +15,7 @@
#include "Ed/EdComboActionGraphNode.h"
#include "Helpers/ComboActionGraphColors.h"
#include "Nodes/ComboActionGraphNode_ActionNodeBase.h"
#include "Nodes/ComboActionGraphNode_StartNode.h"
#include "Settings/ComboActionGraphEditorSettings.h"
#include "Widgets/Layout/SGridPanel.h"
#include "Widgets/Layout/SScaleBox.h"
@ -151,6 +152,9 @@ void SEdComboActionGraphNode::UpdateGraphNode()
this->LeftNodeBox.Reset();
this->OutputPinBox.Reset();
// Set this here so that it isn't null.
SAssignNew(this->InlineEditableText, SInlineEditableTextBlock);
TSharedPtr<SErrorText> ErrorText;
TSharedPtr<SNodeTitle> NodeTitle = SNew(SNodeTitle, this->GraphNode);
@ -309,17 +313,14 @@ void SEdComboActionGraphNode::UpdateGraphNode()
.HAlign(EHorizontalAlignment::HAlign_Center)
.AutoHeight()
[
SAssignNew(InlineEditableText, SInlineEditableTextBlock)
.Style(ComboInputEditorModule.GetComboInputEditorStyleSet().Get(), "MDSStyleSet.NodeTitleInlineEditableText")
.Text(NodeTitle.Get(), &SNodeTitle::GetHeadTitle)
.OnVerifyTextChanged(
this, &SEdComboActionGraphNode::OnVerifyNameTextChanged)
.OnTextCommitted(
this, &SEdComboActionGraphNode::OnNameTextCommitted)
.IsReadOnly(this, &SEdComboActionGraphNode::IsNameReadOnly)
.IsSelected(this, &SEdComboActionGraphNode::IsSelectedExclusively)
SNew(STextBlock)
.Text(this, &SEdComboActionGraphNode::GetComboActionName)
.Justification(ETextJustify::Center)
.Visibility(EVisibility::Visible)
.Font(FCoreStyle::GetDefaultFontStyle("Bold", 14))
.ColorAndOpacity(FSlateColor(FLinearColor(230.0f / 255.0f, 230.0f / 255.0f, 230.0f / 255.0f)))
.ShadowOffset(FVector2D(2, 2))
.ShadowColorAndOpacity(FLinearColor(0.f, 0.f, 0.f, 0.7f))
]
+ SVerticalBox::Slot()
@ -342,15 +343,15 @@ void SEdComboActionGraphNode::UpdateGraphNode()
.HAlign(EHorizontalAlignment::HAlign_Fill)
[
SNew(SVerticalBox)
+ SVerticalBox::Slot()
[
SNew(SBox)
.Visibility(this, &SEdComboActionGraphNode::ShowDecoratorsBottomPadding)
[
SNew(SSpacer)
.Size(FVector2D(0.f, 2.5f))
]
]
//+ SVerticalBox::Slot()
//[
// SNew(SBox)
// .Visibility(this, &SEdComboActionGraphNode::ShowDecoratorsBottomPadding)
// [
// SNew(SSpacer)
// .Size(FVector2D(0.f, 2.5f))
// ]
//]
#pragma region ResponseStack
// RESPONSE STACK
@ -826,6 +827,25 @@ FText SEdComboActionGraphNode::GetTooltipText() const
return LOCTEXT("SEdComboActionGraphNode_Tooltip", "invalid node selected");
}
FText SEdComboActionGraphNode::GetComboActionName() const
{
if (const UEdComboActionGraphNode *EdParentNode = Cast<UEdComboActionGraphNode>(this->GraphNode))
{
if (const UComboActionGraphNode_ActionNodeBase *ActionNode = Cast<UComboActionGraphNode_ActionNodeBase>(EdParentNode->ComboActionGraphNode))
{
if (UComboAction *ComboAction = ActionNode->GetComboAction())
{
return FText::FromName(ComboAction->ActionName);
}
}
else if (const UComboActionGraphNode_StartNode *StartNode = Cast<UComboActionGraphNode_StartNode>(EdParentNode->ComboActionGraphNode))
{
return LOCTEXT("SEdComboActionGraphNode_StartName", "Start");
}
}
return LOCTEXT("SEdComboActionGraphNode_ComboActionNameNotSet", "NOT CONFIGURED");
}
FText SEdComboActionGraphNode::GetComboInputName() const
{
if (const UEdComboActionGraphNode *EdParentNode = Cast<UEdComboActionGraphNode>(this->GraphNode))
@ -834,12 +854,11 @@ FText SEdComboActionGraphNode::GetComboInputName() const
{
if (UComboInputAsset *ComboInput = ActionNode->GetComboInput())
{
return FText::FromName(ComboInput->ComboInputName);
}
return LOCTEXT("SEdComboActionGraphNode_ComboInputNull", "No Combo Input set");
return FText::Format(LOCTEXT("SEdComboActionGraphNode_ComboInputName", "When {0}"), FText::FromName(ComboInput->ComboInputName));
}
}
return LOCTEXT("SEdComboActionGraphNode_ComboInputNameNotSet", "unset");
}
return LOCTEXT("SEdComboActionGraphNode_ComboInputNameNotSet", "No combo input");
}
FText SEdComboActionGraphNode::GetComboInputTriggerActionName() const
@ -851,10 +870,10 @@ FText SEdComboActionGraphNode::GetComboInputTriggerActionName() const
const FString &EnumNameString = StaticEnum<EComboActionTriggerEvent>()->GetNameByValue((uint8)ActionNode->GetTriggerEvent()).ToString();
FString EnumType, EnumValueName;
EnumNameString.Split("::", &EnumType, &EnumValueName);
return FText::FromString(EnumValueName);
return FText::Format(LOCTEXT("SEdComboActionGraphNode_TriggerActionName", "is {0}"), FText::FromString(EnumValueName));
}
}
return LOCTEXT("SEdComboActionGraphNode_TriggerActionNameNotSet", "unset");
return LOCTEXT("SEdComboActionGraphNode_TriggerActionNameNotSet", "No trigger event");
}
#undef LOCTEXT_NAMESPACE

View File

@ -63,6 +63,7 @@ public:
FText GetTooltipText() const;
FText GetComboActionName() const;
FText GetComboInputName() const;
FText GetComboInputTriggerActionName() const;