Extract interface from NamedLuaFunction
This commit is contained in:
parent
8f10ce66a6
commit
e4a0175351
|
@ -0,0 +1,17 @@
|
|||
using System;
|
||||
|
||||
using BizHawk.Emulation.Common;
|
||||
|
||||
namespace BizHawk.Client.Common
|
||||
{
|
||||
public interface INamedLuaFunction
|
||||
{
|
||||
Action Callback { get; }
|
||||
|
||||
Guid Guid { get; }
|
||||
|
||||
MemoryCallbackDelegate MemCallback { get; }
|
||||
|
||||
string Name { get; }
|
||||
}
|
||||
}
|
|
@ -44,14 +44,14 @@ namespace BizHawk.Client.Common
|
|||
public abstract void CallSaveStateEvent(string name);
|
||||
public abstract void Close();
|
||||
|
||||
public abstract NamedLuaFunction CreateAndRegisterNamedFunction(LuaFunction function, string theEvent, Action<string> logCallback, LuaFile luaFile, string name = null);
|
||||
public abstract INamedLuaFunction CreateAndRegisterNamedFunction(LuaFunction function, string theEvent, Action<string> logCallback, LuaFile luaFile, string name = null);
|
||||
|
||||
public abstract void EndLuaDrawing();
|
||||
public abstract void ExecuteString(string command);
|
||||
|
||||
public abstract NLuaTableHelper GetTableHelper();
|
||||
|
||||
public abstract bool RemoveNamedFunctionMatching(Func<NamedLuaFunction, bool> predicate);
|
||||
public abstract bool RemoveNamedFunctionMatching(Func<INamedLuaFunction, bool> predicate);
|
||||
|
||||
public abstract void Restart(IEmulatorServiceProvider newServiceProvider);
|
||||
public abstract (bool WaitForFrame, bool Terminated) ResumeScript(LuaFile lf);
|
||||
|
|
|
@ -5,7 +5,7 @@ using BizHawk.Emulation.Common;
|
|||
|
||||
namespace BizHawk.Client.Common
|
||||
{
|
||||
public class NamedLuaFunction
|
||||
public sealed class NamedLuaFunction : INamedLuaFunction
|
||||
{
|
||||
private readonly LuaFunction _function;
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
}
|
||||
|
||||
public override NamedLuaFunction CreateAndRegisterNamedFunction(LuaFunction function, string theEvent, Action<string> logCallback, LuaFile luaFile, string name = null) => null;
|
||||
public override INamedLuaFunction CreateAndRegisterNamedFunction(LuaFunction function, string theEvent, Action<string> logCallback, LuaFile luaFile, string name = null) => null;
|
||||
|
||||
public override void EndLuaDrawing()
|
||||
{
|
||||
|
@ -48,7 +48,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
public override LuaFunctionList RegisteredFunctions => EmptyLuaFunList;
|
||||
public override GuiLuaLibrary GuiLibrary => null;
|
||||
|
||||
public override bool RemoveNamedFunctionMatching(Func<NamedLuaFunction, bool> predicate) => false;
|
||||
public override bool RemoveNamedFunctionMatching(Func<INamedLuaFunction, bool> predicate) => false;
|
||||
|
||||
public override void Restart(IEmulatorServiceProvider newServiceProvider)
|
||||
{
|
||||
|
|
|
@ -232,16 +232,16 @@ namespace BizHawk.Client.EmuHawk
|
|||
GuiLibrary.Dispose();
|
||||
}
|
||||
|
||||
public override NamedLuaFunction CreateAndRegisterNamedFunction(LuaFunction function, string theEvent, Action<string> logCallback, LuaFile luaFile, string name = null)
|
||||
public override INamedLuaFunction CreateAndRegisterNamedFunction(LuaFunction function, string theEvent, Action<string> logCallback, LuaFile luaFile, string name = null)
|
||||
{
|
||||
var nlf = new NamedLuaFunction(function, theEvent, logCallback, luaFile, name);
|
||||
RegisteredFunctions.Add(nlf);
|
||||
return nlf;
|
||||
}
|
||||
|
||||
public override bool RemoveNamedFunctionMatching(Func<NamedLuaFunction, bool> predicate)
|
||||
public override bool RemoveNamedFunctionMatching(Func<INamedLuaFunction, bool> predicate)
|
||||
{
|
||||
var nlf = RegisteredFunctions.FirstOrDefault(predicate);
|
||||
var nlf = (NamedLuaFunction) RegisteredFunctions.FirstOrDefault(predicate);
|
||||
if (nlf == null) return false;
|
||||
RegisteredFunctions.Remove(nlf, _mainForm.Emulator);
|
||||
return true;
|
||||
|
|
Loading…
Reference in New Issue