I am trying to make an Editor Utility Widget with c++, but the Details View doesn’t seem to work for some reason.
I feel like there has to be something like TargetManagerSelector->SetObject(/SOMETHING HERE/) but i don’t know where to put this logic and what to set… Can anybody help?
Header File
UPROPERTY(EditAnywhere, meta = (BindWidget))
TObjectPtr<UDetailsView> TargetManagerSelector;
UPROPERTY(EditAnywhere, Category="Target Managers")
TArray<ATargetManager*> TargetManagers;
UPROPERTY(EditAnywhere, meta = (BindWidget))
TObjectPtr<UButton> GetActorButton;
UFUNCTION()
TArray<ATargetManager*> GetSelectedActors();
Cpp File
//
void UEditorUtilityWidget::NativeConstruct()
{
//... Bind Button to function
if (GetActorButton){
GetActorButton->OnClicked.AddDynamic(this, &UEditorUtilityWidget::GetSelectedActors);
}
}
TArray<ATargetManager*> UEditorUtilityWidget::GetSelectedActors()
{
TArray<UObject*> SelectedTargetManagers = UEditorUtilityLibrary::GetSelectedAssets();
if(!SelectedTargetManagers.IsEmpty()){
for(UObject* SelectedTargetManager : SelectedTargetManagers){
ATargetManager* TargetManager = Cast<ATargetManager>(SelectedTargetManager);
if (!TargetManager) continue;
TargetManagers.Add(TargetManager);
}
}
return TargetManagers;
}