فهرست منبع

Add `save_all_scenes` method to Editor Interface

Update documentation

(squash) fix docs

(squash) Improve docs
Henrique Alves 2 سال پیش
والد
کامیت
8ef2e3d76c
3فایلهای تغییر یافته به همراه14 افزوده شده و 2 حذف شده
  1. 8 2
      doc/classes/EditorInterface.xml
  2. 5 0
      editor/editor_interface.cpp
  3. 1 0
      editor/editor_interface.h

+ 8 - 2
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">

+ 5 - 0
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);
 

+ 1 - 0
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.