Implement module patch abstraction and patch loader (#250)

* Implement patch abstractions and patch loader using an interface

* remove patch loader

* rename patch class
This commit is contained in:
Cj
2025-05-11 15:52:14 -04:00
committed by GitHub
parent 1eb4d55a02
commit 0fda28526f
11 changed files with 348 additions and 32 deletions
@@ -0,0 +1,33 @@
using System.Reflection.Emit;
namespace SPTarkov.Reflection.CodeWrapper;
public class CodeWithLabel : Code
{
public Label Label { get; }
public CodeWithLabel(OpCode opCode, Label label) : base(opCode)
{
Label = label;
}
public CodeWithLabel(OpCode opCode, Label label, object operandTarget) : base(opCode, operandTarget)
{
Label = label;
}
public CodeWithLabel(OpCode opCode, Label label, Type callerType) : base(opCode, callerType)
{
Label = label;
}
public CodeWithLabel(OpCode opCode, Label label, Type callerType, object operandTarget, Type[] parameters = null) : base(opCode, callerType, operandTarget, parameters)
{
Label = label;
}
public override Label? GetLabel()
{
return Label;
}
}