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 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 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()
{
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)
{
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)
{
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()
{
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()
{
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)
{
EventsLibrary.CallExitEvent(lf);
foreach (var exitCallback in RegisteredFunctions.ForFile(lf).ForEvent("OnExit"))
{
exitCallback.Call();
}
}
public override void Close()