API de C++
Otros plugins y módulos de proyecto pueden llamar al organizador directamente en lugar de pasar por la UI del editor. Toda la superficie pública vive en un único header, y es estable a lo largo de la serie 1.x.
Dependencia
Añade UeaboCore a PublicDependencyModuleNames (o PrivateDependencyModuleNames) de tu módulo,
en el archivo Build.cs.
Header
#include "IUeaboOrganizer.h"
Obteniendo el módulo
IUeaboOrganizer& Organizer = IUeaboOrganizer::Get();
Opciones
FUeaboOrganizeOptions Options = FUeaboOrganizeOptions::FromSettings();
FromSettings() construye una struct de opciones a partir de los
Ajustes guardados del usuario, así que una organización disparada desde un
plugin se comporta igual que el atajo del editor. También puedes construir y rellenar
FUeaboOrganizeOptions a mano para sobrescribir cualquier campo.
Organizando
FUeaboOrganizeResult OrganizeGraph(UEdGraph* Graph, const FUeaboOrganizeOptions& Options);
FUeaboOrganizeResult OrganizeBlueprint(UBlueprint* Blueprint, const FUeaboOrganizeOptions& Options);
OrganizeGraph organiza un único grafo; OrganizeBlueprint organiza todos los grafos de un
Blueprint más sus miembros. Ambos se ejecutan como una única transacción deshacible, igual que los
atajos del editor.
Resultado
FUeaboOrganizeResult reporta lo que ocurrió:
| Campo | Tipo | Significado |
|---|---|---|
bSuccess | bool | Si la pasada se completó. |
Error | FString | Se rellena cuando bSuccess es false. |
Before / After | struct | Conteos de Nodes, Crossings, Comments, antes y después de la pasada. |
OrphansRemoved | int32 | Nodos huérfanos eliminados. |
RerouteRemoved | int32 | Reroutes inútiles eliminados. |
CastsMerged | int32 | Casts duplicados fusionados. |
VariablesRenamed | int32 | Variables renombradas por reglas de prefijo bool/PascalCase. |
Suggestions | TArray<FString> | Sugerencias legibles (candidatas a extracción de función, branches profundos). |
Estabilidad
Esta API es estable en la serie 1.x: las firmas en IUeaboOrganizer.h no cambian entre
versiones 1.x. Se mantiene en un único header para facilitar su seguimiento.