{
"api/IPA.Config.Stores.GeneratedExtension.html": {
"href": "api/IPA.Config.Stores.GeneratedExtension.html",
"title": "Class GeneratedExtension",
"keywords": "Class GeneratedExtension A class providing an extension for Config to make it easy to use generated config stores. Inheritance Object GeneratedExtension Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores Assembly : IPA.Loader.dll Syntax public static class GeneratedExtension Fields | Improve this Doc View Source AssemblyVisibilityTarget The name of the assembly that internals must be visible to to allow internal protection. Declaration public const string AssemblyVisibilityTarget = \"IPA.Config.Generated\" Field Value Type Description String Methods | Improve this Doc View Source Generated(Config, Boolean) Creates a generated IConfigStore of type T , registers it to the Config object, and returns it. This also forces a synchronous config load via LoadSync() if loadSync is true . Declaration public static T Generated(this Config cfg, bool loadSync = true) where T : class Parameters Type Name Description Config cfg the Config to register to Boolean loadSync whether to synchronously load the content, or trigger an async load Returns Type Description T a generated instance of T as a special IConfigStore Type Parameters Name Description T the type to wrap Remarks T must be a public non- sealed class. It can also be internal, but in that case, then your assembly must have the following attribute to allow the generated code to reference it. [assembly: InternalsVisibleTo(IPA.Config.Stores.GeneratedExtension.AssemblyVisibilityTarget)] Only fields and properties that are public or protected will be considered, and only properties where both the getter and setter are public or protected are considered. Any fields or properties with an IgnoreAttribute applied to them are also ignored. Having properties be virtual is not strictly necessary, however it allows the generated type to keep track of changes and lock around them so that the config will auto-save. All of the attributes in the IPA.Config.Stores.Attributes namespace are handled as described by them. If the T declares a public or protected, virtual method Changed() , then that method may be called to artificially signal to the runtime that the content of the object has changed. That method will also be called after the write locks are released when a property is set anywhere in the owning tree. This will only be called on the outermost generated object of the config structure, even if the change being signaled is somewhere deep into the tree. TODO: is this a good idea? Similarly, T can declare a public or protected, virtual method OnReload() , which will be called on the filesystem reader thread after the object has been repopulated with new data values. It will be called after the write lock for this object is released. This will only be called on the outermost generated object of the config structure. Similarly, T can declare a public or protected, virtual method CopyFrom(ConfigType) (the first parameter is the type it is defined on), which may be called to copy the properties from another object of its type easily, and more importantly, as only one change. Its body will be executed after the values have been copied. TODO: describe details of generated stores"
},
"api/IPA.Config.Stores.Converters.NullableConverter-1.html": {
"href": "api/IPA.Config.Stores.Converters.NullableConverter-1.html",
"title": "Class NullableConverter",
"keywords": "Class NullableConverter A converter for a Nullable . Inheritance Object ValueConverter < Nullable > NullableConverter NullableConverter Implements IValueConverter Inherited Members 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 NullableConverter : ValueConverter, IValueConverter where T : struct Type Parameters Name Description T the underlying type of the Nullable Constructors | Improve this Doc View Source NullableConverter() Creates a converter with the default converter for the base type. Equivalent to new NullableConverter(Converter.Default) Declaration public NullableConverter() See Also NullableConverter(ValueConverter) Default | Improve this Doc View Source NullableConverter(ValueConverter) Creates a converter with the given underlying ValueConverter . Declaration public NullableConverter(ValueConverter underlying) Parameters Type Name Description ValueConverter underlying the undlerlying ValueConverter to use Methods | Improve this Doc View Source FromValue(Value, Object) Converts a Value tree to a value. Declaration public override T? FromValue(Value value, object parent) Parameters Type Name Description Value value the Value tree to convert Object parent the object which will own the created object Returns Type Description Nullable the object represented by value Overrides IPA.Config.Stores.ValueConverter>.FromValue(IPA.Config.Data.Value, System.Object) | Improve this Doc View Source ToValue(Nullable, Object) Converts a nullable T to a Value tree. Declaration public override Value ToValue(T? obj, object parent) Parameters Type Name Description Nullable obj the value to serialize Object parent the object which owns obj Returns Type Description Value a Value tree representing obj . Overrides IPA.Config.Stores.ValueConverter>.ToValue(System.Nullable, 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[])"
},
"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.Converter.html": {
"href": "api/IPA.Config.Stores.Converters.Converter.html",
"title": "Class Converter",
"keywords": "Class Converter Provides utility functions for custom converters. Inheritance Object Converter Inherited Members 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 static class Converter Methods | Improve this Doc View Source FloatValue(Value) Gets the floaing point value of a Value , coercing an Integer if necessary, or null if val is not an Integer or FloatingPoint . Declaration public static decimal? FloatValue(Value val) Parameters Type Name Description Value val the Value to get the floaing point value of Returns Type Description Nullable < Decimal > the floaing point value of val , or null | Improve this Doc View Source IntValue(Value) Gets the integral value of a Value , coercing a FloatingPoint if necessary, or null if val is not an Integer or FloatingPoint . Declaration public static long? IntValue(Value val) Parameters Type Name Description Value val the Value to get the integral value of Returns Type Description Nullable < Int64 > the integral value of val , or null"
},
"api/IPA.Config.Stores.Converters.Converter-1.html": {
"href": "api/IPA.Config.Stores.Converters.Converter-1.html",
"title": "Class Converter",
"keywords": "Class Converter Provides generic utilities for converters for certain types. Inheritance Object Converter Inherited Members 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 static class Converter Type Parameters Name Description T the type of the ValueConverter that this works on Properties | Improve this Doc View Source Default Gets the default ValueConverter for the current type. Declaration public static ValueConverter Default { get; } Property Value Type Description ValueConverter "
},
"api/IPA.Config.Stores.Attributes.html": {
"href": "api/IPA.Config.Stores.Attributes.html",
"title": "",
"keywords": "Classes IgnoreAttribute Causes a field or property in an object being wrapped by Generated(Config, Boolean) to be ignored during serialization and deserialization. NonNullableAttribute Indicates that a field or property in an object being wrapped by Generated(Config, Boolean) that would otherwise be nullable (i.e. a reference type or a Nullable type) should never be null, and the member will be ignored if the deserialized value is null . 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. 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."
},
"api/IPA.Config.Data.Value.html": {
"href": "api/IPA.Config.Data.Value.html",
"title": "Class Value",
"keywords": "Class Value A base value type for config data abstract representations, to be serialized with an IConfigProvider . If a Value is null , then that represents just that: a null in whatever serialization is being used. Also contains factory functions for all derived types. Inheritance Object Value Boolean FloatingPoint Integer List Map Text Inherited Members 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 abstract class Value Methods | Improve this Doc View Source Bool(Boolean) Creates a new Boolean wrapping a Boolean . Declaration public static Boolean Bool(bool val) Parameters Type Name Description Boolean val the value to wrap Returns Type Description Boolean a Boolean wrapping val See Also From(Boolean) | Improve this Doc View Source Float(Decimal) Creates a new FloatingPoint wrapping a Decimal . Declaration public static FloatingPoint Float(decimal val) Parameters Type Name Description Decimal val the value to wrap Returns Type Description FloatingPoint a FloatingPoint wrapping val See Also From(Decimal) | Improve this Doc View Source From(Boolean) Creates a new Value wrapping a Boolean . Declaration public static Boolean From(bool val) Parameters Type Name Description Boolean val the value to wrap Returns Type Description Boolean a Boolean wrapping val See Also Bool(Boolean) | Improve this Doc View Source From(IDictionary) Creates a new Map holding the content of an IDictionary of String to Value . Declaration public static Map From(IDictionary vals) Parameters Type Name Description IDictionary < String , Value > vals the dictionary of Value s to initialize the Map wtih Returns Type Description Map a Map containing the content of vals See Also Map() From(IEnumerable>) | Improve this Doc View Source From(IEnumerable) Creates a new List holding the content of an IEnumerable of Value . Declaration public static List From(IEnumerable vals) Parameters Type Name Description IEnumerable < Value > vals the Value s to initialize the List with Returns Type Description List a List containing the content of vals See Also List() | Improve this Doc View Source From(IEnumerable>) Creates a new Map holding the content of an IEnumerable of KeyValuePair of String to Value . Declaration public static Map From(IEnumerable> vals) Parameters Type Name Description IEnumerable < KeyValuePair < String , Value >> vals the enumerable of KeyValuePair of name to Value Returns Type Description Map a Map containing the content of vals See Also Map() From(IDictionary) | Improve this Doc View Source From(Decimal) Creates a new Value wrapping a Double . Declaration public static FloatingPoint From(decimal val) Parameters Type Name Description Decimal val the value to wrap Returns Type Description FloatingPoint a FloatingPoint wrapping val See Also Float(Decimal) | Improve this Doc View Source From(Int64) Creates a new Value wrapping a Int64 . Declaration public static Integer From(long val) Parameters Type Name Description Int64 val the value to wrap Returns Type Description Integer a Integer wrapping val See Also Integer(Int64) | Improve this Doc View Source From(String) Creates a new Value representing a String . Declaration public static Text From(string val) Parameters Type Name Description String val the value to wrap Returns Type Description Text a Text wrapping val See Also Text(String) | Improve this Doc View Source Integer(Int64) Creates a new Integer wrapping a Int64 . Declaration public static Integer Integer(long val) Parameters Type Name Description Int64 val the value to wrap Returns Type Description Integer a Integer wrapping val See Also From(Int64) | Improve this Doc View Source List() Creates an empty List() . Declaration public static List List() Returns Type Description List an empty List() See Also From(IEnumerable) | Improve this Doc View Source Map() Creates an empty Map() . Declaration public static Map Map() Returns Type Description Map an empty Map() See Also From(IDictionary) From(IEnumerable>) | Improve this Doc View Source Null() Creates a Null Value . Declaration public static Value Null() Returns Type Description Value null | Improve this Doc View Source Text(String) Creates a new Text object wrapping a String . Declaration public static Text Text(string val) Parameters Type Name Description String val the value to wrap Returns Type Description Text a Text wrapping val See Also From(String) | Improve this Doc View Source ToString() Converts this Value into a human-readable format. Declaration public abstract override string ToString() Returns Type Description String a human-readable string containing the value provided Overrides Object.ToString() 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.Data.Integer.html": {
"href": "api/IPA.Config.Data.Integer.html",
"title": "Class Integer",
"keywords": "Class Integer A Value representing an integer. This may hold a Int64 's worth of data. Inheritance Object Value Integer 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 Integer : Value Properties | Improve this Doc View Source Value The actual value of the Integer object. Declaration public long Value { get; set; } Property Value Type Description Int64 Methods | Improve this Doc View Source AsFloat() Coerces this Integer into a FloatingPoint . Declaration public FloatingPoint AsFloat() Returns Type Description FloatingPoint a FloatingPoint representing the closest approximation of Value | Improve this Doc View Source ToString() Converts this Value into a human-readable format. Declaration public override string ToString() Returns Type Description String the result of Value.ToString() Overrides Value.ToString() 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.ConfigProvider.html": {
"href": "api/IPA.Config.ConfigProvider.html",
"title": "Class ConfigProvider",
"keywords": "Class ConfigProvider A wrapper for an IConfigProvider and the FileInfo to use with it. Inheritance Object ConfigProvider 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 ConfigProvider Methods | Improve this Doc View Source Load() Loads a Value from disk in whatever format this provider provides and returns it. Declaration public Value Load() Returns Type Description Value the Value loaded | Improve this Doc View Source Store(Value) Stores the Value given to disk in the format specified. Declaration public void Store(Value value) Parameters Type Name Description Value value the Value to store 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.html": {
"href": "api/BSIPA_ModList.UI.ViewControllers.html",
"title": "",
"keywords": "Classes MarkdownView A UI component that renders CommonMark Markdown in-game."
},
"api/IPA.html": {
"href": "api/IPA.html",
"title": "",
"keywords": "Classes InitAttribute Marks a method or a constructor as an inialization method. OnDisableAttribute Indicates that the target method should be called when the plugin is disabled. OnEnableAttribute Indicates that the target method should be called when the plugin is enabled. OnExitAttribute Indicates that the target method should be called when the game exits. OnStartAttribute Indicates that the target method should be called when the game starts. PluginAttribute Marks a class as being a BSIPA plugin. Enums RuntimeOptions Options that a plugin must specify to describe how it expects to be run."
},
"api/IPA.Utilities.html": {
"href": "api/IPA.Utilities.html",
"title": "",
"keywords": "Classes AlmostVersion A type that wraps SemVer.Version so that the string of the version is stored when the string is not a valid SemVer.Version . 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. 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. Enums AlmostVersion.StoredAs Represents a storage type of either parsed SemVer.Version 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.Ref.html": {
"href": "api/IPA.Utilities.Ref.html",
"title": "Class Ref",
"keywords": "Class Ref Utilities to create Ref using type inference. Inheritance Object Ref 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 Ref Methods | Improve this Doc View Source Create(T) Creates a Ref . Declaration public static Ref Create(T val) Parameters Type Name Description T val the default value. Returns Type Description Ref the new Ref . Type Parameters Name Description T the type to reference."
},
"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.html": {
"href": "api/IPA.Logging.html",
"title": "",
"keywords": "Classes Logger The logger base class. Provides the format for console logs. LoggerExtensions A class providing extensions for various loggers. LogPrinter The log printer's base class. StandardLogger The default (and standard) Logger implementation. Enums Logger.Level An enum specifying the level of the message. Resembles Syslog. Logger.LogLevel An enum providing log level filters."
},
"api/IPA.Logging.Printers.GZFilePrinter.html": {
"href": "api/IPA.Logging.Printers.GZFilePrinter.html",
"title": "Class GZFilePrinter",
"keywords": "Class GZFilePrinter A LogPrinter abstract class that provides the utilities to write to a GZip file. Inheritance Object LogPrinter GZFilePrinter GlobalLogFilePrinter PluginLogFilePrinter PluginSubLogPrinter Implements IDisposable Inherited Members LogPrinter.Filter LogPrinter.Print(Logger.Level, DateTime, String, String) 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 abstract class GZFilePrinter : LogPrinter, IDisposable Fields | Improve this Doc View Source FileWriter The StreamWriter that writes to the GZip file. Declaration protected StreamWriter FileWriter Field Value Type Description StreamWriter the writer to the underlying filestream Methods | Improve this Doc View Source Dispose() Declaration public void Dispose() | Improve this Doc View Source Dispose(Boolean) Disposes the file printer. Declaration protected virtual void Dispose(bool disposing) Parameters Type Name Description Boolean disposing does nothing | Improve this Doc View Source EndPrint() Called at the end of any print session. Declaration public override sealed void EndPrint() Overrides LogPrinter.EndPrint() | Improve this Doc View Source GetFileInfo() Gets the FileInfo for the file to write to. Declaration protected abstract FileInfo GetFileInfo() Returns Type Description FileInfo the file to write to | Improve this Doc View Source StartPrint() Called at the start of any print session. Declaration public override sealed void StartPrint() Overrides LogPrinter.StartPrint() 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.Logging.Printers.GlobalLogFilePrinter.html": {
"href": "api/IPA.Logging.Printers.GlobalLogFilePrinter.html",
"title": "Class GlobalLogFilePrinter",
"keywords": "Class GlobalLogFilePrinter A printer for all messages to a unified log location. Inheritance Object LogPrinter GZFilePrinter GlobalLogFilePrinter Implements IDisposable Inherited Members GZFilePrinter.FileWriter GZFilePrinter.StartPrint() GZFilePrinter.EndPrint() GZFilePrinter.Dispose() GZFilePrinter.Dispose(Boolean) 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 GlobalLogFilePrinter : GZFilePrinter, IDisposable Properties | Improve this Doc View Source Filter Provides a filter for this specific printer. Declaration public override Logger.LogLevel Filter { get; set; } Property Value Type Description Logger.LogLevel the filter level for this printer Overrides LogPrinter.Filter Methods | Improve this Doc View Source GetFileInfo() Gets the FileInfo for the target file. Declaration protected override FileInfo GetFileInfo() Returns Type Description FileInfo the target file to write to Overrides GZFilePrinter.GetFileInfo() | Improve this Doc View Source Print(Logger.Level, DateTime, String, String) Prints an entry to the associated file. 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) 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.Logging.Printers.ColorlessConsolePrinter.html": {
"href": "api/IPA.Logging.Printers.ColorlessConsolePrinter.html",
"title": "Class ColorlessConsolePrinter",
"keywords": "Class ColorlessConsolePrinter A colorless version of ColoredConsolePrinter , that indiscriminantly prints to standard out. Inheritance Object LogPrinter ColorlessConsolePrinter 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 ColorlessConsolePrinter : LogPrinter Properties | 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 level for this printer Overrides LogPrinter.Filter Methods | Improve this Doc View Source Print(Logger.Level, DateTime, String, String) Prints an entry to standard out. 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.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.Logger.Level.html": {
"href": "api/IPA.Logging.Logger.Level.html",
"title": "Enum Logger.Level",
"keywords": "Enum Logger.Level An enum specifying the level of the message. Resembles Syslog. Namespace : IPA.Logging Assembly : IPA.Loader.dll Syntax public enum Level : byte Fields Name Description Critical A critical error message. Debug A debug message. Error An error message. Info An informational message. None No associated level. These never get shown. Notice A notice. More significant than Info, but less than a warning. Trace A trace message. These are ignored incredibly early. Warning A warning message. Extension Methods ReflectionUtil.SetField(String, U) ReflectionUtil.GetField(String) ReflectionUtil.SetProperty(String, U) ReflectionUtil.GetProperty(String) ReflectionUtil.InvokeMethod(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 . 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.Loader.PluginMetadata.html": {
"href": "api/IPA.Loader.PluginMetadata.html",
"title": "Class PluginMetadata",
"keywords": "Class PluginMetadata A class which describes a loaded plugin. Inheritance Object PluginMetadata Inherited Members 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 class PluginMetadata Properties | Improve this Doc View Source Assembly The assembly the plugin was loaded from. Declaration public Assembly Assembly { get; } Property Value Type Description Assembly the loaded Assembly that contains the plugin main type | Improve this Doc View Source Features The features this plugin requests. Declaration public IReadOnlyList Features { get; } Property Value Type Description IReadOnlyList < Feature > the list of features requested by the plugin | Improve this Doc View Source File The file the plugin was loaded from. Declaration public FileInfo File { get; } Property Value Type Description FileInfo the file the plugin was loaded from | Improve this Doc View Source Id The BeatMods ID of the plugin, or null if it doesn't have one. Declaration public string Id { get; } Property Value Type Description String the updater ID of the plugin | Improve this Doc View Source IsBare Whether or not this metadata object represents a bare manifest. Declaration public bool IsBare { get; } Property Value Type Description Boolean true if it is bare, false otherwise | Improve this Doc View Source Name The human readable name of the plugin. Declaration public string Name { get; } Property Value Type Description String the name of the plugin | Improve this Doc View Source PluginType The TypeDefinition for the main type of the plugin. Declaration public TypeDefinition PluginType { get; } Property Value Type Description Mono.Cecil.TypeDefinition the Cecil definition for the plugin main type | Improve this Doc View Source RuntimeOptions The RuntimeOptions that the plugin specified in its PluginAttribute . Declaration public RuntimeOptions RuntimeOptions { get; } Property Value Type Description RuntimeOptions | Improve this Doc View Source Version The version of the plugin. Declaration public Version Version { get; } Property Value Type Description SemVer.Version the version of the plugin Methods | Improve this Doc View Source ToString() Gets all of the metadata as a readable string. Declaration public override string ToString() Returns Type Description String the readable printable metadata string Overrides Object.ToString() 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.Features.Feature.html": {
"href": "api/IPA.Loader.Features.Feature.html",
"title": "Class Feature",
"keywords": "Class Feature The root interface for a mod Feature. Inheritance Object Feature Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Loader.Features Assembly : IPA.Loader.dll Syntax public abstract class Feature Remarks Avoid storing any data in any subclasses. If you do, it may result in a failure to load the feature. Properties | Improve this Doc View Source InvalidMessage The message to be logged when the feature is not valid for a plugin. This should also be set whenever either BeforeLoad(PluginMetadata) or BeforeInit(PluginMetadata) returns false. Declaration public virtual string InvalidMessage { get; protected set; } Property Value Type Description String the message to show when the feature is marked invalid | Improve this Doc View Source StoreOnPlugin Defines whether or not this feature will be accessible from the plugin metadata once loaded. Declaration protected virtual bool StoreOnPlugin { get; } Property Value Type Description Boolean true if this Feature will be stored on the plugin metadata, false otherwise Methods | Improve this Doc View Source AfterInit(PluginMetadata) Called after a plugin has been fully initialized, whether or not there is an Init method. This should never throw an exception. Declaration public virtual void AfterInit(PluginMetadata plugin) Parameters Type Name Description PluginMetadata plugin the plugin that was just initialized | Improve this Doc View Source AfterInit(PluginMetadata, Object) Called after a plugin has been fully initialized, whether or not there is an Init method. This should never throw an exception. Declaration public virtual void AfterInit(PluginMetadata plugin, object pluginInstance) Parameters Type Name Description PluginMetadata plugin the plugin that was just initialized Object pluginInstance the instance of the plugin being initialized | Improve this Doc View Source BeforeInit(PluginMetadata) Called before a plugin's Init method is called. This will not be called if there is no Init method. This should never throw an exception. An exception will abort the loading of the plugin with an error. Declaration public virtual bool BeforeInit(PluginMetadata plugin) Parameters Type Name Description PluginMetadata plugin the plugin to be initialized Returns Type Description Boolean whether or not to call the Init method | Improve this Doc View Source BeforeLoad(PluginMetadata) Called before a plugin is loaded. This should never throw an exception. An exception will abort the loading of the plugin with an error. Declaration public virtual bool BeforeLoad(PluginMetadata plugin) Parameters Type Name Description PluginMetadata plugin the plugin about to be loaded Returns Type Description Boolean whether or not the plugin should be loaded Remarks The assembly will still be loaded, but the plugin will not be constructed if this returns false . Any features it defines, for example, will still be loaded. | Improve this Doc View Source Evaluate() Evaluates the Feature for use in conditional meta-Features. This should be re-calculated on every call, unless it can be proven to not change. This will be called on every feature that returns true from Initialize(PluginMetadata, String[]) Declaration public virtual bool Evaluate() Returns Type Description Boolean the truthiness of the Feature. | Improve this Doc View Source Initialize(PluginMetadata, String[]) Initializes the feature with the parameters provided in the definition. Note: When no parenthesis are provided, parameters is an empty array. Declaration public abstract bool Initialize(PluginMetadata meta, string[] parameters) Parameters Type Name Description PluginMetadata meta the metadata of the plugin that is being prepared String [] parameters the parameters passed to the feature definition, or null Returns Type Description Boolean true if the feature is valid for the plugin, false otherwise Remarks This gets called BEFORE your Init method. Returning false does not prevent the plugin from being loaded. It simply prevents the feature from being used. | Improve this Doc View Source RequireLoaded(PluginMetadata) Ensures a plugin's assembly is loaded. Do not use unless you need to. Declaration protected void RequireLoaded(PluginMetadata plugin) Parameters Type Name Description PluginMetadata plugin the plugin to ensure is loaded. 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.CannotRuntimeDisableException.html": {
"href": "api/IPA.Loader.CannotRuntimeDisableException.html",
"title": "Class CannotRuntimeDisableException",
"keywords": "Class CannotRuntimeDisableException Indicates that a plugin cannot be disabled at runtime. Generally not considered an error, however. Inheritance Object Exception CannotRuntimeDisableException Implements ISerializable _Exception Inherited Members Exception.GetBaseException() Exception.ToString() Exception.GetObjectData(SerializationInfo, StreamingContext) Exception.GetType() Exception.Message Exception.Data Exception.InnerException Exception.TargetSite Exception.StackTrace Exception.HelpLink Exception.Source Exception.HResult Exception.SerializeObjectState Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.MemberwiseClone() Namespace : IPA.Loader Assembly : IPA.Loader.dll Syntax [Serializable] public class CannotRuntimeDisableException : Exception, ISerializable, _Exception Constructors | Improve this Doc View Source CannotRuntimeDisableException(PluginMetadata) Creates an exception for the given plugin metadata. Declaration public CannotRuntimeDisableException(PluginMetadata plugin) Parameters Type Name Description PluginMetadata plugin the plugin that cannot be disabled | Improve this Doc View Source CannotRuntimeDisableException(SerializationInfo, StreamingContext) Creates an exception from a serialization context. Not currently implemented. Declaration protected CannotRuntimeDisableException(SerializationInfo serializationInfo, StreamingContext streamingContext) Parameters Type Name Description SerializationInfo serializationInfo StreamingContext streamingContext Exceptions Type Condition NotImplementedException Properties | Improve this Doc View Source Plugin The plugin that cannot be disabled at runtime. Declaration public PluginMetadata Plugin { get; } Property Value Type Description PluginMetadata Implements System.Runtime.Serialization.ISerializable System.Runtime.InteropServices._Exception 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.html": {
"href": "api/IPA.Config.Stores.html",
"title": "",
"keywords": "Classes GeneratedExtension 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.ValueConverter-1.html": {
"href": "api/IPA.Config.Stores.ValueConverter-1.html",
"title": "Class ValueConverter",
"keywords": "Class ValueConverter A strongly-typed IValueConverter . Inheritance Object ValueConverter CollectionConverter CustomObjectConverter NullableConverter AlmostVersionConverter Implements IValueConverter Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores Assembly : IPA.Loader.dll Syntax public abstract class ValueConverter : IValueConverter Type Parameters Name Description T the type of object to handle Methods | Improve this Doc View Source FromValue(Value, Object) Converts the given Value to the object type handled by this converter. Declaration public abstract T FromValue(Value value, object parent) Parameters Type Name Description Value value the Value to deserialize Object parent the object that will own the result Returns Type Description T the deserialized object See Also FromValue ( Value , Object ) | Improve this Doc View Source ToValue(T, Object) Converts the given object to a Value . Declaration public abstract Value ToValue(T obj, object parent) Parameters Type Name Description T obj the object to convert Object parent the owning object of obj Returns Type Description Value a representation of obj as a Value structure See Also ToValue ( Object , Object ) Explicit Interface Implementations | Improve this Doc View Source IValueConverter.FromValue(Value, Object) Declaration object IValueConverter.FromValue(Value value, object parent) Parameters Type Name Description Value value Object parent Returns Type Description Object | Improve this Doc View Source IValueConverter.ToValue(Object, Object) Declaration Value IValueConverter.ToValue(object obj, object parent) Parameters Type Name Description Object obj Object parent Returns Type Description Value | Improve this Doc View Source IValueConverter.Type Declaration Type IValueConverter.Type { get; } Returns Type Description Type 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 IValueConverter"
},
"api/IPA.Config.Stores.Converters.html": {
"href": "api/IPA.Config.Stores.Converters.html",
"title": "",
"keywords": "Classes CollectionConverter A base class for all ICollection type converters, providing most of the functionality. CollectionConverter A CollectionConverter which default constructs a converter for use as the value converter. Converter Provides utility functions for custom converters. Converter