summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/classes/EditorInterface.xml10
-rw-r--r--editor/editor_interface.cpp5
-rw-r--r--editor/editor_interface.h1
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.