{
"api/IPA.Config.Config.PreferAttribute.html": {
"href": "api/IPA.Config.Config.PreferAttribute.html",
"title": "Class Config.PreferAttribute",
"keywords": "Class Config.PreferAttribute Specifies that a particular parameter is preferred to use a particular IConfigProvider . If it is not available, also specifies backups. If none are available, the default is used. Inheritance Object Attribute Config.PreferAttribute Implements _Attribute Inherited Members Attribute.GetCustomAttributes(MemberInfo, Type) Attribute.GetCustomAttributes(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(MemberInfo) Attribute.GetCustomAttributes(MemberInfo, Boolean) Attribute.IsDefined(MemberInfo, Type) Attribute.IsDefined(MemberInfo, Type, Boolean) Attribute.GetCustomAttribute(MemberInfo, Type) Attribute.GetCustomAttribute(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo) Attribute.GetCustomAttributes(ParameterInfo, Type) Attribute.GetCustomAttributes(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo, Boolean) Attribute.IsDefined(ParameterInfo, Type) Attribute.IsDefined(ParameterInfo, Type, Boolean) Attribute.GetCustomAttribute(ParameterInfo, Type) Attribute.GetCustomAttribute(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(Module, Type) Attribute.GetCustomAttributes(Module) Attribute.GetCustomAttributes(Module, Boolean) Attribute.GetCustomAttributes(Module, Type, Boolean) Attribute.IsDefined(Module, Type) Attribute.IsDefined(Module, Type, Boolean) Attribute.GetCustomAttribute(Module, Type) Attribute.GetCustomAttribute(Module, Type, Boolean) Attribute.GetCustomAttributes(Assembly, Type) Attribute.GetCustomAttributes(Assembly, Type, Boolean) Attribute.GetCustomAttributes(Assembly) Attribute.GetCustomAttributes(Assembly, Boolean) Attribute.IsDefined(Assembly, Type) Attribute.IsDefined(Assembly, Type, Boolean) Attribute.GetCustomAttribute(Assembly, Type) Attribute.GetCustomAttribute(Assembly, Type, Boolean) Attribute.Equals(Object) Attribute.GetHashCode() Attribute.Match(Object) Attribute.IsDefaultAttribute() Attribute._Attribute.GetTypeInfoCount(UInt32) Attribute._Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) Attribute._Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) Attribute._Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) Attribute.TypeId Object.ToString() Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config Assembly : IPA.Loader.dll Syntax [AttributeUsage(AttributeTargets.Parameter)] public sealed class PreferAttribute : Attribute, _Attribute Constructors | Improve this Doc View Source PreferAttribute(String[]) Constructs the attribute with a specific preference list. Each entry is the extension without a '.' Declaration public PreferAttribute(params string[] preference) Parameters Type Name Description String [] preference The preferences in order of preference. Properties | Improve this Doc View Source PreferenceOrder The order of preference for the config type. Declaration public string[] PreferenceOrder { get; } Property Value Type Description String [] the list of config extensions in order of preference Implements System.Runtime.InteropServices._Attribute Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(T, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[])"
},
"api/BSIPA_ModList.UI.ViewControllers.MarkdownView.html": {
"href": "api/BSIPA_ModList.UI.ViewControllers.MarkdownView.html",
"title": "Class MarkdownView",
"keywords": "Class MarkdownView A UI component that renders CommonMark Markdown in-game. Inheritance Object UnityEngine.Object UnityEngine.Component UnityEngine.Behaviour UnityEngine.MonoBehaviour MarkdownView Inherited Members UnityEngine.MonoBehaviour.IsInvoking() UnityEngine.MonoBehaviour.CancelInvoke() UnityEngine.MonoBehaviour.Invoke(System.String, System.Single) UnityEngine.MonoBehaviour.InvokeRepeating(System.String, System.Single, System.Single) UnityEngine.MonoBehaviour.CancelInvoke(System.String) UnityEngine.MonoBehaviour.IsInvoking(System.String) UnityEngine.MonoBehaviour.StartCoroutine(System.String) UnityEngine.MonoBehaviour.StartCoroutine(System.String, System.Object) UnityEngine.MonoBehaviour.StartCoroutine(System.Collections.IEnumerator) UnityEngine.MonoBehaviour.StartCoroutine_Auto(System.Collections.IEnumerator) UnityEngine.MonoBehaviour.StopCoroutine(System.Collections.IEnumerator) UnityEngine.MonoBehaviour.StopCoroutine(UnityEngine.Coroutine) UnityEngine.MonoBehaviour.StopCoroutine(System.String) UnityEngine.MonoBehaviour.StopAllCoroutines() UnityEngine.MonoBehaviour.print(System.Object) UnityEngine.MonoBehaviour.useGUILayout UnityEngine.Behaviour.enabled UnityEngine.Behaviour.isActiveAndEnabled UnityEngine.Component.GetComponent(System.Type) UnityEngine.Component.GetComponent() UnityEngine.Component.TryGetComponent(System.Type, UnityEngine.Component) UnityEngine.Component.TryGetComponent(T) UnityEngine.Component.GetComponent(System.String) UnityEngine.Component.GetComponentInChildren(System.Type, System.Boolean) UnityEngine.Component.GetComponentInChildren(System.Type) UnityEngine.Component.GetComponentInChildren(System.Boolean) UnityEngine.Component.GetComponentInChildren() UnityEngine.Component.GetComponentsInChildren(System.Type, System.Boolean) UnityEngine.Component.GetComponentsInChildren(System.Type) UnityEngine.Component.GetComponentsInChildren(System.Boolean) UnityEngine.Component.GetComponentsInChildren(System.Boolean, System.Collections.Generic.List) UnityEngine.Component.GetComponentsInChildren() UnityEngine.Component.GetComponentsInChildren(System.Collections.Generic.List) UnityEngine.Component.GetComponentInParent(System.Type) UnityEngine.Component.GetComponentInParent() UnityEngine.Component.GetComponentsInParent(System.Type, System.Boolean) UnityEngine.Component.GetComponentsInParent(System.Type) UnityEngine.Component.GetComponentsInParent(System.Boolean) UnityEngine.Component.GetComponentsInParent(System.Boolean, System.Collections.Generic.List) UnityEngine.Component.GetComponentsInParent() UnityEngine.Component.GetComponents(System.Type) UnityEngine.Component.GetComponents(System.Type, System.Collections.Generic.List) UnityEngine.Component.GetComponents(System.Collections.Generic.List) UnityEngine.Component.GetComponents() UnityEngine.Component.CompareTag(System.String) UnityEngine.Component.SendMessageUpwards(System.String, System.Object, UnityEngine.SendMessageOptions) UnityEngine.Component.SendMessageUpwards(System.String, System.Object) UnityEngine.Component.SendMessageUpwards(System.String) UnityEngine.Component.SendMessageUpwards(System.String, UnityEngine.SendMessageOptions) UnityEngine.Component.SendMessage(System.String, System.Object) UnityEngine.Component.SendMessage(System.String) UnityEngine.Component.SendMessage(System.String, System.Object, UnityEngine.SendMessageOptions) UnityEngine.Component.SendMessage(System.String, UnityEngine.SendMessageOptions) UnityEngine.Component.BroadcastMessage(System.String, System.Object, UnityEngine.SendMessageOptions) UnityEngine.Component.BroadcastMessage(System.String, System.Object) UnityEngine.Component.BroadcastMessage(System.String) UnityEngine.Component.BroadcastMessage(System.String, UnityEngine.SendMessageOptions) UnityEngine.Component.transform UnityEngine.Component.gameObject UnityEngine.Component.tag UnityEngine.Object.GetInstanceID() UnityEngine.Object.GetHashCode() UnityEngine.Object.Equals(System.Object) UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Vector3, UnityEngine.Quaternion) UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Vector3, UnityEngine.Quaternion, UnityEngine.Transform) UnityEngine.Object.Instantiate(UnityEngine.Object) UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Transform) UnityEngine.Object.Instantiate(UnityEngine.Object, UnityEngine.Transform, System.Boolean) UnityEngine.Object.Instantiate(T) UnityEngine.Object.Instantiate(T, UnityEngine.Vector3, UnityEngine.Quaternion) UnityEngine.Object.Instantiate(T, UnityEngine.Vector3, UnityEngine.Quaternion, UnityEngine.Transform) UnityEngine.Object.Instantiate(T, UnityEngine.Transform) UnityEngine.Object.Instantiate(T, UnityEngine.Transform, System.Boolean) UnityEngine.Object.Destroy(UnityEngine.Object, System.Single) UnityEngine.Object.Destroy(UnityEngine.Object) UnityEngine.Object.DestroyImmediate(UnityEngine.Object, System.Boolean) UnityEngine.Object.DestroyImmediate(UnityEngine.Object) UnityEngine.Object.FindObjectsOfType(System.Type) UnityEngine.Object.DontDestroyOnLoad(UnityEngine.Object) UnityEngine.Object.DestroyObject(UnityEngine.Object, System.Single) UnityEngine.Object.DestroyObject(UnityEngine.Object) UnityEngine.Object.FindSceneObjectsOfType(System.Type) UnityEngine.Object.FindObjectsOfTypeIncludingAssets(System.Type) UnityEngine.Object.FindObjectsOfType() UnityEngine.Object.FindObjectOfType() UnityEngine.Object.FindObjectsOfTypeAll(System.Type) UnityEngine.Object.FindObjectOfType(System.Type) UnityEngine.Object.ToString() UnityEngine.Object.name UnityEngine.Object.hideFlags Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetType() Object.MemberwiseClone() Namespace : BSIPA_ModList.UI.ViewControllers Assembly : BSIPA-ModList.dll Syntax [RequireComponent(typeof(RectTransform))] public class MarkdownView : MonoBehaviour Constructors | Improve this Doc View Source MarkdownView() Creates a new MarkdownView . Should never be called directly. Instead, use UnityEngine.GameObject.AddComponent``1 . Declaration public MarkdownView() Fields | Improve this Doc View Source HasEmbeddedImage This function will be called whenever attempting to resolve an image URI, to ensure that the image exists in the embedded assembly. Declaration public Func HasEmbeddedImage Field Value Type Description Func < String , Boolean > a delegate for the function to call Properties | Improve this Doc View Source Markdown The text to be rendered. Declaration public string Markdown { get; set; } Property Value Type Description String the text to render as Markdown Remarks When this is assigned, the object is marked dirty. It will re-render on the next Update tick. | Improve this Doc View Source rectTransform A convenience property to access the UnityEngine.RectTransform on the UnityEngine.GameObject this is on. Declaration public RectTransform rectTransform { get; } Property Value Type Description UnityEngine.RectTransform the UnityEngine.RectTransform associated with this component Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(T, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.CopyComponent(Component, Type, GameObject, Type) ReflectionUtil.CopyComponent(Component, GameObject, Type)"
},
"api/IPA.Utilities.html": {
"href": "api/IPA.Utilities.html",
"title": "",
"keywords": "Classes AlmostVersion A type that wraps so that the string of the version is stored when the string is not a valid . AlmostVersionConverter A ValueConverter for AlmostVersion s. CriticalSection Provides utilities for managing various critical sections. EnumerableExtensions Extensions for IEnumerable that don't currently exist in System.Linq . Extensions A class providing various extension methods. FieldAccessor A type containing utilities for accessing non-public fields of objects. MethodAccessor A type containing utilities for calling non-public methods on an object. PropertyAccessor A type containing utilities for accessing non-public properties of an object. Ref Utilities to create Ref using type inference. Ref A class to store a reference for passing to methods which cannot take ref parameters. ReflectionUtil A utility class providing reflection helper methods. UnityGame Provides some basic utility methods and properties of Beat Saber Utils A class providing static utility functions that in any other language would just exist . Structs CriticalSection.AutoExecuteSection A struct that allows using blocks to manage an execute section. Utils.ScopeGuardObject An object used to manage scope guards. Enums AlmostVersion.StoredAs Represents a storage type of either parsed object or raw String . UnityGame.Release The different types of releases of the game. Delegates FieldAccessor.Accessor A delegate for a field accessor taking a T ref and returning a U ref. PropertyAccessor.Getter A getter for a property. PropertyAccessor.Setter A setter for a property."
},
"api/IPA.Utilities.Utils.html": {
"href": "api/IPA.Utilities.Utils.html",
"title": "Class Utils",
"keywords": "Class Utils A class providing static utility functions that in any other language would just exist . Inheritance Object Utils Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Utilities Assembly : IPA.Loader.dll Syntax public static class Utils Properties | Improve this Doc View Source CanUseDateTimeNowSafely Whether you can safely use Now without Mono throwing a fit. Declaration public static bool CanUseDateTimeNowSafely { get; } Property Value Type Description Boolean true if you can use Now safely, false otherwise Methods | Improve this Doc View Source ByteArrayToString(Byte[]) Converts a byte array to a hex string. Declaration public static string ByteArrayToString(byte[] ba) Parameters Type Name Description Byte [] ba the byte array Returns Type Description String the hex form of the array | Improve this Doc View Source CopyAll(DirectoryInfo, DirectoryInfo, String, Func) Copies all files from source to target . Declaration public static void CopyAll(DirectoryInfo source, DirectoryInfo target, string appendFileName = \"\", Func onCopyException = null) Parameters Type Name Description DirectoryInfo source the source directory DirectoryInfo target the destination directory String appendFileName the filename of the file to append together Func < Exception , FileInfo , Boolean > onCopyException a delegate called when there is an error copying. Return true to keep going. | Improve this Doc View Source CurrentTime() Gets the current DateTime if supported, otherwise, if Mono would throw a fit, returns MinValue plus some value, such that each time it is called the value will be greater than the previous result. Not suitable for timing. Declaration public static DateTime CurrentTime() Returns Type Description DateTime the current DateTime if supported, otherwise some indeterminant increasing value. | Improve this Doc View Source GetRelativePath(String, String) Gets a path relative to the provided folder. Declaration public static string GetRelativePath(string file, string folder) Parameters Type Name Description String file the file to relativize String folder the source folder Returns Type Description String a path to get from folder to file | Improve this Doc View Source ScopeGuard(Action) Creates a scope guard for a given Action . Declaration public static Utils.ScopeGuardObject ScopeGuard(Action action) Parameters Type Name Description Action action the Action to run on dispose Returns Type Description Utils.ScopeGuardObject a Utils.ScopeGuardObject that will run action on disposal Examples using var _ = Utils.ScopeGuard(() => RunOnScopeExit(value)); | Improve this Doc View Source StringToByteArray(String) Converts a hex string to a byte array. Declaration public static byte[] StringToByteArray(string hex) Parameters Type Name Description String hex the hex stream Returns Type Description Byte [] the corresponding byte array | Improve this Doc View Source UnsafeCompare(Byte[], Byte[]) Uses unsafe code to compare 2 byte arrays quickly. Declaration public static bool UnsafeCompare(byte[] a1, byte[] a2) Parameters Type Name Description Byte [] a1 array 1 Byte [] a2 array 2 Returns Type Description Boolean whether or not they are byte-for-byte equal | Improve this Doc View Source VersionCompareNoPrerelease(SemVer.Version, SemVer.Version) Compares a pair of s ignoring both the prerelease and build fields. Declaration public static int VersionCompareNoPrerelease(SemVer.Version l, SemVer.Version r) Parameters Type Name Description SemVer.Version l the left value SemVer.Version r the right value Returns Type Description Int32 < 0 if l is less than r, 0 if they are equal in the numeric portion, or > 0 if l is greater than r"
},
"api/IPA.Utilities.Utils.ScopeGuardObject.html": {
"href": "api/IPA.Utilities.Utils.ScopeGuardObject.html",
"title": "Struct Utils.ScopeGuardObject",
"keywords": "Struct Utils.ScopeGuardObject An object used to manage scope guards. Implements IDisposable Inherited Members ValueType.Equals(Object) ValueType.GetHashCode() ValueType.ToString() Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetType() Namespace : IPA.Utilities Assembly : IPA.Loader.dll Syntax public struct ScopeGuardObject : IDisposable Examples using var _ = new Utils.ScopeGuardObject(() => RunOnScopeExit(value)); Constructors | Improve this Doc View Source ScopeGuardObject(Action) Creates a new scope guard that will invoke action when disposed. Declaration public ScopeGuardObject(Action action) Parameters Type Name Description Action action the action to run on dispose Explicit Interface Implementations | Improve this Doc View Source IDisposable.Dispose() Declaration void IDisposable.Dispose() Implements System.IDisposable Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(T, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) See Also ScopeGuard(Action)"
},
"api/IPA.Utilities.UnityGame.html": {
"href": "api/IPA.Utilities.UnityGame.html",
"title": "Class UnityGame",
"keywords": "Class UnityGame Provides some basic utility methods and properties of Beat Saber Inheritance Object UnityGame Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Utilities Assembly : IPA.Loader.dll Syntax public static class UnityGame Properties | Improve this Doc View Source GameVersion Provides the current game version. Declaration public static AlmostVersion GameVersion { get; } Property Value Type Description AlmostVersion the SemVer version of the game | Improve this Doc View Source InstallPath Gets the path to the Beat Saber install directory. Declaration public static string InstallPath { get; } Property Value Type Description String the path of the game install directory | Improve this Doc View Source LibraryPath The path to the Libs folder. Use only if necessary. Declaration public static string LibraryPath { get; } Property Value Type Description String the path to the library directory | Improve this Doc View Source NativeLibraryPath The path to the Libs\\Native folder. Use only if necessary. Declaration public static string NativeLibraryPath { get; } Property Value Type Description String the path to the native library directory | Improve this Doc View Source OnMainThread Checks if the currently running code is running on the Unity main thread. Declaration public static bool OnMainThread { get; } Property Value Type Description Boolean true if the curent thread is the Unity main thread, false otherwise | Improve this Doc View Source PluginsPath The directory to load plugins from. Declaration public static string PluginsPath { get; } Property Value Type Description String the path to the plugin directory | Improve this Doc View Source ReleaseType Gets the UnityGame.Release type of this installation of Beat Saber Declaration public static UnityGame.Release ReleaseType { get; } Property Value Type Description UnityGame.Release the type of release this is Remarks This only gives a | Improve this Doc View Source UserDataPath The path to the UserData folder. Declaration public static string UserDataPath { get; } Property Value Type Description String the path to the user data directory"
},
"api/IPA.Utilities.PropertyAccessor-2.html": {
"href": "api/IPA.Utilities.PropertyAccessor-2.html",
"title": "Class PropertyAccessor",
"keywords": "Class PropertyAccessor A type containing utilities for accessing non-public properties of an object. Inheritance Object PropertyAccessor Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Utilities Assembly : IPA.Loader.dll Syntax public static class PropertyAccessor Type Parameters Name Description T the type that the properties are on U the type of the property to access Methods | Improve this Doc View Source Get(T, String) Gets the value of the property identified by name on obj . Declaration public static U Get(T obj, string name) Parameters Type Name Description T obj the instance to access String name the name of the property Returns Type Description U the value of the property Exceptions Type Condition MissingMemberException if the property does not exist See Also Get(ref T, String) GetGetter(String) | Improve this Doc View Source Get(ref T, String) Gets the value of the property identified by name on obj . Declaration public static U Get(ref T obj, string name) Parameters Type Name Description T obj the instance to access String name the name of the property Returns Type Description U the value of the property Remarks The only reason to use this over Get(T, String) is if you are using a value type because it avoids a copy. Exceptions Type Condition MissingMemberException if the property does not exist See Also Get(T, String) GetGetter(String) | Improve this Doc View Source GetGetter(String) Gets a PropertyAccessor.Getter for the property identified by name . Declaration public static PropertyAccessor.Getter GetGetter(string name) Parameters Type Name Description String name the name of the property Returns Type Description PropertyAccessor.Getter <> a PropertyAccessor.Getter that can access that property Exceptions Type Condition MissingMemberException if the property does not exist | Improve this Doc View Source GetSetter(String) Gets a PropertyAccessor.Setter for the property identified by name . Declaration public static PropertyAccessor.Setter GetSetter(string name) Parameters Type Name Description String name the name of the property Returns Type Description PropertyAccessor.Setter <> a PropertyAccessor.Setter that can access that property Exceptions Type Condition MissingMemberException if the property does not exist | Improve this Doc View Source Set(T, String, U) Sets the value of the property identified by name on obj . Declaration public static void Set(T obj, string name, U val) Parameters Type Name Description T obj the instance to access String name the name of the property U val the new value of the property Remarks This overload cannot be safely used for value types. Use Set(ref T, String, U) instead. Exceptions Type Condition MissingMemberException if the property does not exist See Also Set(ref T, String, U) GetSetter(String) | Improve this Doc View Source Set(ref T, String, U) Sets the value of the property identified by name on obj . Declaration public static void Set(ref T obj, string name, U val) Parameters Type Name Description T obj the instance to access String name the name of the property U val the new value of the property Remarks This overload must be used for value types. Exceptions Type Condition MissingMemberException if the property does not exist See Also Set(T, String, U) GetSetter(String)"
},
"api/IPA.Utilities.PropertyAccessor-2.Setter.html": {
"href": "api/IPA.Utilities.PropertyAccessor-2.Setter.html",
"title": "Delegate PropertyAccessor.Setter",
"keywords": "Delegate PropertyAccessor.Setter A setter for a property. Namespace : IPA.Utilities Assembly : IPA.Loader.dll Syntax public delegate void Setter(ref T obj, U val); Parameters Type Name Description T obj the object it is a member of U val the new property value Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(T, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[])"
},
"api/IPA.PluginAttribute.html": {
"href": "api/IPA.PluginAttribute.html",
"title": "Class PluginAttribute",
"keywords": "Class PluginAttribute Marks a class as being a BSIPA plugin. Inheritance Object Attribute PluginAttribute Implements _Attribute Inherited Members Attribute.GetCustomAttributes(MemberInfo, Type) Attribute.GetCustomAttributes(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(MemberInfo) Attribute.GetCustomAttributes(MemberInfo, Boolean) Attribute.IsDefined(MemberInfo, Type) Attribute.IsDefined(MemberInfo, Type, Boolean) Attribute.GetCustomAttribute(MemberInfo, Type) Attribute.GetCustomAttribute(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo) Attribute.GetCustomAttributes(ParameterInfo, Type) Attribute.GetCustomAttributes(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo, Boolean) Attribute.IsDefined(ParameterInfo, Type) Attribute.IsDefined(ParameterInfo, Type, Boolean) Attribute.GetCustomAttribute(ParameterInfo, Type) Attribute.GetCustomAttribute(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(Module, Type) Attribute.GetCustomAttributes(Module) Attribute.GetCustomAttributes(Module, Boolean) Attribute.GetCustomAttributes(Module, Type, Boolean) Attribute.IsDefined(Module, Type) Attribute.IsDefined(Module, Type, Boolean) Attribute.GetCustomAttribute(Module, Type) Attribute.GetCustomAttribute(Module, Type, Boolean) Attribute.GetCustomAttributes(Assembly, Type) Attribute.GetCustomAttributes(Assembly, Type, Boolean) Attribute.GetCustomAttributes(Assembly) Attribute.GetCustomAttributes(Assembly, Boolean) Attribute.IsDefined(Assembly, Type) Attribute.IsDefined(Assembly, Type, Boolean) Attribute.GetCustomAttribute(Assembly, Type) Attribute.GetCustomAttribute(Assembly, Type, Boolean) Attribute.Equals(Object) Attribute.GetHashCode() Attribute.Match(Object) Attribute.IsDefaultAttribute() Attribute._Attribute.GetTypeInfoCount(UInt32) Attribute._Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) Attribute._Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) Attribute._Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) Attribute.TypeId Object.ToString() Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetType() Object.MemberwiseClone() Namespace : IPA Assembly : IPA.Loader.dll Syntax [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)] public sealed class PluginAttribute : Attribute, _Attribute Constructors | Improve this Doc View Source PluginAttribute(RuntimeOptions) Initializes a PluginAttribute with the given RuntimeOptions to indicate the runtime capabilities of the plugin. Declaration public PluginAttribute(RuntimeOptions runtimeOptions) Parameters Type Name Description RuntimeOptions runtimeOptions the options to use for this plugin Properties | Improve this Doc View Source RuntimeOptions The RuntimeOptions passed into the constructor of this attribute. Declaration public RuntimeOptions RuntimeOptions { get; } Property Value Type Description RuntimeOptions Implements System.Runtime.InteropServices._Attribute Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(T, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) See Also InitAttribute OnEnableAttribute OnDisableAttribute OnStartAttribute OnExitAttribute"
},
"api/IPA.OnStartAttribute.html": {
"href": "api/IPA.OnStartAttribute.html",
"title": "Class OnStartAttribute",
"keywords": "Class OnStartAttribute Indicates that the target method should be called when the game starts. Inheritance Object Attribute OnStartAttribute Implements _Attribute Inherited Members Attribute.GetCustomAttributes(MemberInfo, Type) Attribute.GetCustomAttributes(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(MemberInfo) Attribute.GetCustomAttributes(MemberInfo, Boolean) Attribute.IsDefined(MemberInfo, Type) Attribute.IsDefined(MemberInfo, Type, Boolean) Attribute.GetCustomAttribute(MemberInfo, Type) Attribute.GetCustomAttribute(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo) Attribute.GetCustomAttributes(ParameterInfo, Type) Attribute.GetCustomAttributes(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo, Boolean) Attribute.IsDefined(ParameterInfo, Type) Attribute.IsDefined(ParameterInfo, Type, Boolean) Attribute.GetCustomAttribute(ParameterInfo, Type) Attribute.GetCustomAttribute(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(Module, Type) Attribute.GetCustomAttributes(Module) Attribute.GetCustomAttributes(Module, Boolean) Attribute.GetCustomAttributes(Module, Type, Boolean) Attribute.IsDefined(Module, Type) Attribute.IsDefined(Module, Type, Boolean) Attribute.GetCustomAttribute(Module, Type) Attribute.GetCustomAttribute(Module, Type, Boolean) Attribute.GetCustomAttributes(Assembly, Type) Attribute.GetCustomAttributes(Assembly, Type, Boolean) Attribute.GetCustomAttributes(Assembly) Attribute.GetCustomAttributes(Assembly, Boolean) Attribute.IsDefined(Assembly, Type) Attribute.IsDefined(Assembly, Type, Boolean) Attribute.GetCustomAttribute(Assembly, Type) Attribute.GetCustomAttribute(Assembly, Type, Boolean) Attribute.Equals(Object) Attribute.GetHashCode() Attribute.Match(Object) Attribute.IsDefaultAttribute() Attribute._Attribute.GetTypeInfoCount(UInt32) Attribute._Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) Attribute._Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) Attribute._Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) Attribute.TypeId Object.ToString() Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetType() Object.MemberwiseClone() Namespace : IPA Assembly : IPA.Loader.dll Syntax [AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = false)] public sealed class OnStartAttribute : Attribute, _Attribute, IEdgeLifecycleAttribute Remarks This attribute is interchangable with OnEnableAttribute , and is treated identically. They are seperate to allow plugin code to more clearly describe the intent of the methods. Typically, this will be used when the RuntimeOptions parameter of the plugins's PluginAttribute is SingleStartInit . The method marked by this attribute will always be called from the Unity main thread. Implements System.Runtime.InteropServices._Attribute Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(T, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) See Also PluginAttribute OnEnableAttribute"
},
"api/IPA.Old.IPlugin.html": {
"href": "api/IPA.Old.IPlugin.html",
"title": "Interface IPlugin",
"keywords": "Interface IPlugin Interface for generic Illusion unity plugins. Every class that implements this will be loaded if the DLL is placed in Plugins. Namespace : IPA.Old Assembly : IPA.Loader.dll Syntax [Obsolete(\"When building plugins for Beat Saber, use IBeatSaberPlugin\")] public interface IPlugin Properties | Improve this Doc View Source Name Gets the name of the plugin. Declaration string Name { get; } Property Value Type Description String | Improve this Doc View Source Version Gets the version of the plugin. Declaration string Version { get; } Property Value Type Description String Methods | Improve this Doc View Source OnApplicationQuit() Gets invoked when the application is closed. Declaration void OnApplicationQuit() | Improve this Doc View Source OnApplicationStart() Gets invoked when the application is started. Declaration void OnApplicationStart() | Improve this Doc View Source OnFixedUpdate() Gets invoked on ever physics update. Declaration void OnFixedUpdate() | Improve this Doc View Source OnLevelWasInitialized(Int32) Gets invoked after the first update cycle after a level was loaded. Declaration void OnLevelWasInitialized(int level) Parameters Type Name Description Int32 level | Improve this Doc View Source OnLevelWasLoaded(Int32) Gets invoked whenever a level is loaded. Declaration void OnLevelWasLoaded(int level) Parameters Type Name Description Int32 level | Improve this Doc View Source OnUpdate() Gets invoked on every graphic update. Declaration void OnUpdate() Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(T, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[])"
},
"api/IPA.Old.IEnhancedPlugin.html": {
"href": "api/IPA.Old.IEnhancedPlugin.html",
"title": "Interface IEnhancedPlugin",
"keywords": "Interface IEnhancedPlugin An enhanced version of the standard IPA plugin. Inherited Members IPlugin.Name IPlugin.Version IPlugin.OnApplicationStart() IPlugin.OnApplicationQuit() IPlugin.OnLevelWasLoaded(Int32) IPlugin.OnLevelWasInitialized(Int32) IPlugin.OnUpdate() IPlugin.OnFixedUpdate() Namespace : IPA.Old Assembly : IPA.Loader.dll Syntax [Obsolete(\"When building plugins for Beat Saber, use IPA.IEnhancedPlugin\")] public interface IEnhancedPlugin : IPlugin Properties | Improve this Doc View Source Filter Gets a list of executables this plugin should be executed on (without the file ending) Declaration string[] Filter { get; } Property Value Type Description String [] Examples { \"PlayClub\", \"PlayClubStudio\" } Methods | Improve this Doc View Source OnLateUpdate() Called after Update. Declaration void OnLateUpdate() Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(T, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[])"
},
"api/IPA.Logging.Printers.ColoredConsolePrinter.html": {
"href": "api/IPA.Logging.Printers.ColoredConsolePrinter.html",
"title": "Class ColoredConsolePrinter",
"keywords": "Class ColoredConsolePrinter Prints a pretty message to the console. Inheritance Object LogPrinter ColoredConsolePrinter Inherited Members LogPrinter.StartPrint() LogPrinter.EndPrint() Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Logging.Printers Assembly : IPA.Loader.dll Syntax public class ColoredConsolePrinter : LogPrinter Properties | Improve this Doc View Source Color The color to print messages as. Declaration public ConsoleColor Color { get; set; } Property Value Type Description ConsoleColor the color to print this message as | Improve this Doc View Source Filter A filter for this specific printer. Declaration public override Logger.LogLevel Filter { get; set; } Property Value Type Description Logger.LogLevel the filter to apply to this printer Overrides LogPrinter.Filter Methods | Improve this Doc View Source Print(Logger.Level, DateTime, String, String) Prints an entry to the console window. Declaration public override void Print(Logger.Level level, DateTime time, string logName, string message) Parameters Type Name Description Logger.Level level the Logger.Level of the message DateTime time the DateTime the message was recorded at String logName the name of the log that sent the message String message the message to print Overrides LogPrinter.Print(Logger.Level, DateTime, String, String) Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(T, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[])"
},
"api/IPA.Logging.LogPrinter.html": {
"href": "api/IPA.Logging.LogPrinter.html",
"title": "Class LogPrinter",
"keywords": "Class LogPrinter The log printer's base class. Inheritance Object LogPrinter ColoredConsolePrinter ColorlessConsolePrinter GZFilePrinter Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Logging Assembly : IPA.Loader.dll Syntax public abstract class LogPrinter Properties | Improve this Doc View Source Filter Provides a filter for which log levels to allow through. Declaration public abstract Logger.LogLevel Filter { get; set; } Property Value Type Description Logger.LogLevel the level to filter to Methods | Improve this Doc View Source EndPrint() Called after the last print in a group. May be called multiple times. Use this to dispose file handles and the like. Declaration public virtual void EndPrint() | Improve this Doc View Source Print(Logger.Level, DateTime, String, String) Prints a provided message from a given log at the specified time. Declaration public abstract void Print(Logger.Level level, DateTime time, string logName, string message) Parameters Type Name Description Logger.Level level the log level DateTime time the time the message was composed String logName the name of the log that created this message String message the message | Improve this Doc View Source StartPrint() Called before the first print in a group. May be called multiple times. Use this to create file handles and the like. Declaration public virtual void StartPrint() Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(T, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[])"
},
"api/IPA.Loader.html": {
"href": "api/IPA.Loader.html",
"title": "",
"keywords": "Classes CannotRuntimeDisableException Indicates that a plugin cannot be disabled at runtime. Generally not considered an error, however. PluginInitInjector The type that handles value injecting into a plugin's initialization methods. PluginManager The manager class for all plugins. PluginMetadata A class which describes a loaded plugin. StateTransitionTransaction A class to represent a transaction for changing the state of loaded mods. Delegates PluginInitInjector.InjectParameter A typed injector for a plugin's Init method. When registered, called for all associated types. If it returns null, the default for the type will be used. PluginManager.PluginDisableDelegate An invoker for the PluginDisabled event. PluginManager.PluginEnableDelegate An invoker for the PluginEnabled event."
},
"api/IPA.Loader.StateTransitionTransaction.html": {
"href": "api/IPA.Loader.StateTransitionTransaction.html",
"title": "Class StateTransitionTransaction",
"keywords": "Class StateTransitionTransaction A class to represent a transaction for changing the state of loaded mods. Inheritance Object StateTransitionTransaction Implements IDisposable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Loader Assembly : IPA.Loader.dll Syntax public sealed class StateTransitionTransaction : IDisposable Properties | Improve this Doc View Source DisabledPlugins Gets a list of plugins that are disabled according to this transaction's current state. Declaration public IEnumerable DisabledPlugins { get; } Property Value Type Description IEnumerable < PluginMetadata > Exceptions Type Condition ObjectDisposedException if this object has been disposed | Improve this Doc View Source EnabledPlugins Gets a list of plugins that are enabled according to this transaction's current state. Declaration public IEnumerable EnabledPlugins { get; } Property Value Type Description IEnumerable < PluginMetadata > Exceptions Type Condition ObjectDisposedException if this object has been disposed | Improve this Doc View Source WillNeedRestart Gets whether or not a game restart will be necessary to fully apply this transaction. Declaration public bool WillNeedRestart { get; } Property Value Type Description Boolean true if any mod who's state is changed cannot be changed at runtime, false otherwise Exceptions Type Condition ObjectDisposedException if this object has been disposed Methods | Improve this Doc View Source Commit() Commits this transaction to actual state, enabling and disabling plugins as necessary. Declaration public Task Commit() Returns Type Description Task a Task which completes whenever all disables complete Remarks After this completes, this transaction will be disposed. The Task that is returned will error if any of the mods being disabled error. It is up to the caller to handle these in a sane way, like logging them. If nothing else, do something like this: // get your transaction... var complete = transaction.Commit(); await complete.ContinueWith(t => { if (t.IsFaulted) Logger.log.Error($\"Error disabling plugins: {t.Exception}\"); }); If you are running in a coroutine, you can use WaitForTask(Task) instead of await . If you are running on the Unity main thread, this will block until all enabling is done, and will return a task representing the disables. Otherwise, the task returned represents both, and will not complete until Unity has done (possibly) several updates, depending on the number of plugins being disabled, and the time they take. Exceptions Type Condition ObjectDisposedException if this object has been disposed InvalidOperationException if the plugins' state no longer matches this transaction's original state | Improve this Doc View Source Disable(PluginMetadata, Boolean) Disables a plugin in this transaction. Declaration public bool Disable(PluginMetadata meta, bool autoDependents = true) Parameters Type Name Description PluginMetadata meta the plugin to disable Boolean autoDependents whether or not to automatically disable all dependents of the plugin Returns Type Description Boolean true if the transaction's state was changed, false otherwise Exceptions Type Condition ObjectDisposedException if this object has been disposed ArgumentException if meta is not loadable See Also Disable(PluginMetadata, out IEnumerable, Boolean) | Improve this Doc View Source Disable(PluginMetadata, out IEnumerable, Boolean) Disables a plugin in this transaction. Declaration public bool Disable(PluginMetadata meta, out IEnumerable enabledDependents, bool autoDependents = false) Parameters Type Name Description PluginMetadata meta the plugin to disable IEnumerable < PluginMetadata > enabledDependents null if successful, otherwise a set of plugins that need to be disabled first Boolean autoDependents whether or not to automatically disable all dependents of the plugin Returns Type Description Boolean true if the transaction's state was changed, false otherwise Remarks enabledDependents will only be set when autoDependents is false . Exceptions Type Condition ObjectDisposedException if this object has been disposed ArgumentException if meta is not loadable | Improve this Doc View Source Dispose() Disposes and discards this transaction without committing it. Declaration public void Dispose() | Improve this Doc View Source Enable(PluginMetadata, Boolean) Enables a plugin in this transaction. Declaration public bool Enable(PluginMetadata meta, bool autoDeps = true) Parameters Type Name Description PluginMetadata meta the plugin to enable Boolean autoDeps whether or not to automatically enable all dependencies of the plugin Returns Type Description Boolean true if the transaction's state was changed, false otherwise Exceptions Type Condition ObjectDisposedException if this object has been disposed ArgumentException if meta is not loadable See Also Enable(PluginMetadata, out IEnumerable, Boolean) | Improve this Doc View Source Enable(PluginMetadata, out IEnumerable, Boolean) Enables a plugin in this transaction. Declaration public bool Enable(PluginMetadata meta, out IEnumerable disabledDeps, bool autoDeps = false) Parameters Type Name Description PluginMetadata meta the plugin to enable IEnumerable < PluginMetadata > disabledDeps null if successful, otherwise a set of plugins that need to be enabled first Boolean autoDeps whether or not to automatically enable all dependencies Returns Type Description Boolean true if the transaction's state was changed, false otherwise Remarks disabledDeps will only be set when autoDeps is false . Exceptions Type Condition ObjectDisposedException if this object has been disposed ArgumentException if meta is not loadable | Improve this Doc View Source IsDisabled(PluginMetadata) Checks if a plugin is disabled according to this transaction's current state. Declaration public bool IsDisabled(PluginMetadata meta) Parameters Type Name Description PluginMetadata meta the plugin to check Returns Type Description Boolean true if the plugin is disabled, false otherwise Remarks This should be roughly equivalent to DisabledPlugins.Contains(meta) , but more performant. This should also always return the inverse of IsEnabled(PluginMetadata) for valid plugins. Exceptions Type Condition ObjectDisposedException if this object has been disposed See Also DisabledPlugins IsEnabled(PluginMetadata) | Improve this Doc View Source IsEnabled(PluginMetadata) Checks if a plugin is enabled according to this transaction's current state. Declaration public bool IsEnabled(PluginMetadata meta) Parameters Type Name Description PluginMetadata meta the plugin to check Returns Type Description Boolean true if the plugin is enabled, false otherwise Remarks This should be roughly equivalent to EnabledPlugins.Contains(meta) , but more performant. This should also always return the inverse of IsDisabled(PluginMetadata) for valid plugins. Exceptions Type Condition ObjectDisposedException if this object has been disposed See Also EnabledPlugins IsDisabled(PluginMetadata) Implements System.IDisposable Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(T, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[])"
},
"api/IPA.Config.html": {
"href": "api/IPA.Config.html",
"title": "",
"keywords": "Classes Config An abstraction of a config file on disk, which handles synchronizing between a memory representation and the disk representation. Config.NameAttribute Specifies a preferred config name, instead of using the plugin's name. Config.PreferAttribute Specifies that a particular parameter is preferred to use a particular IConfigProvider . If it is not available, also specifies backups. If none are available, the default is used. ConfigProvider A wrapper for an IConfigProvider and the FileInfo to use with it. ModPrefs Allows to get and set preferences for your mod. Interfaces IConfigProvider An interface for configuration providers. IConfigStore A storage for a config structure. IModPrefs Allows to get and set preferences for your mod."
},
"api/IPA.Config.Stores.html": {
"href": "api/IPA.Config.Stores.html",
"title": "",
"keywords": "Classes GeneratedStore A class providing an extension for Config to make it easy to use generated config stores. ValueConverter A strongly-typed IValueConverter . Interfaces IValueConverter The base interface for a value converter for use by objects generated by Generated(Config, Boolean) ."
},
"api/IPA.Config.Stores.Converters.IListConverter-2.html": {
"href": "api/IPA.Config.Stores.Converters.IListConverter-2.html",
"title": "Class IListConverter",
"keywords": "Class IListConverter An IListConverter which default constructs a converter for use as the value converter. Inheritance Object ValueConverter < IList > CollectionConverter > IListConverter IListConverter Implements IValueConverter Inherited Members IListConverter.Create(Int32, Object) CollectionConverter>.BaseConverter CollectionConverter>.Create(Int32, Object) CollectionConverter>.PopulateFromValue(IList, List, Object) CollectionConverter>.FromValue(Value, Object) CollectionConverter>.ToValue(IList, Object) ValueConverter>.ToValue(IList, Object) ValueConverter>.FromValue(Value, Object) ValueConverter>.IValueConverter.ToValue(Object, Object) ValueConverter>.IValueConverter.FromValue(Value, Object) ValueConverter>.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public sealed class IListConverter : IListConverter, IValueConverter where TConverter : ValueConverter, new() Type Parameters Name Description T the value type of the collection TConverter the type of the converter to use for T Constructors | Improve this Doc View Source IListConverter() Creates an IListConverter using a default constructed TConverter element type. Equivalent to calling IListConverter(ValueConverter) with a default-constructed TConverter . Declaration public IListConverter() See Also IListConverter(ValueConverter) Implements IValueConverter Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(T, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) See Also IListConverter "
},
"api/IPA.Config.Stores.Converters.IListConverter-1.html": {
"href": "api/IPA.Config.Stores.Converters.IListConverter-1.html",
"title": "Class IListConverter",
"keywords": "Class IListConverter A CollectionConverter for an IList , creating a List when deserializing. Inheritance Object ValueConverter < IList > CollectionConverter > IListConverter IListConverter Implements IValueConverter Inherited Members CollectionConverter>.BaseConverter CollectionConverter>.Create(Int32, Object) CollectionConverter>.PopulateFromValue(IList, List, Object) CollectionConverter>.FromValue(Value, Object) CollectionConverter>.ToValue(IList, Object) ValueConverter>.ToValue(IList, Object) ValueConverter>.FromValue(Value, Object) ValueConverter>.IValueConverter.ToValue(Object, Object) ValueConverter>.IValueConverter.FromValue(Value, Object) ValueConverter>.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public class IListConverter : CollectionConverter>, IValueConverter Type Parameters Name Description T the element type of the IList Constructors | Improve this Doc View Source IListConverter() Creates an IListConverter using the default converter for T . Declaration public IListConverter() See Also CollectionConverter() | Improve this Doc View Source IListConverter(ValueConverter) Creates an IListConverter using the specified underlying converter for values. Declaration public IListConverter(ValueConverter underlying) Parameters Type Name Description ValueConverter underlying the underlying ValueConverter to use for the values Methods | Improve this Doc View Source Create(Int32, Object) Creates a new IList (a List ) for deserialization. Declaration protected override IList Create(int size, object parent) Parameters Type Name Description Int32 size the size to initialize it to Object parent the object that will own the new object Returns Type Description IList the new IList Overrides IPA.Config.Stores.Converters.CollectionConverter>.Create(System.Int32, System.Object) Implements IValueConverter Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(T, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) See Also CollectionConverter "
},
"api/IPA.Config.Stores.Attributes.UseConverterAttribute.html": {
"href": "api/IPA.Config.Stores.Attributes.UseConverterAttribute.html",
"title": "Class UseConverterAttribute",
"keywords": "Class UseConverterAttribute Indicates that a given field or property in an object being wrapped by Generated(Config, Boolean) should be serialized and deserialized using the provided converter instead of the default mechanism. Inheritance Object Attribute UseConverterAttribute Implements _Attribute Inherited Members Attribute.GetCustomAttributes(MemberInfo, Type) Attribute.GetCustomAttributes(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(MemberInfo) Attribute.GetCustomAttributes(MemberInfo, Boolean) Attribute.IsDefined(MemberInfo, Type) Attribute.IsDefined(MemberInfo, Type, Boolean) Attribute.GetCustomAttribute(MemberInfo, Type) Attribute.GetCustomAttribute(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo) Attribute.GetCustomAttributes(ParameterInfo, Type) Attribute.GetCustomAttributes(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo, Boolean) Attribute.IsDefined(ParameterInfo, Type) Attribute.IsDefined(ParameterInfo, Type, Boolean) Attribute.GetCustomAttribute(ParameterInfo, Type) Attribute.GetCustomAttribute(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(Module, Type) Attribute.GetCustomAttributes(Module) Attribute.GetCustomAttributes(Module, Boolean) Attribute.GetCustomAttributes(Module, Type, Boolean) Attribute.IsDefined(Module, Type) Attribute.IsDefined(Module, Type, Boolean) Attribute.GetCustomAttribute(Module, Type) Attribute.GetCustomAttribute(Module, Type, Boolean) Attribute.GetCustomAttributes(Assembly, Type) Attribute.GetCustomAttributes(Assembly, Type, Boolean) Attribute.GetCustomAttributes(Assembly) Attribute.GetCustomAttributes(Assembly, Boolean) Attribute.IsDefined(Assembly, Type) Attribute.IsDefined(Assembly, Type, Boolean) Attribute.GetCustomAttribute(Assembly, Type) Attribute.GetCustomAttribute(Assembly, Type, Boolean) Attribute.Equals(Object) Attribute.GetHashCode() Attribute.Match(Object) Attribute.IsDefaultAttribute() Attribute._Attribute.GetTypeInfoCount(UInt32) Attribute._Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) Attribute._Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) Attribute._Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) Attribute.TypeId Object.ToString() Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Attributes Assembly : IPA.Loader.dll Syntax [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false, Inherited = true)] public sealed class UseConverterAttribute : Attribute, _Attribute Constructors | Improve this Doc View Source UseConverterAttribute(Type) Creates a new UseConverterAttribute with a given ConverterType . Declaration public UseConverterAttribute(Type converterType) Parameters Type Name Description Type converterType the type to assign to ConverterType Properties | Improve this Doc View Source ConverterTargetType Gets the target type of the converter if it is avaliable at instantiation time, otherwise null . Declaration public Type ConverterTargetType { get; } Property Value Type Description Type | Improve this Doc View Source ConverterType Gets the type of the converter to use. Declaration public Type ConverterType { get; } Property Value Type Description Type | Improve this Doc View Source IsGenericConverter Gets whether or not this converter is a generic ValueConverter . Declaration public bool IsGenericConverter { get; } Property Value Type Description Boolean Implements System.Runtime.InteropServices._Attribute Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(T, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[])"
},
"api/IPA.Config.Stores.Attributes.SerializedNameAttribute.html": {
"href": "api/IPA.Config.Stores.Attributes.SerializedNameAttribute.html",
"title": "Class SerializedNameAttribute",
"keywords": "Class SerializedNameAttribute Specifies a name for the serialized field or property in an object being wrapped by Generated(Config, Boolean) that is different from the member name itself. Inheritance Object Attribute SerializedNameAttribute Implements _Attribute Inherited Members Attribute.GetCustomAttributes(MemberInfo, Type) Attribute.GetCustomAttributes(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(MemberInfo) Attribute.GetCustomAttributes(MemberInfo, Boolean) Attribute.IsDefined(MemberInfo, Type) Attribute.IsDefined(MemberInfo, Type, Boolean) Attribute.GetCustomAttribute(MemberInfo, Type) Attribute.GetCustomAttribute(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo) Attribute.GetCustomAttributes(ParameterInfo, Type) Attribute.GetCustomAttributes(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo, Boolean) Attribute.IsDefined(ParameterInfo, Type) Attribute.IsDefined(ParameterInfo, Type, Boolean) Attribute.GetCustomAttribute(ParameterInfo, Type) Attribute.GetCustomAttribute(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(Module, Type) Attribute.GetCustomAttributes(Module) Attribute.GetCustomAttributes(Module, Boolean) Attribute.GetCustomAttributes(Module, Type, Boolean) Attribute.IsDefined(Module, Type) Attribute.IsDefined(Module, Type, Boolean) Attribute.GetCustomAttribute(Module, Type) Attribute.GetCustomAttribute(Module, Type, Boolean) Attribute.GetCustomAttributes(Assembly, Type) Attribute.GetCustomAttributes(Assembly, Type, Boolean) Attribute.GetCustomAttributes(Assembly) Attribute.GetCustomAttributes(Assembly, Boolean) Attribute.IsDefined(Assembly, Type) Attribute.IsDefined(Assembly, Type, Boolean) Attribute.GetCustomAttribute(Assembly, Type) Attribute.GetCustomAttribute(Assembly, Type, Boolean) Attribute.Equals(Object) Attribute.GetHashCode() Attribute.Match(Object) Attribute.IsDefaultAttribute() Attribute._Attribute.GetTypeInfoCount(UInt32) Attribute._Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) Attribute._Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) Attribute._Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) Attribute.TypeId Object.ToString() Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Attributes Assembly : IPA.Loader.dll Syntax [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false, Inherited = true)] public sealed class SerializedNameAttribute : Attribute, _Attribute Examples When serializing the following object, we might get the JSON that follows. public class PluginConfig { public virtual bool BooleanField { get; set; } = true; } { \"BooleanField\": true } However, if we were to add a SerializedNameAttribute to that field, we would get the following. public class PluginConfig { [SerializedName(\"bool\")] public virtual bool BooleanField { get; set; } = true; } { \"bool\": true } Constructors | Improve this Doc View Source SerializedNameAttribute(String) Creates a new SerializedNameAttribute with the given Name . Declaration public SerializedNameAttribute(string name) Parameters Type Name Description String name the value to assign to Name Properties | Improve this Doc View Source Name Gets the name to replace the member name with. Declaration public string Name { get; } Property Value Type Description String Implements System.Runtime.InteropServices._Attribute Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(T, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[])"
},
"api/IPA.Config.Data.Map.html": {
"href": "api/IPA.Config.Data.Map.html",
"title": "Class Map",
"keywords": "Class Map A ordered map of String to Value for serialization by an IConfigProvider . Use Map() or From(IDictionary) to create. Inheritance Object Value Map Implements IDictionary < String , Value > ICollection < KeyValuePair < String , Value >> IEnumerable < KeyValuePair < String , Value >> IEnumerable Inherited Members Value.Null() Value.List() Value.Map() Value.From(String) Value.Text(String) Value.From(Int64) Value.Integer(Int64) Value.From(Decimal) Value.Float(Decimal) Value.From(Boolean) Value.Bool(Boolean) Value.From(IEnumerable) Value.From(IDictionary) Value.From(IEnumerable>) Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Data Assembly : IPA.Loader.dll Syntax public sealed class Map : Value, IDictionary, ICollection>, IEnumerable>, IEnumerable Properties | Improve this Doc View Source Count Gets the number of key-value pairs in this Map . Declaration public int Count { get; } Property Value Type Description Int32 See Also Count | Improve this Doc View Source Item[String] Accesses the Value at key in the map. Declaration public Value this[string key] { get; set; } Parameters Type Name Description String key the key to get the value associated with Property Value Type Description Value the value associated with the key See Also Item [TKey] | Improve this Doc View Source Keys Gets a collection of the keys for the Map . Declaration public ICollection Keys { get; } Property Value Type Description ICollection < String > See Also Keys | Improve this Doc View Source Values Gets a collection of the values in the Map . Declaration public ICollection Values { get; } Property Value Type Description ICollection < Value > Remarks Unlike all other iterables given by Map , this does not guarantee that order is maintained. See Also Values Methods | Improve this Doc View Source Add(String, Value) Adds a new Value with a given key. Declaration public void Add(string key, Value value) Parameters Type Name Description String key the key to put the value at Value value the Value to add See Also Add (TKey, TValue) | Improve this Doc View Source Clear() Clears the Map of its key-value pairs. Declaration public void Clear() See Also Clear () | Improve this Doc View Source ContainsKey(String) Checks if the Map contains a given key . Declaration public bool ContainsKey(string key) Parameters Type Name Description String key the key to check for Returns Type Description Boolean true if the key exists, otherwise false See Also ContainsKey (TKey) | Improve this Doc View Source GetEnumerator() Enumerates the Map 's key-value pairs. Declaration public IEnumerator> GetEnumerator() Returns Type Description IEnumerator < KeyValuePair < String , Value >> an IEnumerator of key-value pairs in this Map See Also GetEnumerator () | Improve this Doc View Source Remove(String) Removes the object associated with a key in this Map . Declaration public bool Remove(string key) Parameters Type Name Description String key the key to remove Returns Type Description Boolean true if the key existed, false otherwise See Also Remove (TKey) | Improve this Doc View Source ToString() Converts this Value into a human-readable format. Declaration public override string ToString() Returns Type Description String a JSON-like set of key-value pairs Overrides Value.ToString() | Improve this Doc View Source TryGetValue(String, out Value) Gets the value associated with the specified key. Declaration public bool TryGetValue(string key, out Value value) Parameters Type Name Description String key the key of the value to get Value value the target location of the retrieved object Returns Type Description Boolean true if the key was found and value set, false otherwise See Also TryGetValue (TKey, TValue) Explicit Interface Implementations | Improve this Doc View Source ICollection>.Add(KeyValuePair) Declaration void ICollection>.Add(KeyValuePair item) Parameters Type Name Description KeyValuePair < String , Value > item | Improve this Doc View Source ICollection>.Contains(KeyValuePair) Declaration bool ICollection>.Contains(KeyValuePair item) Parameters Type Name Description KeyValuePair < String , Value > item Returns Type Description Boolean | Improve this Doc View Source ICollection>.CopyTo(KeyValuePair[], Int32) Declaration void ICollection>.CopyTo(KeyValuePair[] array, int arrayIndex) Parameters Type Name Description KeyValuePair < String , Value >[] array Int32 arrayIndex | Improve this Doc View Source ICollection>.IsReadOnly Declaration bool ICollection>.IsReadOnly { get; } Returns Type Description Boolean | Improve this Doc View Source ICollection>.Remove(KeyValuePair) Declaration bool ICollection>.Remove(KeyValuePair item) Parameters Type Name Description KeyValuePair < String , Value > item Returns Type Description Boolean | Improve this Doc View Source IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IDictionary System.Collections.Generic.ICollection System.Collections.Generic.IEnumerable System.Collections.IEnumerable Extension Methods EnumerableExtensions.Prepend(IEnumerable, T) EnumerableExtensions.Append(IEnumerable, T) EnumerableExtensions.NonNull(IEnumerable, Func) ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(T, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[])"
},
"api/IPA.Config.Config.html": {
"href": "api/IPA.Config.Config.html",
"title": "Class Config",
"keywords": "Class Config An abstraction of a config file on disk, which handles synchronizing between a memory representation and the disk representation. Inheritance Object Config Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config Assembly : IPA.Loader.dll Syntax public class Config Properties | Improve this Doc View Source Name Gets the name associated with this Config object. Declaration public string Name { get; } Property Value Type Description String | Improve this Doc View Source Provider Gets the IConfigProvider associated with this Config object. Declaration public IConfigProvider Provider { get; } Property Value Type Description IConfigProvider Methods | Improve this Doc View Source GetConfigFor(String, String[]) Gets a Config object using the specified list of preferred config types. Declaration public static Config GetConfigFor(string configName, params string[] extensions) Parameters Type Name Description String configName the name of the mod for this config String [] extensions the preferred config types to try to get Returns Type Description Config a Config using the requested format, or of type JSON. | Improve this Doc View Source LoadAsync() Forces an asynchronous load from disk. Declaration public Task LoadAsync() Returns Type Description Task | Improve this Doc View Source LoadSync() Forces a synchronous load from disk. Declaration public void LoadSync() | Improve this Doc View Source Register(Type) Registers a IConfigProvider to use for configs. Declaration public static void Register(Type type) Parameters Type Name Description Type type the type to register | Improve this Doc View Source Register() Registers a IConfigProvider to use for configs. Declaration public static void Register() where T : IConfigProvider Type Parameters Name Description T the type to register | Improve this Doc View Source SetStore(IConfigStore) Sets this object's IConfigStore . Can only be called once. Declaration public void SetStore(IConfigStore store) Parameters Type Name Description IConfigStore store the IConfigStore to add to this instance Exceptions Type Condition InvalidOperationException If this was called before. Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(T, String) ReflectionUtil.SetProperty