aboutsummaryrefslogtreecommitdiff
path: root/core/variant_call.cpp
diff options
context:
space:
mode:
authorJuan Linietsky2014-09-19 21:01:41 -0300
committerJuan Linietsky2014-09-19 21:01:41 -0300
commit0a557f3bf50a0ccff444003c5adc8078862e52c7 (patch)
tree64fef2b54fa65f895239e2384cc8164549099f74 /core/variant_call.cpp
parent549d344f0fef5e5748ded69b6a037698ff55f8bc (diff)
downloadgodot-0a557f3bf50a0ccff444003c5adc8078862e52c7.tar.gz
godot-0a557f3bf50a0ccff444003c5adc8078862e52c7.tar.zst
godot-0a557f3bf50a0ccff444003c5adc8078862e52c7.zip
Diffstat (limited to 'core/variant_call.cpp')
-rw-r--r--core/variant_call.cpp26
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 {