Simplification of handlers
This commit is contained in:
@@ -326,9 +326,9 @@ void UWingServer::TryCallHandler(const FString &Line)
|
||||
LastHandler = Found;
|
||||
|
||||
// Make an object of the handler class.
|
||||
TStrongObjectPtr<UObject> HandlerObj(NewObject<UObject>(GetTransientPackage(), Found->Class.Get()));
|
||||
TStrongObjectPtr<UObject> HandlerObj(NewObject<UObject>(GetTransientPackage(), Found->HandlerClass.Get()));
|
||||
UWingHandler* Handler = Cast<UWingHandler>(HandlerObj.Get());
|
||||
Handler->ConfigurationObject = Found->Config.Get();
|
||||
Handler->Configuration = Found;
|
||||
|
||||
// Populate the handler object with the request parameters.
|
||||
TArray<FWingProperty> Props = FWingProperty::GetAll(Handler, CPF_Edit);
|
||||
@@ -458,16 +458,17 @@ void UWingServer::ClientThreadFunc(UWingServer* Server, TSharedPtr<FClientConnec
|
||||
|
||||
void UWingServer::AddHandler(UObject* Obj, const FString& Documentation)
|
||||
{
|
||||
AddHandler(Obj, WingUtils::GetHandlerName(Obj->GetClass()), nullptr, EWingHandlerKind::Normal, Documentation);
|
||||
AddHandler(Obj, WingUtils::GetHandlerName(Obj->GetClass()), nullptr, EWingHandlerKind::Normal, nullptr, Documentation);
|
||||
}
|
||||
|
||||
void UWingServer::AddHandler(UObject* Obj, const FString& Name, UObject* Config, EWingHandlerKind Kind, const FString& Documentation)
|
||||
void UWingServer::AddHandler(UObject* Obj, const FString& Name, UObject* Config, EWingHandlerKind Kind, UClass* FactoryClass, const FString& Documentation)
|
||||
{
|
||||
FWingHandlerConfig H;
|
||||
H.Name = Name;
|
||||
H.Documentation = Documentation;
|
||||
H.Class = TStrongObjectPtr<UClass>(Obj->GetClass());
|
||||
H.HandlerClass = TStrongObjectPtr<UClass>(Obj->GetClass());
|
||||
H.Config = TStrongObjectPtr<UObject>(Config);
|
||||
H.FactoryClass = TStrongObjectPtr<UClass>(FactoryClass);
|
||||
H.Kind = Kind;
|
||||
|
||||
GWingServer->WingHandlerRegistry.Add(MoveTemp(H));
|
||||
|
||||
Reference in New Issue
Block a user