void MeshLibraryEditor::_import_scene_cbk(const String& p_str) { print_line("Impot Callback!"); Ref<PackedScene> ps = ResourceLoader::load(p_str,"PackedScene"); ERR_FAIL_COND(ps.is_null()); Node *scene = ps->instance(); _import_scene(scene,theme,option==MENU_OPTION_UPDATE_FROM_SCENE); memdelete(scene); theme->set_meta("_editor_source_scene",p_str); menu->get_popup()->set_item_disabled(menu->get_popup()->get_item_index(MENU_OPTION_UPDATE_FROM_SCENE),false); }
void TileSetEditor::_menu_confirm() { switch (option) { case MENU_OPTION_MERGE_FROM_SCENE: case MENU_OPTION_CREATE_FROM_SCENE: { EditorNode *en = editor; Node *scene = en->get_edited_scene(); if (!scene) break; _import_scene(scene, tileset, option == MENU_OPTION_MERGE_FROM_SCENE); } break; } }
Error MeshLibraryEditor::update_library_file(Node *p_base_scene, Ref<MeshLibrary> ml,bool p_merge) { _import_scene(p_base_scene,ml,p_merge); return OK; }
Error TileSetEditor::update_library_file(Node *p_base_scene, Ref<TileSet> ml, bool p_merge) { _import_scene(p_base_scene, ml, p_merge); return OK; }