Trying to add a combo graph editor.
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
// ©2023 Batty Bovine Productions, LLC. All Rights Reserved.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
|
||||
#include "Ed/EdComboActionGraphNode.h"
|
||||
#include "Kismet/BlueprintFunctionLibrary.h"
|
||||
#include "Nodes/ComboActionGraphNode.h"
|
||||
#include "Nodes/ComboActionGraphNode_ActionNodeBase.h"
|
||||
#include "Settings/ComboActionGraphEditorSettings.h"
|
||||
|
||||
#include "ComboActionEditorBFC.generated.h"
|
||||
|
||||
|
||||
/**
|
||||
* Editor Only helper functions.
|
||||
*/
|
||||
UCLASS()
|
||||
class UComboActionEditorBFC : public UBlueprintFunctionLibrary
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
|
||||
#if WITH_EDITOR
|
||||
static FText GetNodeTitle(UComboActionGraphNode *Node)
|
||||
{
|
||||
if (!Node) return FText::FromString("Invalid Node");
|
||||
|
||||
const UComboActionGraphEditorSettings *Settings = GetDefault<UComboActionGraphEditorSettings>();
|
||||
if (Settings)
|
||||
{
|
||||
if (Settings->ShowAutomaticNames())
|
||||
{
|
||||
if (const UComboActionGraphNode_ActionNodeBase *DialogueNodeBase = Cast<UComboActionGraphNode_ActionNodeBase>(Node))
|
||||
{
|
||||
if (DialogueNodeBase->GetDataTable())
|
||||
{
|
||||
FString ReturnString;
|
||||
DialogueNodeBase->GetRowName().ToString(ReturnString);
|
||||
|
||||
return FText::FromString(ReturnString);
|
||||
}
|
||||
}
|
||||
|
||||
return Node->GetInternalName();
|
||||
}
|
||||
}
|
||||
|
||||
return Node->GetNodeTitle();
|
||||
}
|
||||
|
||||
static EComboActionNodeTheme GetNodeTheme()
|
||||
{
|
||||
const UComboActionGraphEditorSettings *Settings = GetDefault<UComboActionGraphEditorSettings>();
|
||||
if (Settings != nullptr)
|
||||
{
|
||||
return Settings->GetNodeTheme();
|
||||
}
|
||||
|
||||
return EComboActionNodeTheme::DarkTheme;
|
||||
}
|
||||
|
||||
static void TriggerPreviewRefresh(TArray<UObject*> NodeObjects)
|
||||
{
|
||||
for (auto Itr : NodeObjects)
|
||||
{
|
||||
UEdComboActionGraphNode *SelectedNode = Cast<UEdComboActionGraphNode>(Itr);
|
||||
if (!SelectedNode || !SelectedNode->ComboActionGraphNode)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
UComboActionGraphNode_ActionNodeBase *DialogueNodeBase = Cast<UComboActionGraphNode_ActionNodeBase>(SelectedNode->ComboActionGraphNode);
|
||||
if (!DialogueNodeBase)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
DialogueNodeBase->UpdatePreviews();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
};
|
||||
@@ -0,0 +1,92 @@
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
|
||||
namespace ComboActionGraphColors
|
||||
{
|
||||
namespace NodeBody
|
||||
{
|
||||
constexpr FLinearColor Default(0.1f, 0.1f, 0.1f);
|
||||
constexpr FLinearColor Root(0.5f, 0.5f, 0.5f, 0.1f);
|
||||
constexpr FLinearColor Error(1.0f, 0.0f, 0.0f);
|
||||
}
|
||||
|
||||
namespace DecoratorsBody
|
||||
{
|
||||
constexpr FLinearColor Default(0.1f, 0.1f, 0.1f);
|
||||
}
|
||||
|
||||
namespace NodeBorder
|
||||
{
|
||||
constexpr FLinearColor Inactive(0.08f, 0.08f, 0.08f);
|
||||
constexpr FLinearColor Root(0.2f, 0.2f, 0.2f, 0.2f);
|
||||
constexpr FLinearColor Selected(1.00f, 0.08f, 0.08f);
|
||||
constexpr FLinearColor ActiveDebugging(1.0f, 1.0f, 0.0f);
|
||||
constexpr FLinearColor InactiveDebugging(0.4f, 0.4f, 0.0f);
|
||||
constexpr FLinearColor HighlightAbortRange0(0.0f, 0.22f, 0.4f);
|
||||
constexpr FLinearColor HighlightAbortRange1(0.0f, 0.4f, 0.22f);
|
||||
constexpr FLinearColor Disconnected(0.f, 0.f, 0.f);
|
||||
constexpr FLinearColor BrokenWithParent(1.f, 0.f, 1.f);
|
||||
constexpr FLinearColor QuickFind(0.f, 0.8f, 0.f);
|
||||
}
|
||||
|
||||
namespace Pin
|
||||
{
|
||||
constexpr FLinearColor Diff(0.9f, 0.2f, 0.15f);
|
||||
constexpr FLinearColor Hover(1.0f, 0.7f, 0.0f);
|
||||
constexpr FLinearColor Default(0.02f, 0.02f, 0.02f);
|
||||
constexpr FLinearColor SingleNode(0.02f, 0.02f, 0.02f);
|
||||
}
|
||||
|
||||
namespace Connection
|
||||
{
|
||||
constexpr FLinearColor Default(1.0f, 1.0f, 1.0f);
|
||||
}
|
||||
|
||||
namespace Action
|
||||
{
|
||||
constexpr FLinearColor DragMarker(1.0f, 1.0f, 0.2f);
|
||||
}
|
||||
|
||||
namespace Overlay
|
||||
{
|
||||
constexpr FLinearColor LightTheme(1.f, 1.f, 1.f, 0.45f);
|
||||
constexpr FLinearColor DarkTheme(0.f, 0.f, 0.f, 0.9f);
|
||||
}
|
||||
|
||||
namespace PinsDock
|
||||
{
|
||||
constexpr FLinearColor DarkTheme(0.075f, 0.075f, 0.075f, 1.f);
|
||||
constexpr FLinearColor LightTheme(0.075f, 0.075f, 0.075f, 1.f);
|
||||
}
|
||||
|
||||
namespace ValidationGraph
|
||||
{
|
||||
constexpr FLinearColor LightTheme(0.1f, 0.1f, 0.1f, 1.f);
|
||||
constexpr FLinearColor DarkTheme(0.05f, 0.05f, 0.05f, 1.f);
|
||||
}
|
||||
|
||||
namespace IndexBorder
|
||||
{
|
||||
constexpr FLinearColor NormalState(0.05f, 0.05f, 0.05f, 1.f);
|
||||
constexpr FLinearColor HoveredState(0.05f, 0.05f, 0.05f, 1.f);
|
||||
}
|
||||
|
||||
namespace BulletPointsColors
|
||||
{
|
||||
constexpr FLinearColor Normal(0.8f, 0.8f, 0.8f, 1.f);
|
||||
constexpr FLinearColor Disabled(0.8f, 0.8f, 0.8f, 0.2f);
|
||||
}
|
||||
|
||||
namespace TextColors
|
||||
{
|
||||
constexpr FLinearColor Normal(0.8f, 0.8f, 0.8f, 1.f);
|
||||
constexpr FLinearColor Disabled(0.8f, 0.8f, 0.8f, 0.2f);
|
||||
}
|
||||
|
||||
namespace Previews
|
||||
{
|
||||
constexpr FLinearColor Normal(0.8f, 0.8f, 0.8f, 0.05f);
|
||||
constexpr FLinearColor Invalid(0.8f, 0.8f, 0.8f, 0.2f);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user