--------------------------------- EditorConfig::QueryStartScene Let the user decide what scene to boot into
| 51 | // Let the user decide what scene to boot into |
| 52 | // |
| 53 | void EditorConfig::QueryStartScene() |
| 54 | { |
| 55 | ResourceChooserDialog* resourceDialog = ResourceChooserDialog::create(std::vector<rttr::type>({rttr::type::get<fw::SceneDescriptorAsset>()})); |
| 56 | resourceDialog->set_title("Please select a Scene..."); |
| 57 | |
| 58 | resourceDialog->signal_hide().connect([resourceDialog]() -> void { delete resourceDialog; }); |
| 59 | |
| 60 | int32 const response = resourceDialog->run(); |
| 61 | if (response == Gtk::ResponseType::RESPONSE_ACCEPT) |
| 62 | { |
| 63 | ET_ASSERT(!(resourceDialog->GetSelectedAssets().empty())); |
| 64 | |
| 65 | core::I_Asset* const selectedAsset = resourceDialog->GetSelectedAssets()[0]; |
| 66 | ET_ASSERT(selectedAsset->GetType() == rttr::type::get<fw::SceneDescriptor>()); |
| 67 | |
| 68 | m_StartScene = selectedAsset->GetId(); |
| 69 | } |
| 70 | else |
| 71 | { |
| 72 | m_StartScene.Reset(); |
| 73 | } |
| 74 | |
| 75 | resourceDialog->hide(); |
| 76 | } |
| 77 | |
| 78 | |
| 79 | } // namespace edit |
no test coverage detected