diff options
Diffstat (limited to 'core/object/object.h')
-rw-r--r-- | core/object/object.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/core/object/object.h b/core/object/object.h index cb1495296d..d9551ecd01 100644 --- a/core/object/object.h +++ b/core/object/object.h @@ -654,6 +654,7 @@ private: Variant _get_bind(const StringName &p_name) const; void _set_indexed_bind(const NodePath &p_name, const Variant &p_value); Variant _get_indexed_bind(const NodePath &p_name) const; + int _get_method_argument_count_bind(const StringName &p_name) const; _FORCE_INLINE_ void _construct_object(bool p_reference); @@ -796,12 +797,12 @@ public: void detach_from_objectdb(); _FORCE_INLINE_ ObjectID get_instance_id() const { return _instance_id; } - template <class T> + template <typename T> static T *cast_to(Object *p_object) { return p_object ? dynamic_cast<T *>(p_object) : nullptr; } - template <class T> + template <typename T> static const T *cast_to(const Object *p_object) { return p_object ? dynamic_cast<const T *>(p_object) : nullptr; } @@ -865,6 +866,7 @@ public: Variant property_get_revert(const StringName &p_name) const; bool has_method(const StringName &p_method) const; + int get_method_argument_count(const StringName &p_method, bool *r_is_valid = nullptr) const; void get_method_list(List<MethodInfo> *p_list) const; Variant callv(const StringName &p_method, const Array &p_args); virtual Variant callp(const StringName &p_method, const Variant **p_args, int p_argcount, Callable::CallError &r_error); |