- args = LuaScripting::script_params (lsi, "action_params");
- for (luabridge::Iterator i (static_cast<luabridge::LuaRef>(ref["args"])); !i.isNil (); ++i) {
- if (!i.key ().isString ()) { assert(0); continue; }
- std::string name = i.key ().cast<std::string> ();
- std::string value = i.value ().cast<std::string> ();
- for (LuaScriptParamList::const_iterator ii = args.begin(); ii != args.end(); ++ii) {
- if ((*ii)->name == name) {
- (*ii)->value = value;
- break;
- }
- }
- }
+ args = LuaScriptParams::script_params (lsi, "action_params");
+ luabridge::LuaRef rargs (ref["args"]);
+ LuaScriptParams::ref_to_params (args, &rargs);