expose ioport_setting to luaengine

This commit is contained in:
feos 2020-06-12 20:24:13 +03:00
parent ba62cea8b4
commit ce329077b5

View File

@ -2071,6 +2071,8 @@ void lua_engine::initialize()
* field.crosshair_scale
* field.crosshair_offset
* field.user_value
*
* field.settings[] - ioport_setting table (k=value, v=name)
*/
auto ioport_field_type = sol().registry().create_simple_usertype<ioport_field>("new", sol::no_constructor);
@ -2152,6 +2154,13 @@ void lua_engine::initialize()
settings.value = val;
f.set_user_settings(settings);
}));
ioport_field_type.set("settings", sol::property([this](ioport_field &f) {
sol::table result = sol().create_table();
for (ioport_setting &setting : f.settings())
if (setting.enabled())
result[setting.value()] = setting.name();
return result;
}));
sol().registry().set_usertype("ioport_field", ioport_field_type);