using System;
using System.Collections.Generic;
using Mono.Cecil;
namespace BepInEx.Preloader.Patching
{
///
/// A single assembly patcher.
///
internal class PatcherPlugin
{
public TypeDefinition Type { get; set; }
///
/// Target assemblies to patch.
///
public Func> TargetDLLs { get; set; } = null;
///
/// Initializer method that is run before any patching occurs.
///
public Action Initializer { get; set; } = null;
///
/// Finalizer method that is run after all patching is done.
///
public Action Finalizer { get; set; } = null;
///
/// The main patcher method that is called on every DLL defined in .
///
public AssemblyPatcherDelegate Patcher { get; set; } = null;
///
/// Name of the patcher.
///
public string Name { get; set; } = string.Empty;
}
}