summaryrefslogtreecommitdiffstats
path: root/core/object/callable_method_pointer.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/object/callable_method_pointer.h')
-rw-r--r--core/object/callable_method_pointer.h20
1 files changed, 14 insertions, 6 deletions
diff --git a/core/object/callable_method_pointer.h b/core/object/callable_method_pointer.h
index 1584906710..2dbb7e468e 100644
--- a/core/object/callable_method_pointer.h
+++ b/core/object/callable_method_pointer.h
@@ -198,7 +198,7 @@ class CallableCustomMethodPointerRetC : public CallableCustomMethodPointerBase {
} data;
public:
- virtual ObjectID get_object() const {
+ virtual ObjectID get_object() const override {
#ifdef DEBUG_ENABLED
if (ObjectDB::get_instance(ObjectID(data.object_id)) == nullptr) {
return ObjectID();
@@ -207,7 +207,7 @@ public:
return data.instance->get_instance_id();
}
- virtual void call(const Variant **p_arguments, int p_argcount, Variant &r_return_value, Callable::CallError &r_call_error) const {
+ virtual void call(const Variant **p_arguments, int p_argcount, Variant &r_return_value, Callable::CallError &r_call_error) const override {
#ifdef DEBUG_ENABLED
ERR_FAIL_COND_MSG(ObjectDB::get_instance(ObjectID(data.object_id)) == nullptr, "Invalid Object id '" + uitos(data.object_id) + "', can't call method.");
#endif
@@ -254,11 +254,15 @@ class CallableCustomStaticMethodPointer : public CallableCustomMethodPointerBase
} data;
public:
- virtual ObjectID get_object() const {
+ virtual bool is_valid() const override {
+ return true;
+ }
+
+ virtual ObjectID get_object() const override {
return ObjectID();
}
- virtual void call(const Variant **p_arguments, int p_argcount, Variant &r_return_value, Callable::CallError &r_call_error) const {
+ virtual void call(const Variant **p_arguments, int p_argcount, Variant &r_return_value, Callable::CallError &r_call_error) const override {
call_with_variant_args_static_ret(data.method, p_arguments, p_argcount, r_return_value, r_call_error);
r_return_value = Variant();
}
@@ -292,11 +296,15 @@ class CallableCustomStaticMethodPointerRet : public CallableCustomMethodPointerB
} data;
public:
- virtual ObjectID get_object() const {
+ virtual bool is_valid() const override {
+ return true;
+ }
+
+ virtual ObjectID get_object() const override {
return ObjectID();
}
- virtual void call(const Variant **p_arguments, int p_argcount, Variant &r_return_value, Callable::CallError &r_call_error) const {
+ virtual void call(const Variant **p_arguments, int p_argcount, Variant &r_return_value, Callable::CallError &r_call_error) const override {
call_with_variant_args_static_ret(data.method, p_arguments, p_argcount, r_return_value, r_call_error);
}