diff options
author | Carl Olsson <carl.olsson@gmail.com> | 2015-02-15 18:21:35 +1000 |
---|---|---|
committer | Carl Olsson <carl.olsson@gmail.com> | 2015-02-15 18:21:35 +1000 |
commit | 196185d0be3ea7c05335c03d7e2db3e7c17d7a49 (patch) | |
tree | 572596c4261ed5e520ba1628661261ea0d5ee620 /modules/gdscript/gd_functions.cpp | |
parent | 6a38ab1b43e4a107a28c52ba2036a4886794f625 (diff) | |
parent | 2185c018f6593e6d64b2beb62202d2291e2e008e (diff) | |
download | redot-engine-196185d0be3ea7c05335c03d7e2db3e7c17d7a49.tar.gz |
Merge branch 'master' of https://github.com/okamstudio/godot
Conflicts:
scene/2d/tile_map.cpp
Diffstat (limited to 'modules/gdscript/gd_functions.cpp')
-rw-r--r-- | modules/gdscript/gd_functions.cpp | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/modules/gdscript/gd_functions.cpp b/modules/gdscript/gd_functions.cpp index fcfbbb04da..b616d8f228 100644 --- a/modules/gdscript/gd_functions.cpp +++ b/modules/gdscript/gd_functions.cpp @@ -89,6 +89,8 @@ const char *GDFunctions::get_func_name(Function p_func) { "printt", "printerr", "printraw", + "var2str", + "str2var", "range", "load", "inst2dict", @@ -577,10 +579,23 @@ void GDFunctions::call(Function p_func,const Variant **p_args,int p_arg_count,Va r_ret=Variant(); } break; + case VAR_TO_STR: { + VALIDATE_ARG_COUNT(1); + r_ret=p_args[0]->get_construct_string(); + } break; + case STR_TO_VAR: { + VALIDATE_ARG_COUNT(1); + if (p_args[0]->get_type()!=Variant::STRING) { + r_error.error=Variant::CallError::CALL_ERROR_INVALID_ARGUMENT; + r_error.argument=0; + r_error.expected=Variant::STRING; + r_ret=Variant(); + return; + } + Variant::construct_from_string(*p_args[0],r_ret); + } break; case GEN_RANGE: { - - switch(p_arg_count) { case 0: { @@ -861,7 +876,6 @@ void GDFunctions::call(Function p_func,const Variant **p_args,int p_arg_count,Va } } - r_ret = gdscr->_new(NULL,0,r_error); } break; @@ -1224,6 +1238,18 @@ MethodInfo GDFunctions::get_info(Function p_func) { return mi; } break; + case VAR_TO_STR: { + MethodInfo mi("var2str",PropertyInfo(Variant::NIL,"var")); + mi.return_val.type=Variant::STRING; + return mi; + + } break; + case STR_TO_VAR: { + + MethodInfo mi("str2var:var",PropertyInfo(Variant::STRING,"string")); + mi.return_val.type=Variant::NIL; + return mi; + } break; case GEN_RANGE: { MethodInfo mi("range",PropertyInfo(Variant::NIL,"...")); |