Saltar al contenido principal

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.

#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ó:

CampoTipoSignificado
bSuccessboolSi la pasada se completó.
ErrorFStringSe rellena cuando bSuccess es false.
Before / AfterstructConteos de Nodes, Crossings, Comments, antes y después de la pasada.
OrphansRemovedint32Nodos huérfanos eliminados.
RerouteRemovedint32Reroutes inútiles eliminados.
CastsMergedint32Casts duplicados fusionados.
VariablesRenamedint32Variables renombradas por reglas de prefijo bool/PascalCase.
SuggestionsTArray<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.