Przeglądaj źródła

Add autocompletion for a few EditorInterface methods

Micky 1 rok temu
rodzic
commit
db10ce3d8d
2 zmienionych plików z 17 dodań i 0 usunięć
  1. 15 0
      editor/editor_interface.cpp
  2. 2 0
      editor/editor_interface.h

+ 15 - 0
editor/editor_interface.cpp

@@ -400,6 +400,21 @@ bool EditorInterface::is_movie_maker_enabled() const {
 }
 
 // Base.
+void EditorInterface::get_argument_options(const StringName &p_function, int p_idx, List<String> *r_options) const {
+	String pf = p_function;
+	if (p_idx == 0) {
+		if (pf == "set_main_screen_editor") {
+			for (String E : { "\"2D\"", "\"3D\"", "\"Script\"", "\"AssetLib\"" }) {
+				r_options->push_back(E);
+			}
+		} else if (pf == "get_editor_viewport_3d") {
+			for (uint32_t i = 0; i < Node3DEditor::VIEWPORTS_COUNT; i++) {
+				r_options->push_back(String::num_int64(i));
+			}
+		}
+	}
+	Object::get_argument_options(p_function, p_idx, r_options);
+}
 
 void EditorInterface::_bind_methods() {
 	ClassDB::bind_method(D_METHOD("restart_editor", "save"), &EditorInterface::restart_editor, DEFVAL(true));

+ 2 - 0
editor/editor_interface.h

@@ -152,6 +152,8 @@ public:
 
 	// Base.
 
+	virtual void get_argument_options(const StringName &p_function, int p_idx, List<String> *r_options) const override;
+
 	static void create();
 	static void free();