<?xml version="1.0"?>
<doc>
    <assembly>
        <name>BepInEx.Preloader.Core</name>
    </assembly>
    <members>
        <member name="T:BepInEx.Preloader.Core.Logging.PreloaderConsoleListener">
            <summary>
            Log listener that listens to logs during preloading time and buffers messages for output in Unity logs later.
            </summary>
        </member>
        <member name="P:BepInEx.Preloader.Core.Logging.PreloaderConsoleListener.LogEvents">
            <summary>
            A list of all <see cref="T:BepInEx.Logging.LogEventArgs"/> objects that this listener has received.
            </summary>
        </member>
        <member name="M:BepInEx.Preloader.Core.Logging.PreloaderConsoleListener.LogEvent(System.Object,BepInEx.Logging.LogEventArgs)">
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Preloader.Core.Logging.PreloaderConsoleListener.Dispose">
            <inheritdoc />
        </member>
        <member name="T:BepInEx.Preloader.Core.AssemblyPatcherDelegate">
            <summary>
                Delegate used in patching assemblies.
            </summary>
            <param name="assembly">The assembly that is being patched.</param>
        </member>
        <member name="T:BepInEx.Preloader.Core.AssemblyPatcher">
            <summary>
                Worker class which is used for loading and patching entire folders of assemblies, or alternatively patching and
                loading assemblies one at a time.
            </summary>
        </member>
        <member name="P:BepInEx.Preloader.Core.AssemblyPatcher.PatcherPlugins">
            <summary>
            A list of plugins that will be initialized and executed, in the order of the list.
            </summary>
        </member>
        <member name="P:BepInEx.Preloader.Core.AssemblyPatcher.PatcherPluginsSafe">
            <summary>
            A cloned version of <see cref="P:BepInEx.Preloader.Core.AssemblyPatcher.PatcherPlugins"/> to ensure that any foreach loops do not break when the collection gets modified.
            </summary>
        </member>
        <member name="P:BepInEx.Preloader.Core.AssemblyPatcher.AssembliesToPatch">
            <summary>
            <para>Contains a list of assemblies that will be patched and loaded into the runtime.</para>
            <para>The dictionary has the name of the file, without any directories. These are used by the dumping functionality, and as such, these are also required to be unique. They do not have to be exactly the same as the real filename, however they have to be mapped deterministically.</para>
            <para>Order is not respected, as it will be sorted by dependencies.</para>
            </summary>
        </member>
        <member name="P:BepInEx.Preloader.Core.AssemblyPatcher.LoadedAssemblies">
            <summary>
            <para>Contains a dictionary of assemblies that have been loaded as part of executing this assembly patcher..</para>
            <para>The key is the same key as used in <see cref="P:BepInEx.Preloader.Core.AssemblyPatcher.LoadedAssemblies"/>, while the value is the actual assembly itself.</para>
            </summary>
        </member>
        <member name="P:BepInEx.Preloader.Core.AssemblyPatcher.DumpedAssembliesPath">
            <summary>
            The directory location as to where patched assemblies will be saved to and loaded from disk, for debugging purposes. Defaults to BepInEx/DumpedAssemblies
            </summary>
        </member>
        <member name="M:BepInEx.Preloader.Core.AssemblyPatcher.AddPatchersFromDirectory(System.String)">
            <summary>
                Adds all patchers from all managed assemblies specified in a directory.
            </summary>
            <param name="directory">Directory to search patcher DLLs from.</param>
        </member>
        <member name="M:BepInEx.Preloader.Core.AssemblyPatcher.LoadAssemblyDirectory(System.String)">
            <summary>
            Adds all .dll assemblies in a directory to be patched and loaded by this patcher instance. Non-managed assemblies are skipped.
            </summary>
            <param name="directory">The directory to search.</param>
        </member>
        <member name="M:BepInEx.Preloader.Core.AssemblyPatcher.LoadAssemblyDirectory(System.String,System.String[])">
            <summary>
            Adds all assemblies in a directory to be patched and loaded by this patcher instance. Non-managed assemblies are skipped.
            </summary>
            <param name="directory">The directory to search.</param>
            <param name="assemblyExtensions">The file extensions to attempt to load.</param>
        </member>
        <member name="M:BepInEx.Preloader.Core.AssemblyPatcher.TryLoadAssembly(System.String,Mono.Cecil.AssemblyDefinition@)">
            <summary>
            Attempts to load a managed assembly as an <see cref="T:Mono.Cecil.AssemblyDefinition"/>. Returns true if successful.
            </summary>
            <param name="path">The path of the assembly.</param>
            <param name="assembly">The loaded assembly. Null if not successful in loading.</param>
        </member>
        <member name="M:BepInEx.Preloader.Core.AssemblyPatcher.Dispose">
            <summary>
            Performs work to dispose collection objects.
            </summary>
        </member>
        <member name="M:BepInEx.Preloader.Core.AssemblyPatcher.PatchAndLoad">
            <summary>
                Applies patchers to all assemblies in the given directory and loads patched assemblies into memory.
            </summary>
            <param name="directory">Directory to load CLR assemblies from.</param>
        </member>
        <member name="T:BepInEx.Preloader.Core.PatcherPlugin">
            <summary>
                A single assembly patcher.
            </summary>
        </member>
        <member name="P:BepInEx.Preloader.Core.PatcherPlugin.TargetDLLs">
            <summary>
                Target assemblies to patch.
            </summary>
        </member>
        <member name="P:BepInEx.Preloader.Core.PatcherPlugin.Initializer">
            <summary>
                Initializer method that is run before any patching occurs.
            </summary>
        </member>
        <member name="P:BepInEx.Preloader.Core.PatcherPlugin.Finalizer">
            <summary>
                Finalizer method that is run after all patching is done.
            </summary>
        </member>
        <member name="P:BepInEx.Preloader.Core.PatcherPlugin.Patcher">
            <summary>
                The main patcher method that is called on every DLL defined in <see cref="P:BepInEx.Preloader.Core.PatcherPlugin.TargetDLLs" />.
            </summary>
        </member>
        <member name="P:BepInEx.Preloader.Core.PatcherPlugin.TypeName">
            <summary>
                Type name of the patcher.
            </summary>
        </member>
        <member name="M:BepInEx.Preloader.Core.PatcherPlugin.Save(System.IO.BinaryWriter)">
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Preloader.Core.PatcherPlugin.Load(System.IO.BinaryReader)">
            <inheritdoc />
        </member>
        <member name="M:BepInEx.Preloader.Core.PlatformUtils.SetPlatform">
            <summary>
            Recreation of MonoMod's PlatformHelper.DeterminePlatform method, but with libc calls instead of creating processes.
            </summary>
        </member>
    </members>
</doc>
