MCPcopy Create free account
hub / github.com/Redot-Engine/redot-engine / remove_scene

Method remove_scene

editor/editor_data.cpp:647–672  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

645}
646
647void EditorData::remove_scene(int p_idx) {
648 ERR_FAIL_INDEX(p_idx, edited_scene.size());
649 if (edited_scene[p_idx].root) {
650 for (int i = 0; i < editor_plugins.size(); i++) {
651 editor_plugins[i]->notify_scene_closed(edited_scene[p_idx].root->get_scene_file_path());
652 }
653
654 memdelete(edited_scene[p_idx].root);
655 edited_scene.write[p_idx].root = nullptr;
656 }
657
658 if (current_edited_scene > p_idx) {
659 current_edited_scene--;
660 } else if (current_edited_scene == p_idx && current_edited_scene > 0) {
661 current_edited_scene--;
662 }
663
664 if (!edited_scene[p_idx].path.is_empty()) {
665 EditorNode::get_singleton()->emit_signal("scene_closed", edited_scene[p_idx].path);
666 }
667
668 if (undo_redo_manager->has_history(edited_scene[p_idx].history_id)) { // Might not exist if scene failed to load.
669 undo_redo_manager->discard_history(edited_scene[p_idx].history_id);
670 }
671 edited_scene.remove_at(p_idx);
672}
673
674bool EditorData::_find_updated_instances(Node *p_root, Node *p_node, HashSet<String> &checked_paths) {
675 Ref<SceneState> ss;

Callers 4

_remove_edited_sceneMethod · 0.80
_remove_sceneMethod · 0.80
new_sceneMethod · 0.80
load_sceneMethod · 0.80

Calls 9

memdeleteFunction · 0.85
notify_scene_closedMethod · 0.80
get_scene_file_pathMethod · 0.80
emit_signalMethod · 0.80
has_historyMethod · 0.80
discard_historyMethod · 0.80
sizeMethod · 0.65
is_emptyMethod · 0.45
remove_atMethod · 0.45

Tested by

no test coverage detected