summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-01-04 14:26:33 +0100
committerRémi Verschelde <rverschelde@gmail.com>2024-01-04 14:26:33 +0100
commit01e7c26e39d2d4e3a8dbdb6c42e4640e859d9034 (patch)
tree94284bdf02cdcf86b08114dab137ba4a02f3b44a
parent50a073cb0e9b30c53fc8b9ecc87b673609d70b0b (diff)
parent5c87b6eae85d0210b16166aca3d08389c4ae3df0 (diff)
downloadredot-engine-01e7c26e39d2d4e3a8dbdb6c42e4640e859d9034.tar.gz
Merge pull request #86753 from Mickeon/autocompletion-engine-singletons
Add autocompletion for `Engine.get_singleton` & similar
-rw-r--r--core/core_bind.cpp10
-rw-r--r--core/core_bind.h2
2 files changed, 12 insertions, 0 deletions
diff --git a/core/core_bind.cpp b/core/core_bind.cpp
index d91c659d1e..a43dce58cb 100644
--- a/core/core_bind.cpp
+++ b/core/core_bind.cpp
@@ -1718,6 +1718,16 @@ bool Engine::is_printing_error_messages() const {
return ::Engine::get_singleton()->is_printing_error_messages();
}
+void Engine::get_argument_options(const StringName &p_function, int p_idx, List<String> *r_options) const {
+ String pf = p_function;
+ if (p_idx == 0 && (pf == "has_singleton" || pf == "get_singleton" || pf == "unregister_singleton")) {
+ for (const String &E : get_singleton_list()) {
+ r_options->push_back(E.quote());
+ }
+ }
+ Object::get_argument_options(p_function, p_idx, r_options);
+}
+
void Engine::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_physics_ticks_per_second", "physics_ticks_per_second"), &Engine::set_physics_ticks_per_second);
ClassDB::bind_method(D_METHOD("get_physics_ticks_per_second"), &Engine::get_physics_ticks_per_second);
diff --git a/core/core_bind.h b/core/core_bind.h
index 715e26cf23..c53765cdee 100644
--- a/core/core_bind.h
+++ b/core/core_bind.h
@@ -527,6 +527,8 @@ public:
void set_print_error_messages(bool p_enabled);
bool is_printing_error_messages() const;
+ virtual void get_argument_options(const StringName &p_function, int p_idx, List<String> *r_options) const override;
+
Engine() { singleton = this; }
};