diff options
| author | Juan Linietsky | 2016-09-07 19:39:02 -0300 |
|---|---|---|
| committer | Juan Linietsky | 2016-09-07 19:39:57 -0300 |
| commit | 828e1c092fa706d4392363435950960261765ba4 (patch) | |
| tree | 12fd9dc722ee3c7cb604e44264550de9fd72868b /modules/visual_script | |
| parent | 19bd661a8fdc381bb68018028bf76997cf74b65a (diff) | |
| download | godot-828e1c092fa706d4392363435950960261765ba4.tar.gz godot-828e1c092fa706d4392363435950960261765ba4.tar.zst godot-828e1c092fa706d4392363435950960261765ba4.zip | |
Renamed the bind_native functions to bind_vararg, should make it show the documentation more clearly and also make it easier to bind to C#
Diffstat (limited to 'modules/visual_script')
| -rw-r--r-- | modules/visual_script/visual_script.cpp | 2 | ||||
| -rw-r--r-- | modules/visual_script/visual_script_func_nodes.cpp | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/modules/visual_script/visual_script.cpp b/modules/visual_script/visual_script.cpp index 94f9a6a6b..bd042c898 100644 --- a/modules/visual_script/visual_script.cpp +++ b/modules/visual_script/visual_script.cpp @@ -2439,7 +2439,7 @@ void VisualScriptFunctionState::_bind_methods() { ObjectTypeDB::bind_method(_MD("connect_to_signal","obj","signals","args"),&VisualScriptFunctionState::connect_to_signal); ObjectTypeDB::bind_method(_MD("resume:Array","args"),&VisualScriptFunctionState::resume,DEFVAL(Variant())); ObjectTypeDB::bind_method(_MD("is_valid"),&VisualScriptFunctionState::is_valid); - ObjectTypeDB::bind_native_method(METHOD_FLAGS_DEFAULT,"_signal_callback",&VisualScriptFunctionState::_signal_callback,MethodInfo("_signal_callback")); + ObjectTypeDB::bind_vararg_method(METHOD_FLAGS_DEFAULT,"_signal_callback",&VisualScriptFunctionState::_signal_callback,MethodInfo("_signal_callback")); } VisualScriptFunctionState::VisualScriptFunctionState() { diff --git a/modules/visual_script/visual_script_func_nodes.cpp b/modules/visual_script/visual_script_func_nodes.cpp index de99beaca..5a21cb40e 100644 --- a/modules/visual_script/visual_script_func_nodes.cpp +++ b/modules/visual_script/visual_script_func_nodes.cpp @@ -417,6 +417,14 @@ void VisualScriptFunctionCall::_update_method_cache() { method_cache.return_val = mb->get_argument_info(-1); #endif + + if (mb->is_vararg()) { + //for vararg just give it 10 arguments (should be enough for most use cases) + for(int i=0;i<10;i++) { + method_cache.arguments.push_back(PropertyInfo(Variant::NIL,"arg"+itos(i))); + use_default_args++; + } + } } else if (script.is_valid() && script->has_method(function)) { method_cache = script->get_method_info(function); |
