тулбаре блюпринта. Вопрос: как при нажатии на кнопку получить объект блупринта? Пытался через FBlueprintEditorModule::GetBlueprintEditors вытянуть все открытые эдиторы, далее перебираю по очереди, кастую к FBlueprintEditor и вызываю у него GetBlueprintObj. Но последний метод возвращает UBlueprint. Что с ним делать далее не ясно. Пытался кастить к типу нужного мне объекта класса, но Cast возвращает nullptr.
А что есть внутри UBlueprint?
FBlueprintEditorModule& BPEditorModule = FModuleManager::LoadModuleChecked<FBlueprintEditorModule>("Kismet"); TArray<TSharedRef<IBlueprintEditor>> BlueprintEditors = BPEditorModule.GetBlueprintEditors(); UMyClass* MyClass = nullptr; for (TSharedRef<IBlueprintEditor>& BlueprintEditor : BlueprintEditors) { FBlueprintEditor& Editor = static_cast<FBlueprintEditor&>(BlueprintEditor.Get()); if (UBlueprint* Object = Editor.GetBlueprintObj()) { if (Object->ParentClass->IsChildOf(UMyClass::StaticClass())) { UE_LOG(LogTemp, Log, TEXT("Casted!")) MyClass = Cast<UMyClass>(Object); } } } check(UMyClass); // crash
Но ты не ответил на мой вопрос...
там туча методов)
Ну тогда попробуй не утонуть и искать что-то типа объекта или класса, я сам не помню уже
Обсуждают сегодня