diff --git a/editor/editor_interface.cpp b/editor/editor_interface.cpp index af1d23a4fec..b007f6d5303 100644 --- a/editor/editor_interface.cpp +++ b/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 *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)); diff --git a/editor/editor_interface.h b/editor/editor_interface.h index 079fc169f27..73e89ae2f24 100644 --- a/editor/editor_interface.h +++ b/editor/editor_interface.h @@ -152,6 +152,8 @@ public: // Base. + virtual void get_argument_options(const StringName &p_function, int p_idx, List *r_options) const override; + static void create(); static void free();