Expose all settings in Lua
This commit is contained in:
@@ -368,6 +368,41 @@ class LuaScriptManagementService : ILuaScriptManagementService, ILuaDataService,
|
||||
UserData.RegisterType(typeof(INetworkingService));
|
||||
UserData.RegisterType(typeof(ILuaConfigService));
|
||||
|
||||
UserData.RegisterType(typeof(ISettingBase));
|
||||
|
||||
Type[] settingBaseTypes = [
|
||||
typeof(ISettingBase<bool>),
|
||||
typeof(ISettingBase<string>),
|
||||
typeof(ISettingBase<byte>),
|
||||
typeof(ISettingBase<sbyte>),
|
||||
typeof(ISettingBase<ushort>),
|
||||
typeof(ISettingBase<short>),
|
||||
typeof(ISettingBase<char>),
|
||||
typeof(ISettingBase<uint>),
|
||||
typeof(ISettingBase<int>),
|
||||
typeof(ISettingBase<ulong>),
|
||||
typeof(ISettingBase<long>),
|
||||
typeof(ISettingBase<float>),
|
||||
typeof(ISettingBase<double>),
|
||||
typeof(ISettingRangeBase<float>)
|
||||
];
|
||||
|
||||
Table settingsTable = new Table(_script);
|
||||
|
||||
foreach (Type type in settingBaseTypes)
|
||||
{
|
||||
UserData.RegisterType(type);
|
||||
|
||||
settingsTable[type.GetGenericArguments()[0].Name] = UserData.CreateStatic(type);
|
||||
}
|
||||
|
||||
_script.Globals["Settings"] = settingsTable;
|
||||
|
||||
UserData.RegisterType(typeof(ISettingRangeBase<int>));
|
||||
#if CLIENT
|
||||
UserData.RegisterType(typeof(ISettingControl));
|
||||
#endif
|
||||
|
||||
new LuaConverters(this).RegisterLuaConverters();
|
||||
|
||||
var luaRequire = new LuaRequire(_script);
|
||||
|
||||
@@ -83,27 +83,6 @@ public class DefaultLuaRegistrar : IDefaultLuaRegistrar
|
||||
_userDataService.RegisterType(type.FullName);
|
||||
}
|
||||
|
||||
_userDataService.RegisterType(typeof(IConfigService).FullName);
|
||||
_userDataService.RegisterType(typeof(ISettingBase).FullName);
|
||||
_userDataService.RegisterType(typeof(ISettingBase<bool>).FullName);
|
||||
_userDataService.RegisterType(typeof(ISettingBase<string>).FullName);
|
||||
_userDataService.RegisterType(typeof(ISettingBase<byte>).FullName);
|
||||
_userDataService.RegisterType(typeof(ISettingBase<sbyte>).FullName);
|
||||
_userDataService.RegisterType(typeof(ISettingBase<ushort>).FullName);
|
||||
_userDataService.RegisterType(typeof(ISettingBase<short>).FullName);
|
||||
_userDataService.RegisterType(typeof(ISettingBase<char>).FullName);
|
||||
_userDataService.RegisterType(typeof(ISettingBase<uint>).FullName);
|
||||
_userDataService.RegisterType(typeof(ISettingBase<int>).FullName);
|
||||
_userDataService.RegisterType(typeof(ISettingBase<ulong>).FullName);
|
||||
_userDataService.RegisterType(typeof(ISettingBase<long>).FullName);
|
||||
_userDataService.RegisterType(typeof(ISettingBase<float>).FullName);
|
||||
_userDataService.RegisterType(typeof(ISettingBase<double>).FullName);
|
||||
_userDataService.RegisterType(typeof(ISettingRangeBase<float>).FullName);
|
||||
_userDataService.RegisterType(typeof(ISettingRangeBase<int>).FullName);
|
||||
#if CLIENT
|
||||
_userDataService.RegisterType(typeof(ISettingControl).FullName);
|
||||
#endif
|
||||
|
||||
_userDataService.RegisterType("Barotrauma.LuaSByte");
|
||||
_userDataService.RegisterType("Barotrauma.LuaByte");
|
||||
_userDataService.RegisterType("Barotrauma.LuaInt16");
|
||||
|
||||
Reference in New Issue
Block a user