Inline methods from LuaFunctionListExtensions and cleanup

This commit is contained in:
YoshiRulz 2021-03-25 15:20:47 +10:00
parent 3b8f08b1b0
commit f7cacfab99
No known key found for this signature in database
GPG Key ID: C4DE31C245353FB7
2 changed files with 3 additions and 19 deletions

View File

@ -45,9 +45,7 @@ namespace BizHawk.Client.Common
public void RemoveForFile(LuaFile file, IEmulator emulator)
{
var functionsToRemove = _functions
.ForFile(file)
.ToList();
var functionsToRemove = _functions.Where(l => l.LuaFile.Path == file.Path || l.LuaFile.Thread == file.Thread).ToList();
foreach (var function in functionsToRemove)
{
@ -82,19 +80,4 @@ namespace BizHawk.Client.Common
private void Changed() => ChangedCallback?.Invoke();
}
public static class LuaFunctionListExtensions
{
public static IEnumerable<NamedLuaFunction> ForFile(this IEnumerable<NamedLuaFunction> list, LuaFile luaFile)
{
return list
.Where(l => l.LuaFile.Path == luaFile.Path
|| l.LuaFile.Thread == luaFile.Thread);
}
public static IEnumerable<NamedLuaFunction> ForEvent(this IEnumerable<NamedLuaFunction> list, string eventName)
{
return list.Where(l => l.Event == eventName);
}
}
}

View File

@ -233,7 +233,8 @@ namespace BizHawk.Client.EmuHawk
public void CallExitEvent(LuaFile lf)
{
foreach (var exitCallback in RegisteredFunctions.ForFile(lf).ForEvent("OnExit"))
foreach (var exitCallback in RegisteredFunctions
.Where(l => l.Event == "OnExit" && (l.LuaFile.Path == lf.Path || l.LuaFile.Thread == lf.Thread)))
{
exitCallback.Call();
}