diff options
author | Juan Linietsky <reduzio@gmail.com> | 2020-04-20 19:06:00 -0300 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2020-04-21 10:15:40 +0200 |
commit | 5d4dc2d45caef77cdb52e365bc02f64d54046df5 (patch) | |
tree | fb09d0a007a7a4fb4c45826e0e5955da4a11a07c /modules/gdscript | |
parent | 7343ec13d9d32cedb2511db0ab5d1ed454404d65 (diff) |
Add ability to bind typed arrays to script API
Note: Only replaced 2 instances to test, Node.get_children and TileMap.get_used_cells
Note: Will do a mass replace on later PRs of whathever I can find, but probably need
a tool to grep through doc.
Warning: Mono will break, needs to be fixed (and so do TypeScript and NativeScript, need to ask respective maintainers)
Diffstat (limited to 'modules/gdscript')
-rw-r--r-- | modules/gdscript/gdscript.cpp | 18 | ||||
-rw-r--r-- | modules/gdscript/gdscript.h | 2 |
2 files changed, 20 insertions, 0 deletions
diff --git a/modules/gdscript/gdscript.cpp b/modules/gdscript/gdscript.cpp index 00bf464f63..98366f7957 100644 --- a/modules/gdscript/gdscript.cpp +++ b/modules/gdscript/gdscript.cpp @@ -895,6 +895,24 @@ Ref<GDScript> GDScript::get_base() const { return base; } +bool GDScript::inherits_script(const Ref<Script> &p_script) const { + Ref<GDScript> gd = p_script; + if (gd.is_null()) { + return false; + } + + const GDScript *s = this; + + while (s) { + if (s == p_script.ptr()) { + return true; + } + s = s->_base; + } + + return false; +} + bool GDScript::has_script_signal(const StringName &p_signal) const { if (_signals.has(p_signal)) return true; diff --git a/modules/gdscript/gdscript.h b/modules/gdscript/gdscript.h index 9758818162..5fdc25669f 100644 --- a/modules/gdscript/gdscript.h +++ b/modules/gdscript/gdscript.h @@ -151,6 +151,8 @@ protected: public: virtual bool is_valid() const { return valid; } + bool inherits_script(const Ref<Script> &p_script) const; + const Map<StringName, Ref<GDScript>> &get_subclasses() const { return subclasses; } const Map<StringName, Variant> &get_constants() const { return constants; } const Set<StringName> &get_members() const { return members; } |