Namespace MonoMod
Classes
DebugSymbolFormat
MethodBodyRewriter
MethodParser
MethodRewriter
MissingDependencyResolver
ModReadEventHandler
MonoModAdded
MonoMod "added" attribute. Will be applied by MonoMod automatically on patched types / members.
MonoModConstructor
MonoMod constructor attribute. Apply it onto a constructor and it will be patched by MonoMod. Or apply it onto a method and it will be handled like a constructor.
MonoModCustomAttributeAttribute
MonoMod "custom attribute" attribute. Apply it onto a custom attribute type and the supplied handler in your MonoModRules will handle it. Replaces MMIL.Rule.RegisterCustomAttribute in MonoModRules constructor.
MonoModCustomMethodAttributeAttribute
MonoMod "custom method attribute" attribute. Apply it onto a custom attribute type and the supplied handler in your MonoModRules will handle it. Replaces MMIL.Rule.RegisterCustomMethodAttribute in MonoModRules constructor.
MonoModder
MonoModEnumReplace
MonoMod enum replace attribute. Apply it onto a enum type / class and its values will be replaced by MonoMod.
MonoModForceCall
MonoMod force call attribute. Apply it onto a method and all calls to it will be forcibly replaced with the call instruction.
MonoModForceCallvirt
MonoMod force callvirt attribute. Apply it onto a method and all calls to it will be forcibly replaced with the callvirt instruction.
MonoModHook
MonoMod hook attribute. Apply it onto a type / method / field and calls to the item it hooks will be relinked to the item the attribute gets applied to.
MonoModIfFlag
MonoMod "if" attribute. Apply it onto a type / method / field and it gets ignored if MonoModder.Data[key] equals false. If fallback (true by default) is false, it also gets ignored if MonoModder.Data[key] is undefined.
MonoModIgnore
MonoMod ignore attribute. Apply it onto a method / type and it (except its MonoMod custom attributes) will be ignored by MonoMod.
MonoModLinkFrom
MonoMod "static hook" attribute. Apply it onto a type / method / field and calls to the item it hooks will be relinked to the item the attribute gets applied to.
MonoModLinkTo
MonoMod linkto attribute. Apply it onto a type / method / field and calls to it by mods will be relinked to another target.
MonoModNoNew
MonoMod "only patch if it exists" attribute. Apply it onto a type or method and it gets ignored if there's no original method in the input module.
MonoModOnPlatform
MonoMod on platform ("#ifdef PLATFORM") attribute. Apply it onto a type / method / field and it gets ignored on non-matching platforms.
MonoModOriginal
MonoMod original method attribute. Will be applied by MonoMod automatically on original methods. Use this (or MonoModIgnore) manually to mark non-"orig_" originals!
MonoModOriginalName
MonoMod original name attribute. Apply it onto a method (not the orig_) and its orig_ method will instead be named like that.
MonoModPatch
MonoMod patch attribute. Apply it onto a type and it will behave as if the type was prefixed with patch_. This allows for custom compile-time names while MonoMod uses the supplied name for any relinking.
MonoModPublic
MonoMod ignore attribute. Apply it onto a method / field / property / type and it will be made public by MonoMod.
MonoModRemove
MonoMod remove attribute. Apply it onto a field / method / type and it will be removed by MonoMod.
MonoModReplace
MonoMod replace attribute. Apply it onto a method and no orig_ method will be generated by MonoMod. Apply it onto a field and its attributes and field type will be replaced. Apply it onto a property and it will be removed first, as if you're just adding your own. Apply it onto a type and the original type will be removed first.
MonoModTargetModule
MonoMod target module attribute. Apply it onto a type and it will only be patched in the target module. Important: This attribute acts as a filter. It doesn't affect any other module than the input module. For example, one can define the target assembly version using MonoModTargetModule, or use the same MonoMod mod on multiple differing input assemblies.