diff options
author | Danil Alexeev <danil@alexeev.xyz> | 2023-10-04 07:54:03 +0300 |
---|---|---|
committer | Danil Alexeev <danil@alexeev.xyz> | 2023-10-04 19:44:32 +0300 |
commit | ed0b3c08e15ee6345ece4b135a5e99870a8fc79f (patch) | |
tree | ac8fe0ff0c7dcb8d10e660c631946c8a3f58a6ee /core/object/object.cpp | |
parent | bfd78bb917887cfc1fd842ba23570394cad8bedb (diff) | |
download | redot-engine-ed0b3c08e15ee6345ece4b135a5e99870a8fc79f.tar.gz |
Core: Fix `Object::has_method()` for script static methods
Diffstat (limited to 'core/object/object.cpp')
-rw-r--r-- | core/object/object.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/core/object/object.cpp b/core/object/object.cpp index f62b93d0ff..eb645b3a92 100644 --- a/core/object/object.cpp +++ b/core/object/object.cpp @@ -666,8 +666,16 @@ bool Object::has_method(const StringName &p_method) const { } MethodBind *method = ClassDB::get_method(get_class_name(), p_method); + if (method != nullptr) { + return true; + } - return method != nullptr; + const Script *scr = Object::cast_to<Script>(this); + if (scr != nullptr) { + return scr->has_static_method(p_method); + } + + return false; } Variant Object::getvar(const Variant &p_key, bool *r_valid) const { |