Remove stringbuilder parameter for handlers

This commit is contained in:
2026-03-13 23:41:59 -04:00
parent 7cfe73eca8
commit 2ffc493e91
76 changed files with 539 additions and 467 deletions

View File

@@ -1,6 +1,7 @@
#pragma once
#include "CoreMinimal.h"
#include "MCPServer.h"
#include "MCPHandler.h"
#include "MCPFetcher.h"
#include "MCPAssets.h"
@@ -36,7 +37,7 @@ public:
return TEXT("Remove a parameter from a function or custom event in a Blueprint.");
}
virtual void Handle(FStringBuilderBase& Result) override
virtual void Handle() override
{
MCPAssets<UBlueprint> Assets;
if (!Assets.Exact(Blueprint).ENone().ETwo().Load()) return;
@@ -68,11 +69,11 @@ public:
if (!EntryNode)
{
Result.Appendf(TEXT("Error: Function or event '%s' not found.\nAvailable:\n"), *FunctionName);
UMCPServer::Printf(TEXT("Error: Function or event '%s' not found.\nAvailable:\n"), *FunctionName);
for (UK2Node_FunctionEntry* FE : MCPUtils::AllNodes<UK2Node_FunctionEntry>(BP))
Result.Appendf(TEXT(" function: %s\n"), *MCPUtils::FormatName(FE->GetGraph()));
UMCPServer::Printf(TEXT(" function: %s\n"), *MCPUtils::FormatName(FE->GetGraph()));
for (UK2Node_CustomEvent* CE : MCPUtils::AllNodes<UK2Node_CustomEvent>(BP))
Result.Appendf(TEXT(" event: %s\n"), *MCPUtils::FormatName(CE));
UMCPServer::Printf(TEXT(" event: %s\n"), *MCPUtils::FormatName(CE));
return;
}
@@ -90,11 +91,11 @@ public:
if (RemovedIndex == INDEX_NONE)
{
Result.Appendf(TEXT("Error: Parameter '%s' not found on %s.\nAvailable:\n"),
UMCPServer::Printf(TEXT("Error: Parameter '%s' not found on %s.\nAvailable:\n"),
*ParamName, *MCPUtils::FormatName(EntryNode));
for (const TSharedPtr<FUserPinInfo>& PinInfo : EntryNode->UserDefinedPins)
if (PinInfo.IsValid())
Result.Appendf(TEXT(" %s\n"), *PinInfo->PinName.ToString());
UMCPServer::Printf(TEXT(" %s\n"), *PinInfo->PinName.ToString());
return;
}
@@ -108,8 +109,8 @@ public:
bool bSaved = MCPUtils::SaveBlueprintPackage(BP);
Result.Appendf(TEXT("Removed parameter '%s' from %s.\n"), *ParamName, *MCPUtils::FormatName(EntryNode));
UMCPServer::Printf(TEXT("Removed parameter '%s' from %s.\n"), *ParamName, *MCPUtils::FormatName(EntryNode));
if (!bSaved)
Result.Append(TEXT("Warning: save failed.\n"));
UMCPServer::Print(TEXT("Warning: save failed.\n"));
}
};