Inline some methods from EventsLuaLibrary into Win32LuaLibraries

This commit is contained in:
YoshiRulz 2020-12-05 03:25:21 +10:00
parent a54aa0706d
commit 3024bc0d0f
No known key found for this signature in database
GPG Key ID: C4DE31C245353FB7
2 changed files with 46 additions and 83 deletions

View File

@ -29,84 +29,8 @@ namespace BizHawk.Client.Common
public override string Name => "event"; public override string Name => "event";
public void CallExitEvent(LuaFile luaFile)
{
var exitCallbacks = RegisteredFunctions
.ForFile(luaFile)
.ForEvent("OnExit");
foreach (var exitCallback in exitCallbacks)
{
exitCallback.Call();
}
}
public LuaFunctionList RegisteredFunctions { get; } = new LuaFunctionList(); public LuaFunctionList RegisteredFunctions { get; } = new LuaFunctionList();
public void CallSaveStateEvent(string name)
{
var lfs = RegisteredFunctions.Where(l => l.Event == "OnSavestateSave").ToList();
try
{
foreach (var lf in lfs)
{
lf.Call(name);
}
}
catch (Exception e)
{
Log($"error running function attached by lua function event.onsavestate\nError message: {e.Message}");
}
}
public void CallLoadStateEvent(string name)
{
var lfs = RegisteredFunctions.Where(l => l.Event == "OnSavestateLoad").ToList();
try
{
foreach (var lf in lfs)
{
lf.Call(name);
}
}
catch (Exception e)
{
Log($"error running function attached by lua function event.onloadstate\nError message: {e.Message}");
}
}
public void CallFrameBeforeEvent()
{
var lfs = RegisteredFunctions.Where(l => l.Event == "OnFrameStart").ToList();
try
{
foreach (var lf in lfs)
{
lf.Call();
}
}
catch (Exception e)
{
Log($"error running function attached by lua function event.onframestart\nError message: {e.Message}");
}
}
public void CallFrameAfterEvent()
{
var lfs = RegisteredFunctions.Where(l => l.Event == "OnFrameEnd").ToList();
try
{
foreach (var lf in lfs)
{
lf.Call();
}
}
catch (Exception e)
{
Log($"error running function attached by lua function event.onframeend\nError message: {e.Message}");
}
}
private void LogMemoryCallbacksNotImplemented() private void LogMemoryCallbacksNotImplemented()
{ {
Log($"{Emulator.Attributes().CoreName} does not implement memory callbacks"); Log($"{Emulator.Attributes().CoreName} does not implement memory callbacks");

View File

@ -154,33 +154,72 @@ namespace BizHawk.Client.EmuHawk
public override void CallSaveStateEvent(string name) public override void CallSaveStateEvent(string name)
{ {
EventsLibrary.CallSaveStateEvent(name); try
{
foreach (var lf in RegisteredFunctions.Where(l => l.Event == "OnSavestateSave"))
{
lf.Call(name);
}
}
catch (Exception e)
{
LogToLuaConsole($"error running function attached by lua function event.onsavestate\nError message: {e.Message}");
}
} }
public override void CallLoadStateEvent(string name) public override void CallLoadStateEvent(string name)
{ {
EventsLibrary.CallLoadStateEvent(name); try
{
foreach (var lf in RegisteredFunctions.Where(l => l.Event == "OnSavestateLoad"))
{
lf.Call(name);
}
}
catch (Exception e)
{
LogToLuaConsole($"error running function attached by lua function event.onloadstate\nError message: {e.Message}");
}
} }
public override void CallFrameBeforeEvent() public override void CallFrameBeforeEvent()
{ {
if (!IsUpdateSupressed) if (IsUpdateSupressed) return;
try
{ {
EventsLibrary.CallFrameBeforeEvent(); foreach (var lf in RegisteredFunctions.Where(l => l.Event == "OnFrameStart"))
{
lf.Call();
}
}
catch (Exception e)
{
LogToLuaConsole($"error running function attached by lua function event.onframestart\nError message: {e.Message}");
} }
} }
public override void CallFrameAfterEvent() public override void CallFrameAfterEvent()
{ {
if (!IsUpdateSupressed) if (IsUpdateSupressed) return;
try
{ {
EventsLibrary.CallFrameAfterEvent(); foreach (var lf in RegisteredFunctions.Where(l => l.Event == "OnFrameEnd"))
{
lf.Call();
}
}
catch (Exception e)
{
LogToLuaConsole($"error running function attached by lua function event.onframeend\nError message: {e.Message}");
} }
} }
public override void CallExitEvent(LuaFile lf) public override void CallExitEvent(LuaFile lf)
{ {
EventsLibrary.CallExitEvent(lf); foreach (var exitCallback in RegisteredFunctions.ForFile(lf).ForEvent("OnExit"))
{
exitCallback.Call();
}
} }
public override void Close() public override void Close()