Another registration overhaul

This commit is contained in:
2026-04-01 18:12:54 -04:00
parent 483b3b75ff
commit 7865818e69
67 changed files with 224 additions and 232 deletions

View File

@@ -452,21 +452,21 @@ void UWingServer::ClientThreadFunc(UWingServer* Server, TSharedPtr<FClientConnec
// BuildWingHandlerRegistry
// ============================================================
void UWingHandler::Register(UWingServer* Server)
void UWingServer::AddHandler(UObject* Obj, const FString& Documentation)
{
UClass* Class = GetClass();
Server->AddHandler(WingUtils::GetHandlerName(Class), Class, nullptr, EWingHandlerKind::Normal);
AddHandler(Obj, WingUtils::GetHandlerName(Obj->GetClass()), Documentation, nullptr, EWingHandlerKind::Normal);
}
void UWingServer::AddHandler(const FString& Name, UClass* Class, UObject* Config, EWingHandlerKind Kind)
void UWingServer::AddHandler(UObject* Obj, const FString& Name, const FString& Documentation, UObject* Config, EWingHandlerKind Kind)
{
FWingHandlerConfig H;
H.Name = Name;
H.Class = TStrongObjectPtr<UClass>(Class);
H.Documentation = Documentation;
H.Class = TStrongObjectPtr<UClass>(Obj->GetClass());
H.Config = TStrongObjectPtr<UObject>(Config);
H.Kind = Kind;
WingHandlerRegistry.Add(MoveTemp(H));
GWingServer->WingHandlerRegistry.Add(MoveTemp(H));
}
void UWingServer::BuildWingHandlerRegistry()
@@ -474,7 +474,7 @@ void UWingServer::BuildWingHandlerRegistry()
for (UClass* Class : WingUtils::CollectHandlerClasses())
{
UWingHandler* CDO = Cast<UWingHandler>(Class->GetDefaultObject());
CDO->Register(this);
CDO->Register();
}
WingHandlerRegistry.Sort([](const FWingHandlerConfig& A, const FWingHandlerConfig& B) { return A.Name < B.Name; });
}