Remove JSON parameter from handlers

This commit is contained in:
2026-03-12 17:48:11 -04:00
parent f0c070d4eb
commit 4c6bdae2c2
72 changed files with 72 additions and 72 deletions

View File

@@ -39,7 +39,7 @@ public:
return TEXT("Create a new Animation Blueprint asset with a specified skeleton."); return TEXT("Create a new Animation Blueprint asset with a specified skeleton.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPErrorCallback CB(Result); MCPErrorCallback CB(Result);

View File

@@ -27,7 +27,7 @@ public:
return TEXT("List all animation slot names used in an Animation Blueprint."); return TEXT("List all animation slot names used in an Animation Blueprint.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPAssets<UAnimBlueprint> Assets; MCPAssets<UAnimBlueprint> Assets;
if (!Assets.Exact(Blueprint).Errors(Result).ENone().ETwo().Load()) return; if (!Assets.Exact(Blueprint).Errors(Result).ENone().ETwo().Load()) return;

View File

@@ -27,7 +27,7 @@ public:
return TEXT("List all sync group names used in an Animation Blueprint."); return TEXT("List all sync group names used in an Animation Blueprint.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPFetcher F(Result); MCPFetcher F(Result);
UAnimBlueprint* AnimBP = F.Walk(Path).Cast<UAnimBlueprint>(); UAnimBlueprint* AnimBP = F.Walk(Path).Cast<UAnimBlueprint>();

View File

@@ -65,7 +65,7 @@ public:
"Replaces all existing samples."); "Replaces all existing samples.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
// Load the blend space // Load the blend space
MCPAssets<UBlendSpace> Assets; MCPAssets<UBlendSpace> Assets;

View File

@@ -27,7 +27,7 @@ public:
return TEXT("Copy an asset's .uasset file to a .uasset.bak backup."); return TEXT("Copy an asset's .uasset file to a .uasset.bak backup.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
FString Filename = FPaths::ConvertRelativePathToFull( FString Filename = FPaths::ConvertRelativePathToFull(
FPackageName::LongPackageNameToFilename(AssetPath, FPackageName::GetAssetPackageExtension())); FPackageName::LongPackageNameToFilename(AssetPath, FPackageName::GetAssetPackageExtension()));

View File

@@ -33,7 +33,7 @@ public:
"Use force=true to skip the reference check."); "Use force=true to skip the reference check.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
// Verify the asset file exists on disk // Verify the asset file exists on disk
FString PackageFilename = FPackageName::LongPackageNameToFilename( FString PackageFilename = FPackageName::LongPackageNameToFilename(

View File

@@ -25,7 +25,7 @@ public:
return TEXT("Find all assets that reference a given asset."); return TEXT("Find all assets that reference a given asset.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
IAssetRegistry& Registry = *IAssetRegistry::Get(); IAssetRegistry& Registry = *IAssetRegistry::Get();

View File

@@ -30,7 +30,7 @@ public:
return TEXT("Rename or move an asset with reference fixup."); return TEXT("Rename or move an asset with reference fixup.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
// Load the asset // Load the asset
MCPAssets<UObject> Assets; MCPAssets<UObject> Assets;

View File

@@ -27,7 +27,7 @@ public:
return TEXT("Restore a .uasset file from its .uasset.bak backup, reloading it in the editor."); return TEXT("Restore a .uasset file from its .uasset.bak backup, reloading it in the editor.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
FString Filename = FPaths::ConvertRelativePathToFull( FString Filename = FPaths::ConvertRelativePathToFull(
FPackageName::LongPackageNameToFilename(AssetPath, FPackageName::GetAssetPackageExtension())); FPackageName::LongPackageNameToFilename(AssetPath, FPackageName::GetAssetPackageExtension()));

View File

@@ -31,7 +31,7 @@ public:
return TEXT("Search for assets by name and/or type. At least one of Query or Type must be specified."); return TEXT("Search for assets by name and/or type. At least one of Query or Type must be specified.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
if (Query.IsEmpty() && Type.IsEmpty()) if (Query.IsEmpty() && Type.IsEmpty())
{ {

View File

@@ -33,7 +33,7 @@ public:
return TEXT("Create a new 2D Blend Space asset with a specified skeleton."); return TEXT("Create a new 2D Blend Space asset with a specified skeleton.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
if (!PackagePath.StartsWith(TEXT("/Game"))) if (!PackagePath.StartsWith(TEXT("/Game")))
{ {

View File

@@ -37,7 +37,7 @@ public:
return TEXT("Create a new function, macro, or custom event graph in a Blueprint."); return TEXT("Create a new function, macro, or custom event graph in a Blueprint.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
if (GraphType != TEXT("function") && GraphType != TEXT("macro") && GraphType != TEXT("customEvent")) if (GraphType != TEXT("function") && GraphType != TEXT("macro") && GraphType != TEXT("customEvent"))
{ {

View File

@@ -31,7 +31,7 @@ public:
return TEXT("Delete a function or macro graph from a Blueprint. Cannot delete EventGraph pages."); return TEXT("Delete a function or macro graph from a Blueprint. Cannot delete EventGraph pages.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPFetcher F(Result); MCPFetcher F(Result);
F.Walk(Path); F.Walk(Path);

View File

@@ -31,7 +31,7 @@ public:
return TEXT("Rename a function or macro graph in a Blueprint. Cannot rename EventGraph pages."); return TEXT("Rename a function or macro graph in a Blueprint. Cannot rename EventGraph pages.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPFetcher F(Result); MCPFetcher F(Result);
UEdGraph* TargetGraph = F.Walk(Graph).Cast<UEdGraph>(); UEdGraph* TargetGraph = F.Walk(Graph).Cast<UEdGraph>();

View File

@@ -39,7 +39,7 @@ public:
"Optionally attach it to an existing parent component."); "Optionally attach it to an existing parent component.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPAssets<UBlueprint> Assets; MCPAssets<UBlueprint> Assets;
if (!Assets.Exact(Blueprint).Errors(Result).ENone().ETwo().Load()) return; if (!Assets.Exact(Blueprint).Errors(Result).ENone().ETwo().Load()) return;

View File

@@ -49,7 +49,7 @@ public:
return TEXT("Create a new multicast event dispatcher on a Blueprint, optionally with parameters."); return TEXT("Create a new multicast event dispatcher on a Blueprint, optionally with parameters.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPFetcher F(Result); MCPFetcher F(Result);
UBlueprint* BP = F.Walk(Path).Cast<UBlueprint>(); UBlueprint* BP = F.Walk(Path).Cast<UBlueprint>();

View File

@@ -41,7 +41,7 @@ public:
return TEXT("Add a new parameter to a function, custom event, or event dispatcher in a Blueprint."); return TEXT("Add a new parameter to a function, custom event, or event dispatcher in a Blueprint.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPAssets<UBlueprint> Assets; MCPAssets<UBlueprint> Assets;
if (!Assets.Exact(Blueprint).Errors(Result).ENone().ETwo().Load()) return; if (!Assets.Exact(Blueprint).Errors(Result).ENone().ETwo().Load()) return;

View File

@@ -32,7 +32,7 @@ public:
"Creates stub function graphs for each interface function."); "Creates stub function graphs for each interface function.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPAssets<UBlueprint> Assets; MCPAssets<UBlueprint> Assets;
if (!Assets.Exact(Blueprint).Errors(Result).ENone().ETwo().Load()) return; if (!Assets.Exact(Blueprint).Errors(Result).ENone().ETwo().Load()) return;

View File

@@ -42,7 +42,7 @@ public:
return TEXT("Add a new member variable to a Blueprint."); return TEXT("Add a new member variable to a Blueprint.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPAssets<UBlueprint> Assets; MCPAssets<UBlueprint> Assets;
if (!Assets.Exact(Blueprint).Errors(Result).ENone().ETwo().Load()) return; if (!Assets.Exact(Blueprint).Errors(Result).ENone().ETwo().Load()) return;

View File

@@ -44,7 +44,7 @@ public:
return TEXT("Change the type of an existing parameter on a function or custom event in a Blueprint."); return TEXT("Change the type of an existing parameter on a function or custom event in a Blueprint.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPAssets<UBlueprint> Assets; MCPAssets<UBlueprint> Assets;
if (!Assets.Exact(Blueprint).Errors(Result).ENone().ETwo().Load()) return; if (!Assets.Exact(Blueprint).Errors(Result).ENone().ETwo().Load()) return;

View File

@@ -43,7 +43,7 @@ public:
"Supports dry-run mode to preview affected nodes before committing."); "Supports dry-run mode to preview affected nodes before committing.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPFetcher F(Result); MCPFetcher F(Result);
UBlueprint* BP = F.Walk(Blueprint).Cast<UBlueprint>(); UBlueprint* BP = F.Walk(Blueprint).Cast<UBlueprint>();

View File

@@ -102,7 +102,7 @@ public:
return bIsValid; return bIsValid;
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPAssets<UBlueprint> Finder; MCPAssets<UBlueprint> Finder;
Finder.Scan<UBlueprint>().Scan<UWorld>().Errors(Result); Finder.Scan<UBlueprint>().Scan<UWorld>().Errors(Result);

View File

@@ -36,7 +36,7 @@ public:
return TEXT("Create a new Blueprint asset with a specified parent class and type."); return TEXT("Create a new Blueprint asset with a specified parent class and type.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPErrorCallback Error(Result); MCPErrorCallback Error(Result);

View File

@@ -37,7 +37,7 @@ public:
"finding divergence after copy-paste, or auditing consistency."); "finding divergence after copy-paste, or auditing consistency.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
// Load both blueprints // Load both blueprints
MCPAssets<UBlueprint> AssetsA; MCPAssets<UBlueprint> AssetsA;

View File

@@ -31,7 +31,7 @@ public:
"and graph names. Does not include graph contents (use DumpGraphs for that)."); "and graph names. Does not include graph contents (use DumpGraphs for that).");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPFetcher F(Result); MCPFetcher F(Result);
UBlueprint* BP = F.Walk(Blueprint).Cast<UBlueprint>(); UBlueprint* BP = F.Walk(Blueprint).Cast<UBlueprint>();

View File

@@ -29,7 +29,7 @@ public:
"showing hierarchy and component classes."); "showing hierarchy and component classes.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPFetcher F(Result); MCPFetcher F(Result);
F.Walk(Path); F.Walk(Path);

View File

@@ -31,7 +31,7 @@ public:
return TEXT("List all event dispatchers on a Blueprint, including their parameter signatures."); return TEXT("List all event dispatchers on a Blueprint, including their parameter signatures.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPFetcher F(Result); MCPFetcher F(Result);
UBlueprint* BP = F.Walk(Path).Cast<UBlueprint>(); UBlueprint* BP = F.Walk(Path).Cast<UBlueprint>();

View File

@@ -27,7 +27,7 @@ public:
"including their function graphs."); "including their function graphs.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPFetcher F(Result); MCPFetcher F(Result);
F.Walk(Path); F.Walk(Path);

View File

@@ -31,7 +31,7 @@ public:
"Reports compiler warnings and errors."); "Reports compiler warnings and errors.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
// Load Blueprint // Load Blueprint
MCPAssets<UBlueprint> Assets; MCPAssets<UBlueprint> Assets;

View File

@@ -31,7 +31,7 @@ public:
return TEXT("Remove a component from a Blueprint's SimpleConstructionScript."); return TEXT("Remove a component from a Blueprint's SimpleConstructionScript.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPFetcher F(Result); MCPFetcher F(Result);
UBlueprint* BP = F.Walk(Blueprint).Cast<UBlueprint>(); UBlueprint* BP = F.Walk(Blueprint).Cast<UBlueprint>();

View File

@@ -36,7 +36,7 @@ public:
return TEXT("Remove a parameter from a function or custom event in a Blueprint."); return TEXT("Remove a parameter from a function or custom event in a Blueprint.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPAssets<UBlueprint> Assets; MCPAssets<UBlueprint> Assets;
if (!Assets.Exact(Blueprint).Errors(Result).ENone().ETwo().Load()) return; if (!Assets.Exact(Blueprint).Errors(Result).ENone().ETwo().Load()) return;

View File

@@ -34,7 +34,7 @@ public:
"Optionally preserve the function graphs as regular functions."); "Optionally preserve the function graphs as regular functions.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPAssets<UBlueprint> Assets; MCPAssets<UBlueprint> Assets;
if (!Assets.Exact(Blueprint).Errors(Result).ENone().ETwo().Load()) return; if (!Assets.Exact(Blueprint).Errors(Result).ENone().ETwo().Load()) return;

View File

@@ -30,7 +30,7 @@ public:
return TEXT("Remove a member variable from a Blueprint."); return TEXT("Remove a member variable from a Blueprint.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPFetcher F(Result); MCPFetcher F(Result);
UBlueprint* BP = F.Walk(Blueprint).Cast<UBlueprint>(); UBlueprint* BP = F.Walk(Blueprint).Cast<UBlueprint>();

View File

@@ -32,7 +32,7 @@ public:
return TEXT("Change a Blueprint's parent class. Accepts C++ class names or Blueprint names."); return TEXT("Change a Blueprint's parent class. Accepts C++ class names or Blueprint names.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
// Load Blueprint // Load Blueprint
MCPAssets<UBlueprint> Assets; MCPAssets<UBlueprint> Assets;

View File

@@ -36,7 +36,7 @@ public:
return TEXT("List all Blueprint assets in the project, with optional filtering by name, parent class, or type."); return TEXT("List all Blueprint assets in the project, with optional filtering by name, parent class, or type.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPAssets<UObject> Assets; MCPAssets<UObject> Assets;
Assets.NoScans().Substring(Query).Limit(500).Errors(Result); Assets.NoScans().Substring(Query).Limit(500).Errors(Result);

View File

@@ -41,7 +41,7 @@ public:
return TEXT("Search across all Blueprint graphs for nodes matching a query string."); return TEXT("Search across all Blueprint graphs for nodes matching a query string.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
int32 Limit = (MaxResults > 0) ? FMath::Clamp(MaxResults, 1, 200) : 50; int32 Limit = (MaxResults > 0) ? FMath::Clamp(MaxResults, 1, 200) : 50;
int32 Count = 0; int32 Count = 0;

View File

@@ -36,7 +36,7 @@ public:
"Returns class names, parent class, package, and flags."); "Returns class names, parent class, package, and flags.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
Limit = FMath::Clamp(Limit, 1, 500); Limit = FMath::Clamp(Limit, 1, 500);

View File

@@ -27,7 +27,7 @@ public:
return TEXT("List properties on a UClass, including type, owning class, and property flags."); return TEXT("List properties on a UClass, including type, owning class, and property flags.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
UClass* FoundClass = MCPUtils::FindClassByName(ClassName); UClass* FoundClass = MCPUtils::FindClassByName(ClassName);
if (!FoundClass) if (!FoundClass)

View File

@@ -21,7 +21,7 @@ public:
return TEXT("List all currently open asset editors, showing which has focus and whether they have unsaved changes."); return TEXT("List all currently open asset editors, showing which has focus and whether they have unsaved changes.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
UAssetEditorSubsystem* Sub = GEditor->GetEditorSubsystem<UAssetEditorSubsystem>(); UAssetEditorSubsystem* Sub = GEditor->GetEditorSubsystem<UAssetEditorSubsystem>();
if (!Sub) if (!Sub)

View File

@@ -25,7 +25,7 @@ public:
return TEXT("Open an asset in its editor and bring it to focus."); return TEXT("Open an asset in its editor and bring it to focus.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPFetcher F(Result); MCPFetcher F(Result);
UObject* Obj = F.Walk(Path).Cast<UObject>(); UObject* Obj = F.Walk(Path).Cast<UObject>();

View File

@@ -33,7 +33,7 @@ public:
return TEXT("Create a new UserDefinedEnum asset with the specified values."); return TEXT("Create a new UserDefinedEnum asset with the specified values.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
FString PackagePath, AssetName; FString PackagePath, AssetName;
if (!MCPUtils::SplitAssetPath(AssetPath, PackagePath, AssetName)) if (!MCPUtils::SplitAssetPath(AssetPath, PackagePath, AssetName))

View File

@@ -49,7 +49,7 @@ public:
"Use GraphNodeSearchTypes first to find the exact action name."); "Use GraphNodeSearchTypes first to find the exact action name.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPFetcher F(Result); MCPFetcher F(Result);
UEdGraph* TargetGraph = F.Walk(Graph).Cast<UEdGraph>(); UEdGraph* TargetGraph = F.Walk(Graph).Cast<UEdGraph>();

View File

@@ -27,7 +27,7 @@ public:
"Cannot delete undeletable nodes (entry points, root nodes, etc)."); "Cannot delete undeletable nodes (entry points, root nodes, etc).");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPFetcher F(Result); MCPFetcher F(Result);
UEdGraphNode* FoundNode = F.Walk(Node).Cast<UEdGraphNode>(); UEdGraphNode* FoundNode = F.Walk(Node).Cast<UEdGraphNode>();

View File

@@ -39,7 +39,7 @@ public:
"Connections are not preserved on the duplicates."); "Connections are not preserved on the duplicates.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPFetcher F(Result); MCPFetcher F(Result);
UEdGraph* TargetGraph = F.Walk(Graph).Cast<UEdGraph>(); UEdGraph* TargetGraph = F.Walk(Graph).Cast<UEdGraph>();

View File

@@ -26,7 +26,7 @@ public:
return TEXT("Get the comment text and bubble visibility of a node."); return TEXT("Get the comment text and bubble visibility of a node.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPFetcher F(Result); MCPFetcher F(Result);
UEdGraphNode* FoundNode = F.Walk(Node).Cast<UEdGraphNode>(); UEdGraphNode* FoundNode = F.Walk(Node).Cast<UEdGraphNode>();

View File

@@ -35,7 +35,7 @@ public:
"Returns full action names for use with GraphNodeCreate."); "Returns full action names for use with GraphNodeCreate.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
int32 ClampedMax = FMath::Clamp(MaxResults, 1, 500); int32 ClampedMax = FMath::Clamp(MaxResults, 1, 500);

View File

@@ -29,7 +29,7 @@ public:
return TEXT("Set a node's comment text. Makes the comment bubble visible if non-empty."); return TEXT("Set a node's comment text. Makes the comment bubble visible if non-empty.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPFetcher F(Result); MCPFetcher F(Result);
UEdGraphNode* FoundNode = F.Walk(Node).Cast<UEdGraphNode>(); UEdGraphNode* FoundNode = F.Walk(Node).Cast<UEdGraphNode>();

View File

@@ -46,7 +46,7 @@ public:
return TEXT("Reposition one or more nodes in a Blueprint graph."); return TEXT("Reposition one or more nodes in a Blueprint graph.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPFetcher F(Result); MCPFetcher F(Result);
UBlueprint* BP = F.Walk(Blueprint).Cast<UBlueprint>(); UBlueprint* BP = F.Walk(Blueprint).Cast<UBlueprint>();

View File

@@ -42,7 +42,7 @@ public:
return TEXT("Connect pins between nodes in a Blueprint graph."); return TEXT("Connect pins between nodes in a Blueprint graph.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPFetcher F(Result); MCPFetcher F(Result);
UBlueprint* BP = F.Walk(Blueprint).Cast<UBlueprint>(); UBlueprint* BP = F.Walk(Blueprint).Cast<UBlueprint>();

View File

@@ -43,7 +43,7 @@ public:
"Can disconnect a specific link or all links on a pin."); "Can disconnect a specific link or all links on a pin.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPFetcher F(Result); MCPFetcher F(Result);
UBlueprint* BP = F.Walk(Blueprint).Cast<UBlueprint>(); UBlueprint* BP = F.Walk(Blueprint).Cast<UBlueprint>();

View File

@@ -46,7 +46,7 @@ public:
return TEXT("Set the default value of input pins on nodes."); return TEXT("Set the default value of input pins on nodes.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
// Fetch the graph once. // Fetch the graph once.
MCPFetcher GraphFetcher(Result); MCPFetcher GraphFetcher(Result);

View File

@@ -31,7 +31,7 @@ public:
"If given a blueprint or material, dumps all graphs. If given a specific graph, dumps only that one."); "If given a blueprint or material, dumps all graphs. If given a specific graph, dumps only that one.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPFetcher F(Result); MCPFetcher F(Result);
F.Walk(Path); F.Walk(Path);

View File

@@ -35,7 +35,7 @@ public:
return TEXT("Create a new UMaterialFunction asset with an optional description."); return TEXT("Create a new UMaterialFunction asset with an optional description.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
if (!PackagePath.StartsWith(TEXT("/Game"))) if (!PackagePath.StartsWith(TEXT("/Game")))
{ {

View File

@@ -36,7 +36,7 @@ public:
return TEXT("Remove a parameter override from a Material Instance, reverting it to the parent material's value."); return TEXT("Remove a parameter override from a Material Instance, reverting it to the parent material's value.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPFetcher F(Result); MCPFetcher F(Result);
UMaterialInstanceConstant* MI = F.Asset(Path).Cast<UMaterialInstanceConstant>(); UMaterialInstanceConstant* MI = F.Asset(Path).Cast<UMaterialInstanceConstant>();

View File

@@ -37,7 +37,7 @@ public:
return TEXT("Create a new Material Instance Constant asset with a specified parent material."); return TEXT("Create a new Material Instance Constant asset with a specified parent material.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
if (!PackagePath.StartsWith(TEXT("/Game"))) if (!PackagePath.StartsWith(TEXT("/Game")))
{ {

View File

@@ -27,7 +27,7 @@ public:
return TEXT("List all parameters on a Material Instance, showing current values and which are overridden."); return TEXT("List all parameters on a Material Instance, showing current values and which are overridden.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPFetcher F(Result); MCPFetcher F(Result);
UMaterialInstanceConstant* MI = F.Asset(Path).Cast<UMaterialInstanceConstant>(); UMaterialInstanceConstant* MI = F.Asset(Path).Cast<UMaterialInstanceConstant>();

View File

@@ -40,7 +40,7 @@ public:
return TEXT("Set a parameter override on a Material Instance."); return TEXT("Set a parameter override on a Material Instance.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPFetcher F(Result); MCPFetcher F(Result);
UMaterialInstanceConstant* MI = F.Asset(Path).Cast<UMaterialInstanceConstant>(); UMaterialInstanceConstant* MI = F.Asset(Path).Cast<UMaterialInstanceConstant>();

View File

@@ -27,7 +27,7 @@ public:
return TEXT("Force recompile a material and check for compilation errors."); return TEXT("Force recompile a material and check for compilation errors.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
// Load material // Load material
MCPAssets<UMaterial> Assets; MCPAssets<UMaterial> Assets;

View File

@@ -42,7 +42,7 @@ public:
return TEXT("Create a new UMaterial asset with optional domain, blend mode, and two-sided settings."); return TEXT("Create a new UMaterial asset with optional domain, blend mode, and two-sided settings.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
if (!PackagePath.StartsWith(TEXT("/Game"))) if (!PackagePath.StartsWith(TEXT("/Game")))
{ {

View File

@@ -27,7 +27,7 @@ public:
return TEXT("List all parameters on a Material, showing their default values."); return TEXT("List all parameters on a Material, showing their default values.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPFetcher F(Result); MCPFetcher F(Result);
UMaterial* Mat = F.Asset(Path).Cast<UMaterial>(); UMaterial* Mat = F.Asset(Path).Cast<UMaterial>();

View File

@@ -35,7 +35,7 @@ public:
"showing current values and which properties are editable."); "showing current values and which properties are editable.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
// Resolve the path to an object and get its editable template. // Resolve the path to an object and get its editable template.
MCPFetcher F(Result); MCPFetcher F(Result);

View File

@@ -29,7 +29,7 @@ public:
"Properties is a JSON object like {\"TwoSided\": \"true\", \"BlendMode\": \"BLEND_Translucent\"}."); "Properties is a JSON object like {\"TwoSided\": \"true\", \"BlendMode\": \"BLEND_Translucent\"}.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
// Resolve the path to an object and get its editable template. // Resolve the path to an object and get its editable template.
MCPFetcher F(Result); MCPFetcher F(Result);

View File

@@ -23,7 +23,7 @@ public:
return TEXT("List all available commands with their descriptions."); return TEXT("List all available commands with their descriptions.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
FString QueryLower = Query.ToLower(); FString QueryLower = Query.ToLower();
FString PrevGroup; FString PrevGroup;

View File

@@ -49,7 +49,7 @@ public:
"Optionally assign an animation asset to the state."); "Optionally assign an animation asset to the state.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
// Resolve the anim blueprint // Resolve the anim blueprint
MCPFetcher F(Result); MCPFetcher F(Result);

View File

@@ -48,7 +48,7 @@ public:
return TEXT("Add a transition between two states in an animation state machine graph."); return TEXT("Add a transition between two states in an animation state machine graph.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPAssets<UAnimBlueprint> Assets; MCPAssets<UAnimBlueprint> Assets;
if (!Assets.Exact(Blueprint).Errors(Result).ENone().ETwo().Load()) return; if (!Assets.Exact(Blueprint).Errors(Result).ENone().ETwo().Load()) return;

View File

@@ -33,7 +33,7 @@ public:
return TEXT("Remove a state and its connected transitions from an animation state machine graph."); return TEXT("Remove a state and its connected transitions from an animation state machine graph.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
// Fetch the state machine graph via MCPFetcher // Fetch the state machine graph via MCPFetcher
MCPFetcher F(Result); MCPFetcher F(Result);

View File

@@ -43,7 +43,7 @@ public:
return TEXT("Set or replace the animation sequence played by a state in an animation state machine."); return TEXT("Set or replace the animation sequence played by a state in an animation state machine.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
// Resolve the anim blueprint // Resolve the anim blueprint
MCPFetcher F(Result); MCPFetcher F(Result);

View File

@@ -53,7 +53,7 @@ public:
"and optionally wire blueprint variables to the X and Y axis inputs."); "and optionally wire blueprint variables to the X and Y axis inputs.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
// Load the anim blueprint // Load the anim blueprint
MCPAssets<UAnimBlueprint> Assets; MCPAssets<UAnimBlueprint> Assets;

View File

@@ -53,7 +53,7 @@ public:
return TEXT("Update properties on an existing transition between two states in an animation state machine."); return TEXT("Update properties on an existing transition between two states in an animation state machine.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
MCPAssets<UAnimBlueprint> Assets; MCPAssets<UAnimBlueprint> Assets;
if (!Assets.Exact(Blueprint).Errors(Result).ENone().ETwo().Load()) return; if (!Assets.Exact(Blueprint).Errors(Result).ENone().ETwo().Load()) return;

View File

@@ -49,7 +49,7 @@ public:
return TEXT("Create a new UserDefinedStruct asset with optional initial properties."); return TEXT("Create a new UserDefinedStruct asset with optional initial properties.");
} }
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) override virtual void Handle(FStringBuilderBase& Result) override
{ {
if (!PackagePath.StartsWith(TEXT("/Game"))) if (!PackagePath.StartsWith(TEXT("/Game")))
{ {

View File

@@ -294,7 +294,7 @@ FString UMCPServer::HandleRequest(const FString& Line)
// Invoke the handler. // Invoke the handler.
TStringBuilder<32768> TextResult; TStringBuilder<32768> TextResult;
Handler->Handle(&*Request, TextResult); Handler->Handle(TextResult);
FString Result = TextResult.ToString(); FString Result = TextResult.ToString();
for (int32 i = 0; i < Result.Len(); ++i) for (int32 i = 0; i < Result.Len(); ++i)
{ {

View File

@@ -51,5 +51,5 @@ public:
virtual FString GetDescription() const = 0; virtual FString GetDescription() const = 0;
// Called after parameter fields have been populated from JSON. // Called after parameter fields have been populated from JSON.
virtual void Handle(const FJsonObject* Json, FStringBuilderBase& Result) {} virtual void Handle(FStringBuilderBase& Result) {}
}; };