Cleanup Win32LuaLibraries init

This commit is contained in:
YoshiRulz 2020-12-03 22:15:07 +10:00
parent 76f03a9508
commit e69cab3297
No known key found for this signature in database
GPG Key ID: C4DE31C245353FB7
1 changed files with 4 additions and 9 deletions

View File

@ -14,11 +14,6 @@ namespace BizHawk.Client.EmuHawk
{ {
public class Win32LuaLibraries : LuaLibraries public class Win32LuaLibraries : LuaLibraries
{ {
public Win32LuaLibraries()
{
if (true /*NLua.Lua.WhichLua == "NLua"*/) _lua["keepalives"] = _lua.NewTable();
}
public Win32LuaLibraries( public Win32LuaLibraries(
IEmulatorServiceProvider serviceProvider, IEmulatorServiceProvider serviceProvider,
MainForm mainForm, MainForm mainForm,
@ -26,17 +21,16 @@ namespace BizHawk.Client.EmuHawk
InputManager inputManager, InputManager inputManager,
Config config, Config config,
IEmulator emulator, IEmulator emulator,
IGameInfo game IGameInfo game)
) : this()
{ {
void EnumerateLuaFunctions(string name, Type type, LuaLibraryBase instance) void EnumerateLuaFunctions(string name, Type type, LuaLibraryBase instance)
{ {
instance?.Lua?.NewTable(name); if (instance != null) _lua.NewTable(name);
foreach (var method in type.GetMethods()) foreach (var method in type.GetMethods())
{ {
var foundAttrs = method.GetCustomAttributes(typeof(LuaMethodAttribute), false); var foundAttrs = method.GetCustomAttributes(typeof(LuaMethodAttribute), false);
if (foundAttrs.Length == 0) continue; if (foundAttrs.Length == 0) continue;
instance?.Lua?.RegisterFunction($"{name}.{((LuaMethodAttribute) foundAttrs[0]).Name}", instance, method); if (instance != null) _lua.RegisterFunction($"{name}.{((LuaMethodAttribute) foundAttrs[0]).Name}", instance, method);
Docs.Add(new LibraryFunction( Docs.Add(new LibraryFunction(
name, name,
type.GetCustomAttributes(typeof(DescriptionAttribute), false).Cast<DescriptionAttribute>() type.GetCustomAttributes(typeof(DescriptionAttribute), false).Cast<DescriptionAttribute>()
@ -46,6 +40,7 @@ namespace BizHawk.Client.EmuHawk
} }
} }
if (true /*NLua.Lua.WhichLua == "NLua"*/) _lua["keepalives"] = _lua.NewTable();
_mainForm = mainForm; _mainForm = mainForm;
LuaWait = new AutoResetEvent(false); LuaWait = new AutoResetEvent(false);
Docs.Clear(); Docs.Clear();