diff options
-rw-r--r-- | doc/classes/EditorInterface.xml | 10 | ||||
-rw-r--r-- | editor/editor_interface.cpp | 5 | ||||
-rw-r--r-- | editor/editor_interface.h | 1 |
3 files changed, 14 insertions, 2 deletions
diff --git a/doc/classes/EditorInterface.xml b/doc/classes/EditorInterface.xml index f8002c260f..06b72fceb7 100644 --- a/doc/classes/EditorInterface.xml +++ b/doc/classes/EditorInterface.xml @@ -262,10 +262,16 @@ Restarts the editor. This closes the editor and then opens the same project. If [param save] is [code]true[/code], the project will be saved before restarting. </description> </method> + <method name="save_all_scenes"> + <return type="void" /> + <description> + Saves all opened scenes in the editor. + </description> + </method> <method name="save_scene"> <return type="int" enum="Error" /> <description> - Saves the scene. Returns either [constant OK] or [constant ERR_CANT_CREATE]. + Saves the currently active scene. Returns either [constant OK] or [constant ERR_CANT_CREATE]. </description> </method> <method name="save_scene_as"> @@ -273,7 +279,7 @@ <param index="0" name="path" type="String" /> <param index="1" name="with_preview" type="bool" default="true" /> <description> - Saves the scene as a file at [param path]. + Saves the currently active scene as a file at [param path]. </description> </method> <method name="select_file"> diff --git a/editor/editor_interface.cpp b/editor/editor_interface.cpp index d9d9dc01c0..6b5f8e27ac 100644 --- a/editor/editor_interface.cpp +++ b/editor/editor_interface.cpp @@ -337,6 +337,10 @@ void EditorInterface::mark_scene_as_unsaved() { EditorUndoRedoManager::get_singleton()->set_history_as_unsaved(EditorNode::get_editor_data().get_current_edited_scene_history_id()); } +void EditorInterface::save_all_scenes() { + EditorNode::get_singleton()->save_all_scenes(); +} + // Scene playback. void EditorInterface::play_main_scene() { @@ -434,6 +438,7 @@ void EditorInterface::_bind_methods() { ClassDB::bind_method(D_METHOD("save_scene"), &EditorInterface::save_scene); ClassDB::bind_method(D_METHOD("save_scene_as", "path", "with_preview"), &EditorInterface::save_scene_as, DEFVAL(true)); + ClassDB::bind_method(D_METHOD("save_all_scenes"), &EditorInterface::save_all_scenes); ClassDB::bind_method(D_METHOD("mark_scene_as_unsaved"), &EditorInterface::mark_scene_as_unsaved); diff --git a/editor/editor_interface.h b/editor/editor_interface.h index f7e8cf8d4c..a348023e4d 100644 --- a/editor/editor_interface.h +++ b/editor/editor_interface.h @@ -130,6 +130,7 @@ public: Error save_scene(); void save_scene_as(const String &p_scene, bool p_with_preview = true); void mark_scene_as_unsaved(); + void save_all_scenes(); // Scene playback. |