Click or drag to resize

HPluginApplicator Class

Handles the application of HPlugins as Harmony patches.
Inheritance Hierarchy
SystemObject
  com.tiberiumfusion.ttplugins.HarmonyPluginsHPluginApplicator

Namespace:  com.tiberiumfusion.ttplugins.HarmonyPlugins
Assembly:  TTPlugins (in TTPlugins.dll) Version: 1.2.0.1 (1.2.0.1)
Syntax
public static class HPluginApplicator
Request Example View Source

The HPluginApplicator type exposes the following members.

Properties
  NameDescription
Protected propertyStatic memberAppliedHPlugins
A list of all HPlugins that were successfully applied.
Protected propertyStatic memberCommonAsmsInConfigGACList
List of assembly display names from the plugin assemblies config xml file's GACAssembliesToLoad element.
Protected propertyStatic memberEmbeddedCecilAssembly
The Cecil assembly that was embedded into Terraria by TTApplicator.
Protected propertyStatic memberEmbeddedCecilPdbAssembly
The Cecil PDB assembly that was embedded into Terraria by TTApplicator.
Protected propertyStatic memberEmbeddedHarmonyAssembly
The Harmony assembly that was embedded into Terraria by TTApplicator.
Protected propertyStatic memberExtractedPluginAssemblyPaths
A list of the paths of all plugin assemblies that were extracted to the disk.
Protected propertyStatic memberHarmonyInstance
The Harmony instance which was created during patch application
Protected propertyStatic memberLastConfiguation
The HPluginApplicatorConfiguration used in the last ApplyPatches() call.
Protected propertyStatic memberLastResult
The result report from the last time ApplyPatches() was invoked.
Protected propertyStatic memberLoadedPluginAssemblies
A list of all plugin assemblies that were loaded into the current AppDomain.
Protected propertyStatic memberPluginDebugMode
Flag for debug/release dichotomy of plugin operation. If true, plugin assembly PDBs will be loaded and some exceptions will be rethrown (for your debugger to catch). If false, PDBs will be skipped and only outstanding exceptions will be rethrown for the user to see.
Protected propertyStatic memberReLogicAssembly
The proprietary ReLogic assembly, as loaded by Terraria.
Protected propertyStatic memberRuntimeExtractFolder
Directory where ourself (TTPlugins.dll), Harmony, and all plugin assemblies will be extracted to for loading (to avoid assembly context mismatch issues).
Protected propertyStatic memberSecurityLevel
The plugin Security Level used in the lastest (i.e. current) plugin application process. HPlugins can get this value via GetCurrentPluginSecurityLevel().
Protected propertyStatic memberTerrariaAssembly
The executing Terraria assembly.
Protected propertyStatic memberXNAAssemblies
A list of the XNA assemblies loaded by Terraria.
Top
Methods
  NameDescription
Public methodStatic memberApplyPatches
Applies all HPlugins from the provided compiled assemblies.
Protected methodStatic memberCurrentDomain_AssemblyResolve
Public methodStatic memberDeleteAllPluginConfigDiskCopies
Synchronously deletes all plugin configuration temporary disk copies.
Public methodStatic memberEntryPointForTerraria
Method which TTApplicator will patch Terraria into calling. This method will create a HPluginApplicatorConfiguration and call ApplyPatches.
Protected methodStatic memberFindLoadedReLogicAssembly
Looks for the proprietary ReLogic assembly in the current app domain. The ReLogic assembly is lazy loaded using an AssemblyResolve handler inside Terraria.
Protected methodStatic memberFindLoadedXNAAssemblies
Looks for all loaded XNA assemblies in the current app domain.
Public methodStatic memberGetCurrentPluginSecurityLevel
Gets the current plugin Security Level. HPlugins can call this to learn what the current Security Level is and adjust themselves accordingly.
Protected methodStatic memberSetupDomainAssemblyResolver
For helping the CLR load assemblies into the default context if calling code (namely plugin code) needs an assembly that hasn't been loaded yet.
Public methodStatic memberWriteAllPluginConfigToDisk
Synchronously writes all HPlugins' Configuration to its temporary on-disk copy. Typically called by a Harmony patch that hooks in to Terraria.Main.SaveSettings().
Top
See Also