Pular para o conteúdo principal

API em C++

Outros plugins e módulos de projeto podem chamar o organizador diretamente em vez de passar pela UI do editor. Toda a superfície pública vive em um único header, e é estável ao longo da série 1.x.

Dependência​

Adicione UeaboCore a PublicDependencyModuleNames (ou PrivateDependencyModuleNames) do seu módulo, no arquivo Build.cs.

#include "IUeaboOrganizer.h"

Obtendo o módulo​

IUeaboOrganizer& Organizer = IUeaboOrganizer::Get();

Opções​

FUeaboOrganizeOptions Options = FUeaboOrganizeOptions::FromSettings();

FromSettings() constrói uma struct de opções a partir das Configurações salvas pelo usuário, então uma organização disparada por um plugin se comporta como o atalho do editor. Você também pode construir e popular FUeaboOrganizeOptions manualmente para sobrescrever qualquer campo.

Organizando​

FUeaboOrganizeResult OrganizeGraph(UEdGraph* Graph, const FUeaboOrganizeOptions& Options);
FUeaboOrganizeResult OrganizeBlueprint(UBlueprint* Blueprint, const FUeaboOrganizeOptions& Options);

OrganizeGraph organiza um único grafo; OrganizeBlueprint organiza todos os grafos de um Blueprint, além dos membros. Ambos rodam como uma única transação desfazível, igual aos atalhos do editor.

Resultado​

FUeaboOrganizeResult relata o que aconteceu:

CampoTipoSignificado
bSuccessboolSe a passagem foi concluída.
ErrorFStringPreenchido quando bSuccess é false.
Before / AfterstructContagens de Nodes, Crossings, Comments, antes e depois da passagem.
OrphansRemovedint32Nós órfãos removidos.
RerouteRemovedint32Reroutes inúteis removidos.
CastsMergedint32Casts duplicados mesclados.
VariablesRenamedint32Variáveis renomeadas por regras de prefixo bool/PascalCase.
SuggestionsTArray<FString>Sugestões legíveis (candidatas a extração de função, branches profundos).

Estabilidade​

Esta API é estável na série 1.x: assinaturas em IUeaboOrganizer.h não quebram entre releases 1.x. Ela permanece em um único header para facilitar o acompanhamento.