mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 13:41:03 +00:00 
			
		
		
		
	 4b070e8031
			
		
	
	
		4b070e8031
		
			
		
	
	
	
	
		
			
			Using 2.2.7.dev217+g10c2abcf. Had to add `colour` to the ignore list as we used it as an alias/keyword for the documentation of color-related APIs. Also ignore recommendations to change `thirdparty` to either `third-party` or `third party`, which are correct but we use the former fairly consistently.
		
			
				
	
	
		
			102 lines
		
	
	
	
		
			3.9 KiB
		
	
	
	
		
			GDScript
		
	
	
	
	
	
			
		
		
	
	
			102 lines
		
	
	
	
		
			3.9 KiB
		
	
	
	
		
			GDScript
		
	
	
	
	
	
| 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.
 |