// ©2023 Batty Bovine Productions, LLC. All Rights Reserved.

#include "Nodes/ComboActionGraphNode_ActionNode.h"

#include "Data/ComboActionContext.h"
#include "Interfaces/ComboActionGraphManagerInterface.h"
#include "Nodes/ComboActionGraphNode_StartNode.h"

#define LOCTEXT_NAMESPACE "ComboActionGraphNode_ActionNode"


UComboActionGraphNode_ActionNode::UComboActionGraphNode_ActionNode()
{
#if WITH_EDITORONLY_DATA
	this->NodeTitle = LOCTEXT("ComboActionGraphNode_ActionNodeTitle", "Action Node");
	this->NodeTypeName = LOCTEXT("ComboActionGraphNode_ActionNodeInternalTitle", "Action Node");
	this->ContextMenuName = LOCTEXT("ComboActionGraphNode_ActionNodeContextMenuName", "Action Node");
	
	this->BackgroundColor = FLinearColor(FColor::Turquoise);

	this->NodeTooltipText = LOCTEXT("ComboActionGraphNode_ActionTooltip", "Action node is a node which contains combo actions based on inputs.");
#endif
	
	this->AllowedInputClasses.Add(UComboActionGraphNode_StartNode::StaticClass());
	this->AllowedInputClasses.Add(UComboActionGraphNode_ActionNode::StaticClass());
	
	this->MaxChildrenNodes = -1;
}

void UComboActionGraphNode_ActionNode::PreProcessNode(const TScriptInterface<IComboActionGraphManagerInterface> &Manager)
{
	Super::PreProcessNode(Manager);
}

void UComboActionGraphNode_ActionNode::ProcessNode(const TScriptInterface<IComboActionGraphManagerInterface> &Manager)
{
	Super::ProcessNode(Manager);
}

#if WITH_EDITOR

FText UComboActionGraphNode_ActionNode::GetDescription_Implementation() const
{
	return LOCTEXT("ComboActionGraphNode_ActionNodeDescription", "Action node is a node which contains combo actions based on inputs.");
}

FText UComboActionGraphNode_ActionNode::GetNodeCategory_Implementation() const
{
	return LOCTEXT("ComboActionGraphNode_ActionNodeCategory", "Combo Action Branch Nodes");
}

#endif

#undef LOCTEXT_NAMESPACE
