Expose all settings in Lua
This commit is contained in:
+35
@@ -368,6 +368,41 @@ class LuaScriptManagementService : ILuaScriptManagementService, ILuaDataService,
|
|||||||
UserData.RegisterType(typeof(INetworkingService));
|
UserData.RegisterType(typeof(INetworkingService));
|
||||||
UserData.RegisterType(typeof(ILuaConfigService));
|
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();
|
new LuaConverters(this).RegisterLuaConverters();
|
||||||
|
|
||||||
var luaRequire = new LuaRequire(_script);
|
var luaRequire = new LuaRequire(_script);
|
||||||
|
|||||||
@@ -83,27 +83,6 @@ public class DefaultLuaRegistrar : IDefaultLuaRegistrar
|
|||||||
_userDataService.RegisterType(type.FullName);
|
_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.LuaSByte");
|
||||||
_userDataService.RegisterType("Barotrauma.LuaByte");
|
_userDataService.RegisterType("Barotrauma.LuaByte");
|
||||||
_userDataService.RegisterType("Barotrauma.LuaInt16");
|
_userDataService.RegisterType("Barotrauma.LuaInt16");
|
||||||
|
|||||||
Reference in New Issue
Block a user