123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- extends Node
- func my_func_1(_foo, _bar):
- pass
- func my_func_2(_foo, _bar, _baz):
- pass
- static func my_static_func_1(_foo, _bar):
- pass
- static func my_static_func_2(_foo, _bar, _baz):
- pass
- @rpc
- func my_rpc_func_1(_foo, _bar):
- pass
- @rpc
- func my_rpc_func_2(_foo, _bar, _baz):
- pass
- func test():
- # Test built-in methods.
- var builtin_callable_1 : Callable = add_to_group
- print(builtin_callable_1.get_argument_count()) # Should print 2.
- var builtin_callable_2 : Callable = find_child
- print(builtin_callable_2.get_argument_count()) # Should print 3.
- # Test built-in vararg methods.
- var builtin_vararg_callable_1 : Callable = call_thread_safe
- print(builtin_vararg_callable_1.get_argument_count()) # Should print 1.
- var builtin_vararg_callable_2 : Callable = rpc_id
- print(builtin_vararg_callable_2.get_argument_count()) # Should print 2.
- # Test plain methods.
- var callable_1 : Callable = my_func_1
- print(callable_1.get_argument_count()) # Should print 2.
- var callable_2 : Callable = my_func_2
- print(callable_2.get_argument_count()) # Should print 3.
- # Test static methods.
- var static_callable_1 : Callable = my_static_func_1
- print(static_callable_1.get_argument_count()) # Should print 2.
- var static_callable_2 : Callable = my_static_func_2
- print(static_callable_2.get_argument_count()) # Should print 3.
- # Test rpc methods.
- var rpc_callable_1 : Callable = my_rpc_func_1
- print(rpc_callable_1.get_argument_count()) # Should print 2.
- var rpc_callable_2 : Callable = my_rpc_func_2
- print(rpc_callable_2.get_argument_count()) # Should print 3.
- # Test lambdas.
- var lambda_callable_1 : Callable = func(_foo, _bar): pass
- print(lambda_callable_1.get_argument_count()) # Should print 2.
- var lambda_callable_2 : Callable = func(_foo, _bar, _baz): pass
- print(lambda_callable_2.get_argument_count()) # Should print 3.
- # Test lambdas with self.
- var lambda_self_callable_1 : Callable = func(_foo, _bar): return self
- print(lambda_self_callable_1.get_argument_count()) # Should print 2.
- var lambda_self_callable_2 : Callable = func(_foo, _bar, _baz): return self
- print(lambda_self_callable_2.get_argument_count()) # Should print 3.
- # Test bind.
- var bind_callable_1 : Callable = my_func_2.bind(1)
- print(bind_callable_1.get_argument_count()) # Should print 2.
- var bind_callable_2 : Callable = my_func_2.bind(1, 2)
- print(bind_callable_2.get_argument_count()) # Should print 1.
- # Test unbind.
- var unbind_callable_1 : Callable = my_func_2.unbind(1)
- print(unbind_callable_1.get_argument_count()) # Should print 4.
- var unbind_callable_2 : Callable = my_func_2.unbind(2)
- print(unbind_callable_2.get_argument_count()) # Should print 5.
- # Test variant callables.
- var string_tmp := String()
- var variant_callable_1 : Callable = string_tmp.replace
- print(variant_callable_1.get_argument_count()) # Should print 2.
- var variant_callable_2 : Callable = string_tmp.rsplit
- print(variant_callable_2.get_argument_count()) # Should print 3.
- # Test variant vararg callables.
- var callable_tmp := Callable()
- var variant_vararg_callable_1 : Callable = callable_tmp.call
- print(variant_vararg_callable_1.get_argument_count()) # Should print 0.
- var variant_vararg_callable_2 : Callable = callable_tmp.rpc_id
- print(variant_vararg_callable_2.get_argument_count()) # Should print 1.
- # Test global methods.
- var global_callable_1 = is_equal_approx
- print(global_callable_1.get_argument_count()) # Should print 2.
- var global_callable_2 = inverse_lerp
- print(global_callable_2.get_argument_count()) # Should print 3.
- # Test GDScript methods.
- var gdscript_callable_1 = char
- print(gdscript_callable_1.get_argument_count()) # Should print 1.
- var gdscript_callable_2 = is_instance_of
- print(gdscript_callable_2.get_argument_count()) # Should print 2.
|