diff options
| author | Juan Linietsky | 2014-09-19 21:01:41 -0300 |
|---|---|---|
| committer | Juan Linietsky | 2014-09-19 21:01:41 -0300 |
| commit | 0a557f3bf50a0ccff444003c5adc8078862e52c7 (patch) | |
| tree | 64fef2b54fa65f895239e2384cc8164549099f74 /core/variant_call.cpp | |
| parent | 549d344f0fef5e5748ded69b6a037698ff55f8bc (diff) | |
| download | godot-0a557f3bf50a0ccff444003c5adc8078862e52c7.tar.gz godot-0a557f3bf50a0ccff444003c5adc8078862e52c7.tar.zst godot-0a557f3bf50a0ccff444003c5adc8078862e52c7.zip | |
Diffstat (limited to 'core/variant_call.cpp')
| -rw-r--r-- | core/variant_call.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/core/variant_call.cpp b/core/variant_call.cpp index 8fbccc87a..e0ae7e211 100644 --- a/core/variant_call.cpp +++ b/core/variant_call.cpp @@ -1012,6 +1012,32 @@ Variant Variant::construct(const Variant::Type p_type,const Variant** p_args,int return Variant(); } + +bool Variant::has_method(const StringName& p_method) const { + + + if (type==OBJECT) { + Object *obj = operator Object*(); + if (!obj) + return false; +#ifdef DEBUG_ENABLED + if (ScriptDebugger::get_singleton()) { + if (ObjectDB::instance_validate(obj)) { +#endif + return obj->has_method(p_method); +#ifdef DEBUG_ENABLED + + } + } +#endif + } + + + const _VariantCall::TypeFunc &fd = _VariantCall::type_funcs[type]; + return fd.functions.has(p_method); + +} + void Variant::get_method_list(List<MethodInfo> *p_list) const { |
