From 5b2ed8de6f519fb108c7aff296db3283f843dc3b Mon Sep 17 00:00:00 2001
From: nike4613 This function will be called whenever attempting to resolve an image URI, to ensure that the image exists in the embedded assembly.MarkdownView()
@@ -407,7 +407,7 @@ public class MarkdownView : MonoBehaviour
Improve this Doc
- View Source
+ View Source
HasEmbeddedImage
Markdown
@@ -475,7 +475,7 @@ public class MarkdownView : MonoBehaviour
Improve this Doc
- View Source
+ View Source
rectTransform
@@ -550,7 +550,7 @@ public class MarkdownView : MonoBehaviour
Improve this Doc
NameAttribute(String)
@@ -288,7 +288,7 @@ public sealed class NameAttribute : Attribute, _Attribute
Improve this Doc
- View Source
+ View Source
Name
@@ -361,7 +361,7 @@ public sealed class NameAttribute : Attribute, _Attribute
Improve this Doc
PreferAttribute(String[])
@@ -289,7 +289,7 @@ public sealed class PreferAttribute : Attribute, _Attribute
Improve this Doc
- View Source
+ View Source
PreferenceOrder
@@ -362,7 +362,7 @@ public sealed class PreferAttribute : Attribute, _Attribute
Improve this Doc
tpy type to assign to ConverterType
+the type to assign to ConverterType
parent
.<
Improve this Doc
- View Source
+ View Source
parent
Improve this Doc
- View Source
+ View Source
ToValue(TCollection, Object)
@@ -537,7 +537,7 @@ with the parent parent
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.CollectionConverter-3.html b/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.CollectionConverter-3.html
index 0c0e8c70..08377b4d 100644
--- a/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.CollectionConverter-3.html
+++ b/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.CollectionConverter-3.html
@@ -191,7 +191,7 @@
Improve this Doc
- View Source
+ View Source
CollectionConverter()
@@ -258,7 +258,7 @@ with a default-constructed Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.Converter-1.html b/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.Converter-1.html
index 358f0dac..03d6c572 100644
--- a/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.Converter-1.html
+++ b/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.Converter-1.html
@@ -145,7 +145,7 @@
Improve this Doc
- View Source
+ View Source
Default
@@ -182,7 +182,7 @@
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.Converter.html b/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.Converter.html
index 0d6818cf..f8177dd4 100644
--- a/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.Converter.html
+++ b/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.Converter.html
@@ -129,7 +129,7 @@
Improve this Doc
- View Source
+ View Source
FloatValue(Value)
@@ -180,7 +180,7 @@ or null if Improve this Doc
- View Source
+ View Source
IntValue(Value)
@@ -237,7 +237,7 @@ or null if Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.CustomObjectConverter-1.html b/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.CustomObjectConverter-1.html
index aef1fb61..2127e3e6 100644
--- a/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.CustomObjectConverter-1.html
+++ b/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.CustomObjectConverter-1.html
@@ -159,7 +159,7 @@
Improve this Doc
- View Source
+ View Source
Deserialize(Value, Object)
@@ -219,7 +219,7 @@
Improve this Doc
- View Source
+ View Source
FromValue(Value, Object)
@@ -281,7 +281,7 @@
Improve this Doc
- View Source
+ View Source
Serialize(T, Object)
@@ -341,7 +341,7 @@
Improve this Doc
- View Source
+ View Source
ToValue(T, Object)
@@ -448,7 +448,7 @@
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.IListConverter-1.html b/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.IListConverter-1.html
index c51f011e..80d42efd 100644
--- a/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.IListConverter-1.html
+++ b/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.IListConverter-1.html
@@ -182,7 +182,7 @@
Improve this Doc
- View Source
+ View Source
IListConverter()
@@ -202,7 +202,7 @@
Improve this Doc
- View Source
+ View Source
IListConverter(ValueConverter<T>)
@@ -238,7 +238,7 @@
Improve this Doc
- View Source
+ View Source
Create(Int32, Object)
@@ -341,7 +341,7 @@
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.IListConverter-2.html b/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.IListConverter-2.html
index a0dbdca2..0ac0aa19 100644
--- a/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.IListConverter-2.html
+++ b/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.IListConverter-2.html
@@ -190,7 +190,7 @@
Improve this Doc
- View Source
+ View Source
IListConverter()
@@ -257,7 +257,7 @@ with a default-constructed Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.ISetConverter-1.html b/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.ISetConverter-1.html
index babf30eb..aa9e2579 100644
--- a/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.ISetConverter-1.html
+++ b/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.ISetConverter-1.html
@@ -182,7 +182,7 @@
Improve this Doc
- View Source
+ View Source
ISetConverter()
@@ -202,7 +202,7 @@
Improve this Doc
- View Source
+ View Source
ISetConverter(ValueConverter<T>)
@@ -238,7 +238,7 @@
Improve this Doc
- View Source
+ View Source
Create(Int32, Object)
@@ -341,7 +341,7 @@
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.ISetConverter-2.html b/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.ISetConverter-2.html
index df0192ac..08b22bc3 100644
--- a/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.ISetConverter-2.html
+++ b/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.ISetConverter-2.html
@@ -190,7 +190,7 @@
Improve this Doc
- View Source
+ View Source
ISetConverter()
@@ -257,7 +257,7 @@ with a default-constructed Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.ListConverter-1.html b/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.ListConverter-1.html
index c025b841..2827bb75 100644
--- a/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.ListConverter-1.html
+++ b/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.ListConverter-1.html
@@ -182,7 +182,7 @@
Improve this Doc
- View Source
+ View Source
ListConverter()
@@ -202,7 +202,7 @@
Improve this Doc
- View Source
+ View Source
ListConverter(ValueConverter<T>)
@@ -238,7 +238,7 @@
Improve this Doc
- View Source
+ View Source
Create(Int32, Object)
@@ -341,7 +341,7 @@
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.ListConverter-2.html b/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.ListConverter-2.html
index 102fb072..3a28b9d3 100644
--- a/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.ListConverter-2.html
+++ b/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.ListConverter-2.html
@@ -190,7 +190,7 @@
Improve this Doc
- View Source
+ View Source
ListConverter()
@@ -257,7 +257,7 @@ with a default-constructed Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.NullableConverter-1.html b/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.NullableConverter-1.html
index a92e3543..605ef666 100644
--- a/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.NullableConverter-1.html
+++ b/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.NullableConverter-1.html
@@ -160,7 +160,7 @@
Improve this Doc
- View Source
+ View Source
NullableConverter()
@@ -183,7 +183,7 @@ Equivalent to
Improve this Doc
- View Source
+ View Source
NullableConverter(ValueConverter<T>)
@@ -219,7 +219,7 @@ Equivalent to
Improve this Doc
- View Source
+ View Source
FromValue(Value, Object)
@@ -277,7 +277,7 @@ Equivalent to
Improve this Doc
- View Source
+ View Source
ToValue(Nullable<T>, Object)
@@ -376,7 +376,7 @@ Equivalent to
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.NullableConverter-2.html b/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.NullableConverter-2.html
index 8715b44e..ac51a566 100644
--- a/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.NullableConverter-2.html
+++ b/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.NullableConverter-2.html
@@ -172,7 +172,7 @@ to use as the underlying converter. Use this in the Improve this Doc
- View Source
+ View Source
NullableConverter()
@@ -237,7 +237,7 @@ to use as the underlying converter. Use this in the Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Config.Stores.GeneratedExtension.html b/branch/4.0.0-beta/api/IPA.Config.Stores.GeneratedExtension.html
index c1cb19d8..ff116f50 100644
--- a/branch/4.0.0-beta/api/IPA.Config.Stores.GeneratedExtension.html
+++ b/branch/4.0.0-beta/api/IPA.Config.Stores.GeneratedExtension.html
@@ -130,7 +130,7 @@ config stores.
Improve this Doc
- View Source
+ View Source
AssemblyVisibilityTarget
The name of the assembly that internals must be visible to to allow internal protection.
@@ -162,7 +162,7 @@ config stores.
Improve this Doc
- View Source
+ View Source
Generated<T>(Config, Boolean)
@@ -276,7 +276,7 @@ TODO: describe details of generated stores
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Config.Stores.IValueConverter.html b/branch/4.0.0-beta/api/IPA.Config.Stores.IValueConverter.html
index 432e4e2a..eb374eee 100644
--- a/branch/4.0.0-beta/api/IPA.Config.Stores.IValueConverter.html
+++ b/branch/4.0.0-beta/api/IPA.Config.Stores.IValueConverter.html
@@ -117,7 +117,7 @@ Converters do not need to perform null checks, as the serializer and de
Improve this Doc
- View Source
+ View Source
Type
@@ -150,7 +150,7 @@ Converters do not need to perform null checks, as the serializer and de
Improve this Doc
- View Source
+ View Source
FromValue(Value, Object)
@@ -206,7 +206,7 @@ Converters do not need to perform null checks, as the serializer and de
Improve this Doc
- View Source
+ View Source
ToValue(Object, Object)
@@ -299,7 +299,7 @@ Converters do not need to perform null checks, as the serializer and de
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Config.Stores.ValueConverter-1.html b/branch/4.0.0-beta/api/IPA.Config.Stores.ValueConverter-1.html
index 4f6e9fe2..61547521 100644
--- a/branch/4.0.0-beta/api/IPA.Config.Stores.ValueConverter-1.html
+++ b/branch/4.0.0-beta/api/IPA.Config.Stores.ValueConverter-1.html
@@ -153,7 +153,7 @@
Improve this Doc
- View Source
+ View Source
FromValue(Value, Object)
@@ -213,7 +213,7 @@
Improve this Doc
- View Source
+ View Source
ToValue(T, Object)
@@ -275,7 +275,7 @@
Improve this Doc
- View Source
+ View Source
IValueConverter.FromValue(Value, Object)
@@ -327,7 +327,7 @@
Improve this Doc
- View Source
+ View Source
IValueConverter.ToValue(Object, Object)
@@ -379,7 +379,7 @@
Improve this Doc
- View Source
+ View Source
IValueConverter.Type
@@ -454,7 +454,7 @@
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.InitAttribute.html b/branch/4.0.0-beta/api/IPA.InitAttribute.html
index e33f537f..3595024d 100644
--- a/branch/4.0.0-beta/api/IPA.InitAttribute.html
+++ b/branch/4.0.0-beta/api/IPA.InitAttribute.html
@@ -304,7 +304,7 @@ Parameter injection is done with Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Loader.Features.Feature.html b/branch/4.0.0-beta/api/IPA.Loader.Features.Feature.html
index 1579470f..dc6c8995 100644
--- a/branch/4.0.0-beta/api/IPA.Loader.Features.Feature.html
+++ b/branch/4.0.0-beta/api/IPA.Loader.Features.Feature.html
@@ -132,7 +132,7 @@
Improve this Doc
- View Source
+ View Source
InvalidMessage
@@ -165,7 +165,7 @@ This should also be set whenever either Improve this Doc
- View Source
+ View Source
StoreOnPlugin
@@ -199,7 +199,7 @@ This should also be set whenever either Improve this Doc
- View Source
+ View Source
AfterInit(PluginMetadata)
@@ -233,7 +233,7 @@ This should also be set whenever either Improve this Doc
- View Source
+ View Source
AfterInit(PluginMetadata, Object)
@@ -273,7 +273,7 @@ This should also be set whenever either Improve this Doc
- View Source
+ View Source
BeforeInit(PluginMetadata)
@@ -323,7 +323,7 @@ This should also be set whenever either Improve this Doc
- View Source
+ View Source
BeforeLoad(PluginMetadata)
@@ -377,7 +377,7 @@ Any features it defines, for example, will still be loaded.
Improve this Doc
- View Source
+ View Source
Evaluate()
@@ -410,7 +410,7 @@ Any features it defines, for example, will still be loaded.
Improve this Doc
- View Source
+ View Source
Initialize(PluginMetadata, String[])
@@ -471,7 +471,7 @@ Any features it defines, for example, will still be loaded.
Improve this Doc
- View Source
+ View Source
RequireLoaded(PluginMetadata)
@@ -542,7 +542,7 @@ Any features it defines, for example, will still be loaded.
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Loader.PluginInitInjector.InjectParameter.html b/branch/4.0.0-beta/api/IPA.Loader.PluginInitInjector.InjectParameter.html
index cf69da8d..16f20779 100644
--- a/branch/4.0.0-beta/api/IPA.Loader.PluginInitInjector.InjectParameter.html
+++ b/branch/4.0.0-beta/api/IPA.Loader.PluginInitInjector.InjectParameter.html
@@ -181,7 +181,7 @@
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Loader.PluginInitInjector.html b/branch/4.0.0-beta/api/IPA.Loader.PluginInitInjector.html
index 05f46cf6..7b4f3d7a 100644
--- a/branch/4.0.0-beta/api/IPA.Loader.PluginInitInjector.html
+++ b/branch/4.0.0-beta/api/IPA.Loader.PluginInitInjector.html
@@ -140,7 +140,7 @@ For all of the default injectors, only one of each will be generated, and any la
Improve this Doc
- View Source
+ View Source
AddInjector(Type, PluginInitInjector.InjectParameter)
@@ -186,7 +186,7 @@ For all of the default injectors, only one of each will be generated, and any la
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Loader.PluginManager.PluginDisableDelegate.html b/branch/4.0.0-beta/api/IPA.Loader.PluginManager.PluginDisableDelegate.html
index d7ef3fd7..d8ee9601 100644
--- a/branch/4.0.0-beta/api/IPA.Loader.PluginManager.PluginDisableDelegate.html
+++ b/branch/4.0.0-beta/api/IPA.Loader.PluginManager.PluginDisableDelegate.html
@@ -159,7 +159,7 @@
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Loader.PluginManager.PluginEnableDelegate.html b/branch/4.0.0-beta/api/IPA.Loader.PluginManager.PluginEnableDelegate.html
index 209e9450..7a024e4a 100644
--- a/branch/4.0.0-beta/api/IPA.Loader.PluginManager.PluginEnableDelegate.html
+++ b/branch/4.0.0-beta/api/IPA.Loader.PluginManager.PluginEnableDelegate.html
@@ -159,7 +159,7 @@
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Loader.PluginManager.html b/branch/4.0.0-beta/api/IPA.Loader.PluginManager.html
index e867d251..fc6ac4e9 100644
--- a/branch/4.0.0-beta/api/IPA.Loader.PluginManager.html
+++ b/branch/4.0.0-beta/api/IPA.Loader.PluginManager.html
@@ -129,7 +129,7 @@
Improve this Doc
- View Source
+ View Source
AllPlugins
@@ -161,7 +161,7 @@
Improve this Doc
- View Source
+ View Source
DisabledPlugins
@@ -193,7 +193,7 @@
Improve this Doc
- View Source
+ View Source
Plugins
@@ -228,7 +228,7 @@ public static IEnumerable<IPlugin> Plugins { get; }
Improve this Doc
- View Source
+ View Source
GetDisabledPlugin(String)
@@ -278,7 +278,7 @@ public static IEnumerable<IPlugin> Plugins { get; }
Improve this Doc
- View Source
+ View Source
GetDisabledPluginFromId(String)
@@ -328,7 +328,7 @@ public static IEnumerable<IPlugin> Plugins { get; }
Improve this Doc
- View Source
+ View Source
GetPlugin(String)
@@ -378,7 +378,7 @@ public static IEnumerable<IPlugin> Plugins { get; }
Improve this Doc
- View Source
+ View Source
GetPluginFromId(String)
@@ -428,7 +428,7 @@ public static IEnumerable<IPlugin> Plugins { get; }
Improve this Doc
- View Source
+ View Source
IsDisabled(PluginMetadata)
@@ -478,7 +478,7 @@ public static IEnumerable<IPlugin> Plugins { get; }
Improve this Doc
- View Source
+ View Source
IsEnabled(PluginMetadata)
@@ -530,7 +530,7 @@ public static IEnumerable<IPlugin> Plugins { get; }
Improve this Doc
- View Source
+ View Source
PluginDisabled
Called whenever a plugin is disabled.
@@ -560,7 +560,7 @@ public static IEnumerable<IPlugin> Plugins { get; }
Improve this Doc
- View Source
+ View Source
PluginEnabled
Called whenever a plugin is enabled.
@@ -596,7 +596,7 @@ public static IEnumerable<IPlugin> Plugins { get; }
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Loader.PluginMetadata.html b/branch/4.0.0-beta/api/IPA.Loader.PluginMetadata.html
index 4281d5a7..ed4b7f8a 100644
--- a/branch/4.0.0-beta/api/IPA.Loader.PluginMetadata.html
+++ b/branch/4.0.0-beta/api/IPA.Loader.PluginMetadata.html
@@ -126,7 +126,7 @@
Improve this Doc
- View Source
+ View Source
Assembly
@@ -158,7 +158,7 @@
Improve this Doc
- View Source
+ View Source
Features
@@ -190,7 +190,7 @@
Improve this Doc
- View Source
+ View Source
File
@@ -222,7 +222,7 @@
Improve this Doc
- View Source
+ View Source
Id
@@ -254,7 +254,7 @@
Improve this Doc
- View Source
+ View Source
IsAttributePlugin
@@ -286,7 +286,7 @@
Improve this Doc
- View Source
+ View Source
IsBare
@@ -318,7 +318,7 @@
Improve this Doc
- View Source
+ View Source
Name
@@ -350,7 +350,7 @@
Improve this Doc
- View Source
+ View Source
PluginType
@@ -382,7 +382,7 @@
Improve this Doc
- View Source
+ View Source
RuntimeOptions
@@ -413,7 +413,7 @@
Improve this Doc
- View Source
+ View Source
Version
@@ -447,7 +447,7 @@
Improve this Doc
- View Source
+ View Source
ToString()
@@ -518,7 +518,7 @@
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Logging.LogPrinter.html b/branch/4.0.0-beta/api/IPA.Logging.LogPrinter.html
index 1ec38f4a..f633c7d5 100644
--- a/branch/4.0.0-beta/api/IPA.Logging.LogPrinter.html
+++ b/branch/4.0.0-beta/api/IPA.Logging.LogPrinter.html
@@ -132,7 +132,7 @@
Improve this Doc
- View Source
+ View Source
Filter
@@ -166,7 +166,7 @@
Improve this Doc
- View Source
+ View Source
EndPrint()
@@ -183,7 +183,7 @@ Use this to dispose file handles and the like.
Improve this Doc
- View Source
+ View Source
Print(Logger.Level, DateTime, String, String)
@@ -235,7 +235,7 @@ Use this to dispose file handles and the like.
Improve this Doc
- View Source
+ View Source
StartPrint()
@@ -289,7 +289,7 @@ Use this to create file handles and the like.
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Logging.Logger.Level.html b/branch/4.0.0-beta/api/IPA.Logging.Logger.Level.html
index 9a69e883..686f12f7 100644
--- a/branch/4.0.0-beta/api/IPA.Logging.Logger.Level.html
+++ b/branch/4.0.0-beta/api/IPA.Logging.Logger.Level.html
@@ -187,7 +187,7 @@
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Logging.Logger.LogLevel.html b/branch/4.0.0-beta/api/IPA.Logging.Logger.LogLevel.html
index 43b55927..03cadf65 100644
--- a/branch/4.0.0-beta/api/IPA.Logging.Logger.LogLevel.html
+++ b/branch/4.0.0-beta/api/IPA.Logging.Logger.LogLevel.html
@@ -223,7 +223,7 @@ public enum LogLevel : byte
Improve this Doc
Log(Level.Critical, e);
Improve this Doc
- View Source
+ View Source
Log(Level.Critical, message);
Improve this Doc
- View Source
+ View Source
Log(Level.Debug, e);
Improve this Doc
- View Source
+ View Source
Log(Level.Debug, message);
Improve this Doc
- View Source
+ View Source
Log(Level.Error, e);
Improve this Doc
- View Source
+ View Source
Log(Level.Error, message);
Improve this Doc
- View Source
+ View Source
Log(Level.Info, e);
Improve this Doc
- View Source
+ View Source
Log(Level.Info, message);
Improve this Doc
- View Source
+ View Source
Log(Level.Info, message);
Improve this Doc
- View Source
+ View Source
Log(Level.Info, message);
Improve this Doc
- View Source
+ View Source
Log(Level.Notice, e);
Improve this Doc
- View Source
+ View Source
Log(Level.Notice, message);
Improve this Doc
- View Source
+ View Source
Log(Level.Trace, e);
Improve this Doc
- View Source
+ View Source
Log(Level.Trace, message);
Improve this Doc
- View Source
+ View Source
Log(Level.Warning, e);
Improve this Doc
- View Source
+ View Source
Log(Level.Warning, message);
Improve this Doc
The StreamWriter that writes to the GZip file.
@@ -176,7 +176,7 @@ Improve this Doc - View Source + View SourceImprove this Doc
- View Source
+ View Source
SemverValue
@@ -310,7 +310,7 @@ the storage mode specified in Improve this Doc
- View Source
+ View Source
StorageMode
@@ -342,7 +342,7 @@ the storage mode specified in Improve this Doc
- View Source
+ View Source
StringValue
@@ -376,7 +376,7 @@ the storage mode specified in Improve this Doc
- View Source
+ View Source
CompareTo(AlmostVersion)
@@ -434,7 +434,7 @@ or Improve this Doc
- View Source
+ View Source
CompareTo(Version)
@@ -492,7 +492,7 @@ be thrown.
Improve this Doc
- View Source
+ View Source
Equals(Object)
@@ -551,7 +551,7 @@ be thrown.
Improve this Doc
- View Source
+ View Source
GetHashCode()
@@ -589,7 +589,7 @@ be thrown.
Improve this Doc
- View Source
+ View Source
ToString()
@@ -630,7 +630,7 @@ stored as a SemVer.Version, it is equivalent to callin
Improve this Doc
- View Source
+ View Source
Equality(AlmostVersion, AlmostVersion)
@@ -695,7 +695,7 @@ does not.
Improve this Doc
- View Source
+ View Source
Implicit(AlmostVersion to Version)
@@ -749,7 +749,7 @@ If not applicable, returns null
Improve this Doc
- View Source
+ View Source
Implicit(Version to AlmostVersion)
@@ -802,7 +802,7 @@ If not applicable, returns null
Improve this Doc
- View Source
+ View Source
Inequality(AlmostVersion, AlmostVersion)
@@ -906,7 +906,7 @@ If not applicable, returns null
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Utilities.AlmostVersionConverter.html b/branch/4.0.0-beta/api/IPA.Utilities.AlmostVersionConverter.html
index 4338a323..9bb440e1 100644
--- a/branch/4.0.0-beta/api/IPA.Utilities.AlmostVersionConverter.html
+++ b/branch/4.0.0-beta/api/IPA.Utilities.AlmostVersionConverter.html
@@ -143,7 +143,7 @@
Improve this Doc
- View Source
+ View Source
FromValue(Value, Object)
@@ -200,7 +200,7 @@
Improve this Doc
- View Source
+ View Source
ToValue(AlmostVersion, Object)
@@ -299,7 +299,7 @@
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Utilities.Async.SingleThreadTaskScheduler.html b/branch/4.0.0-beta/api/IPA.Utilities.Async.SingleThreadTaskScheduler.html
index 338842fe..72162f13 100644
--- a/branch/4.0.0-beta/api/IPA.Utilities.Async.SingleThreadTaskScheduler.html
+++ b/branch/4.0.0-beta/api/IPA.Utilities.Async.SingleThreadTaskScheduler.html
@@ -158,7 +158,7 @@
Improve this Doc
- View Source
+ View Source
IsRunning
@@ -207,7 +207,7 @@
Improve this Doc
- View Source
+ View Source
Dispose()
@@ -223,7 +223,7 @@
Improve this Doc
- View Source
+ View Source
Dispose(Boolean)
@@ -257,7 +257,7 @@
Improve this Doc
- View Source
+ View Source
Exit()
@@ -308,7 +308,7 @@
Improve this Doc
- View Source
+ View Source
GetScheduledTasks()
@@ -358,7 +358,7 @@
Improve this Doc
- View Source
+ View Source
Join()
@@ -393,7 +393,7 @@
Improve this Doc
- View Source
+ View Source
QueueTask(Task)
@@ -446,7 +446,7 @@ scheduled for this Improve this Doc
- View Source
+ View Source
Start()
@@ -478,7 +478,7 @@ scheduled for this Improve this Doc
- View Source
+ View Source
TryExecuteTaskInline(Task, Boolean)
@@ -596,7 +596,7 @@ make sense to run it inline.
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.MutexLocker.html b/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.MutexLocker.html
index aef4c13e..56da6bf7 100644
--- a/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.MutexLocker.html
+++ b/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.MutexLocker.html
@@ -126,7 +126,7 @@ Create this with Improve this Doc
- View Source
+ View Source
IDisposable.Dispose()
@@ -187,7 +187,7 @@ Create this with Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.ReaderWriterLockSlimReadLocker.html b/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.ReaderWriterLockSlimReadLocker.html
index fcb4217d..9c1e05d7 100644
--- a/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.ReaderWriterLockSlimReadLocker.html
+++ b/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.ReaderWriterLockSlimReadLocker.html
@@ -126,7 +126,7 @@ it is disposed. Create this with Improve this Doc
- View Source
+ View Source
IDisposable.Dispose()
@@ -187,7 +187,7 @@ it is disposed. Create this with Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.ReaderWriterLockSlimUpgradableReadLocker.html b/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.ReaderWriterLockSlimUpgradableReadLocker.html
index e5fc3e23..ccaa65d2 100644
--- a/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.ReaderWriterLockSlimUpgradableReadLocker.html
+++ b/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.ReaderWriterLockSlimUpgradableReadLocker.html
@@ -126,7 +126,7 @@ when it is disposed. Create this with Improve this Doc
- View Source
+ View Source
Upgrade()
@@ -165,7 +165,7 @@ upgrading the current thread's lock.
Improve this Doc
- View Source
+ View Source
IDisposable.Dispose()
@@ -226,7 +226,7 @@ upgrading the current thread's lock.
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.ReaderWriterLockSlimWriteLocker.html b/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.ReaderWriterLockSlimWriteLocker.html
index 485ed0a3..35d23c66 100644
--- a/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.ReaderWriterLockSlimWriteLocker.html
+++ b/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.ReaderWriterLockSlimWriteLocker.html
@@ -126,7 +126,7 @@ it is disposed. Create this with Improve this Doc
- View Source
+ View Source
IDisposable.Dispose()
@@ -187,7 +187,7 @@ it is disposed. Create this with Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.SemaphoreLocker.html b/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.SemaphoreLocker.html
index 1c5bca1f..e0393010 100644
--- a/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.SemaphoreLocker.html
+++ b/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.SemaphoreLocker.html
@@ -126,7 +126,7 @@ Create this with Improve this Doc
- View Source
+ View Source
IDisposable.Dispose()
@@ -187,7 +187,7 @@ Create this with Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.SemaphoreSlimAsyncLocker.html b/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.SemaphoreSlimAsyncLocker.html
index aaf57182..7f4955fb 100644
--- a/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.SemaphoreSlimAsyncLocker.html
+++ b/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.SemaphoreSlimAsyncLocker.html
@@ -126,7 +126,7 @@ when it is disposed. Create this with Improve this Doc
- View Source
+ View Source
IDisposable.Dispose()
@@ -187,7 +187,7 @@ when it is disposed. Create this with Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.SemaphoreSlimLocker.html b/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.SemaphoreSlimLocker.html
index 86008aa5..2448f689 100644
--- a/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.SemaphoreSlimLocker.html
+++ b/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.SemaphoreSlimLocker.html
@@ -126,7 +126,7 @@ Create this with Improve this Doc
- View Source
+ View Source
IDisposable.Dispose()
@@ -187,7 +187,7 @@ Create this with Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.html b/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.html
index bee652bf..ff974497 100644
--- a/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.html
+++ b/branch/4.0.0-beta/api/IPA.Utilities.Async.Synchronization.html
@@ -137,7 +137,7 @@ with whichever member you want to use, according to your lock type.
Improve this Doc
- View Source
+ View Source
Lock(Mutex)
@@ -187,7 +187,7 @@ with whichever member you want to use, according to your lock type.
Improve this Doc
- View Source
+ View Source
Lock(Semaphore)
@@ -237,7 +237,7 @@ with whichever member you want to use, according to your lock type.
Improve this Doc
- View Source
+ View Source
Lock(SemaphoreSlim)
@@ -287,7 +287,7 @@ with whichever member you want to use, according to your lock type.
Improve this Doc
- View Source
+ View Source
LockAsync(SemaphoreSlim)
@@ -337,7 +337,7 @@ with whichever member you want to use, according to your lock type.
Improve this Doc
- View Source
+ View Source
LockRead(ReaderWriterLockSlim)
@@ -387,7 +387,7 @@ with whichever member you want to use, according to your lock type.
Improve this Doc
- View Source
+ View Source
LockReadUpgradable(ReaderWriterLockSlim)
@@ -437,7 +437,7 @@ with whichever member you want to use, according to your lock type.
Improve this Doc
- View Source
+ View Source
LockWrite(ReaderWriterLockSlim)
@@ -493,7 +493,7 @@ with whichever member you want to use, according to your lock type.
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Utilities.BeatSaber.Release.html b/branch/4.0.0-beta/api/IPA.Utilities.BeatSaber.Release.html
index b9ed9288..f3363629 100644
--- a/branch/4.0.0-beta/api/IPA.Utilities.BeatSaber.Release.html
+++ b/branch/4.0.0-beta/api/IPA.Utilities.BeatSaber.Release.html
@@ -157,7 +157,7 @@
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Utilities.BeatSaber.html b/branch/4.0.0-beta/api/IPA.Utilities.BeatSaber.html
index 3180d450..9a20ea80 100644
--- a/branch/4.0.0-beta/api/IPA.Utilities.BeatSaber.html
+++ b/branch/4.0.0-beta/api/IPA.Utilities.BeatSaber.html
@@ -129,7 +129,7 @@
Improve this Doc
- View Source
+ View Source
GameVersion
@@ -161,7 +161,7 @@
Improve this Doc
- View Source
+ View Source
InstallPath
@@ -193,7 +193,7 @@
Improve this Doc
- View Source
+ View Source
LibraryPath
@@ -225,7 +225,7 @@
Improve this Doc
- View Source
+ View Source
NativeLibraryPath
@@ -257,7 +257,7 @@
Improve this Doc
- View Source
+ View Source
PluginsPath
@@ -289,7 +289,7 @@
Improve this Doc
- View Source
+ View Source
ReleaseType
@@ -321,7 +321,7 @@
Improve this Doc
- View Source
+ View Source
UserDataPath
@@ -359,7 +359,7 @@
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Utilities.CriticalSection.html b/branch/4.0.0-beta/api/IPA.Utilities.CriticalSection.html
index 211ebc4c..9ca86057 100644
--- a/branch/4.0.0-beta/api/IPA.Utilities.CriticalSection.html
+++ b/branch/4.0.0-beta/api/IPA.Utilities.CriticalSection.html
@@ -129,7 +129,7 @@
Improve this Doc
- View Source
+ View Source
EnterExecuteSection()
@@ -145,7 +145,7 @@
Improve this Doc
- View Source
+ View Source
EnterGCSection()
@@ -161,7 +161,7 @@
Improve this Doc
- View Source
+ View Source
ExitExecuteSection()
@@ -177,7 +177,7 @@
Improve this Doc
- View Source
+ View Source
ExitGCSection()
@@ -199,7 +199,7 @@
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Utilities.EnumerableExtensions.html b/branch/4.0.0-beta/api/IPA.Utilities.EnumerableExtensions.html
index 85c3b438..b75d9f82 100644
--- a/branch/4.0.0-beta/api/IPA.Utilities.EnumerableExtensions.html
+++ b/branch/4.0.0-beta/api/IPA.Utilities.EnumerableExtensions.html
@@ -129,7 +129,7 @@
Improve this Doc
- View Source
+ View Source
Append<T>(IEnumerable<T>, T)
@@ -201,7 +201,7 @@
Improve this Doc
- View Source
+ View Source
NonNull<T>(IEnumerable<T>)
@@ -268,7 +268,7 @@
Improve this Doc
- View Source
+ View Source
NonNull<T>(IEnumerable<Nullable<T>>)
@@ -335,7 +335,7 @@
Improve this Doc
- View Source
+ View Source
NonNull<T, U>(IEnumerable<T>, Func<T, U>)
@@ -413,7 +413,7 @@
Improve this Doc
- View Source
+ View Source
Prepend<T>(IEnumerable<T>, T)
@@ -491,7 +491,7 @@
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Utilities.Extensions.html b/branch/4.0.0-beta/api/IPA.Utilities.Extensions.html
index 9cdc4b2d..ceae4135 100644
--- a/branch/4.0.0-beta/api/IPA.Utilities.Extensions.html
+++ b/branch/4.0.0-beta/api/IPA.Utilities.Extensions.html
@@ -129,7 +129,7 @@
Improve this Doc
- View Source
+ View Source
GetDefault(Type)
@@ -179,7 +179,7 @@
Improve this Doc
- View Source
+ View Source
IsSubPathOf(String, String)
@@ -234,7 +234,7 @@ only matches if the base dir folder name is matched exactly ("c:\foobar\fil
Improve this Doc
- View Source
+ View Source
Right(String, Int32)
@@ -290,7 +290,7 @@ only matches if the base dir folder name is matched exactly ("c:\foobar\fil
Improve this Doc
- View Source
+ View Source
Unwrap(Nullable<Boolean>)
@@ -340,7 +340,7 @@ only matches if the base dir folder name is matched exactly ("c:\foobar\fil
Improve this Doc
- View Source
+ View Source
WithEnding(String, String)
@@ -403,7 +403,7 @@ results in satisfying .EndsWith(ending).
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Utilities.Ref-1.html b/branch/4.0.0-beta/api/IPA.Utilities.Ref-1.html
index e667563f..73fa45db 100644
--- a/branch/4.0.0-beta/api/IPA.Utilities.Ref-1.html
+++ b/branch/4.0.0-beta/api/IPA.Utilities.Ref-1.html
@@ -150,7 +150,7 @@
Improve this Doc
- View Source
+ View Source
Ref(T)
@@ -186,7 +186,7 @@
Improve this Doc
- View Source
+ View Source
Error
@@ -218,7 +218,7 @@
Improve this Doc
- View Source
+ View Source
Value
@@ -252,7 +252,7 @@
Improve this Doc
- View Source
+ View Source
CompareTo(T)
@@ -302,7 +302,7 @@
Improve this Doc
- View Source
+ View Source
CompareTo(Ref<T>)
@@ -352,7 +352,7 @@
Improve this Doc
- View Source
+ View Source
Verify()
@@ -370,7 +370,7 @@
Improve this Doc
- View Source
+ View Source
Implicit(T to Ref<T>)
@@ -420,7 +420,7 @@
Improve this Doc
- View Source
+ View Source
Implicit(Ref<T> to T)
@@ -514,7 +514,7 @@
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Utilities.Ref.html b/branch/4.0.0-beta/api/IPA.Utilities.Ref.html
index 7d5a8dcf..f3aab540 100644
--- a/branch/4.0.0-beta/api/IPA.Utilities.Ref.html
+++ b/branch/4.0.0-beta/api/IPA.Utilities.Ref.html
@@ -129,7 +129,7 @@
Improve this Doc
- View Source
+ View Source
Create<T>(T)
@@ -201,7 +201,7 @@
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Utilities.ReflectionUtil.html b/branch/4.0.0-beta/api/IPA.Utilities.ReflectionUtil.html
index 7c0474fb..e8d85b85 100644
--- a/branch/4.0.0-beta/api/IPA.Utilities.ReflectionUtil.html
+++ b/branch/4.0.0-beta/api/IPA.Utilities.ReflectionUtil.html
@@ -129,7 +129,7 @@
Improve this Doc
- View Source
+ View Source
CopyComponent(Component, Type, GameObject, Type)
@@ -197,7 +197,7 @@
Improve this Doc
- View Source
+ View Source
CopyComponent<T>(Component, GameObject, Type)
@@ -280,7 +280,7 @@
Improve this Doc
- View Source
+ View Source
GetField<T>(Object, String)
@@ -368,7 +368,7 @@
Improve this Doc
- View Source
+ View Source
GetField<T, U>(U, String)
@@ -461,7 +461,7 @@
Improve this Doc
- View Source
+ View Source
InvokeMethod(Object, String, Object[])
@@ -539,7 +539,7 @@
Improve this Doc
- View Source
+ View Source
InvokeMethod<T>(T, String, Object[])
@@ -633,7 +633,7 @@
Improve this Doc
- View Source
+ View Source
InvokeMethod<T>(Object, String, Object[])
@@ -731,7 +731,7 @@
Improve this Doc
- View Source
+ View Source
InvokeMethod<T, U>(U, String, Object[])
@@ -834,7 +834,7 @@
Improve this Doc
- View Source
+ View Source
SetField(Object, String, Object)
@@ -896,7 +896,7 @@
Improve this Doc
- View Source
+ View Source
SetField<T>(T, String, Object)
@@ -974,7 +974,7 @@
Improve this Doc
- View Source
+ View Source
SetProperty(Object, String, Object)
@@ -1036,7 +1036,7 @@
Improve this Doc
- View Source
+ View Source
SetProperty<T>(T, String, Object)
@@ -1120,7 +1120,7 @@
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/IPA.Utilities.Utils.html b/branch/4.0.0-beta/api/IPA.Utilities.Utils.html
index e981539e..d51bc462 100644
--- a/branch/4.0.0-beta/api/IPA.Utilities.Utils.html
+++ b/branch/4.0.0-beta/api/IPA.Utilities.Utils.html
@@ -129,7 +129,7 @@
Improve this Doc
- View Source
+ View Source
CanUseDateTimeNowSafely
@@ -163,7 +163,7 @@
Improve this Doc
- View Source
+ View Source
ByteArrayToString(Byte[])
@@ -213,7 +213,7 @@
Improve this Doc
- View Source
+ View Source
CopyAll(DirectoryInfo, DirectoryInfo, String, Func<Exception, FileInfo, Boolean>)
@@ -265,7 +265,7 @@
Improve this Doc
- View Source
+ View Source
CurrentTime()
@@ -299,7 +299,7 @@ the value will be greater than the previous result. Not suitable for timing.
Improve this Doc
- View Source
+ View Source
GetRelativePath(String, String)
@@ -355,7 +355,7 @@ the value will be greater than the previous result. Not suitable for timing.
Improve this Doc
- View Source
+ View Source
StringToByteArray(String)
@@ -405,7 +405,7 @@ the value will be greater than the previous result. Not suitable for timing.
Improve this Doc
- View Source
+ View Source
UnsafeCompare(Byte[], Byte[])
@@ -461,7 +461,7 @@ the value will be greater than the previous result. Not suitable for timing.
Improve this Doc
- View Source
+ View Source
VersionCompareNoPrerelease(Version, Version)
@@ -523,7 +523,7 @@ the value will be greater than the previous result. Not suitable for timing.
Improve this Doc
- View Source
+ View Source
diff --git a/branch/4.0.0-beta/api/index.html b/branch/4.0.0-beta/api/index.html
index f11aae51..31ca1388 100644
--- a/branch/4.0.0-beta/api/index.html
+++ b/branch/4.0.0-beta/api/index.html
@@ -90,7 +90,7 @@ Select a namespace and a class on the left to get started.
diff --git a/branch/4.0.0-beta/articles/command-line.html b/branch/4.0.0-beta/articles/command-line.html
index b1ba30d1..01145aa9 100644
--- a/branch/4.0.0-beta/articles/command-line.html
+++ b/branch/4.0.0-beta/articles/command-line.html
@@ -183,7 +183,7 @@ avaliable. If there is, it will be downloaded and installed on the next run. Thi
diff --git a/branch/4.0.0-beta/articles/contributing.html b/branch/4.0.0-beta/articles/contributing.html
index 9b0adda9..319d1e99 100644
--- a/branch/4.0.0-beta/articles/contributing.html
+++ b/branch/4.0.0-beta/articles/contributing.html
@@ -117,7 +117,7 @@ should reference the copy in there. When building for Release, it just uses the
diff --git a/branch/4.0.0-beta/articles/dev-resources/description.html b/branch/4.0.0-beta/articles/dev-resources/description.html
index 5687b933..f5bc0814 100644
--- a/branch/4.0.0-beta/articles/dev-resources/description.html
+++ b/branch/4.0.0-beta/articles/dev-resources/description.html
@@ -91,7 +91,7 @@
diff --git a/branch/4.0.0-beta/articles/index.html b/branch/4.0.0-beta/articles/index.html
index bc94bbf2..5895de46 100644
--- a/branch/4.0.0-beta/articles/index.html
+++ b/branch/4.0.0-beta/articles/index.html
@@ -94,7 +94,7 @@
diff --git a/branch/4.0.0-beta/articles/start-dev.html b/branch/4.0.0-beta/articles/start-dev.html
index d955a172..455721ef 100644
--- a/branch/4.0.0-beta/articles/start-dev.html
+++ b/branch/4.0.0-beta/articles/start-dev.html
@@ -125,8 +125,169 @@ namespace Demo
used for initialization.
The lifecycle event attributes OnStartAttribute and OnExitAttribute.
-Read the docs at those links for a better idea of what they do.
-TODO: expand this to explain more, and expand on the base example
+I reccommend you read the docs for each of those to get an idea for what they do.
+It is worth noting that this example is of a mod that cannot be enabled and disabled at runtime, as marked by
+RuntimeOptions.SingleStartInit.
+What can be changed
+Before we go adding more functionality, its worth mentioning that that is not the only way to have a plugin set up.
+For starters, we can add another method marked [Init]
, and it will be called after the constructor, with the same
+injected parameters, if those are applicable.
+[Init]
+public void Init(Logger logger)
+{
+ // logger will be the same instance as log currently is
+}
+
If you only had a method marked [Init]
, and no constructors marked [Init]
, then the plugin type must expose a
+public default constructor. If multiple constructors are marked [Init]
, only the one with the most parameters will
+be called.
+You may also mark as many methods as you wish with [Init]
and all of them will be called, in no well-defined order on
+initialization. The same is true for [OnStart]
and [OnExit]
, respectively.
+From Scratch
+If you are starting from scratch, you will need one other thing to get your plugin up and running: a manifest.
+A basic manifest for that might look a little like this:
+{
+ "author": "ExampleMan",
+ "description": [
+ "A demo plugin written for the BSIPA basic tutorial."
+ ],
+ "gameVersion": "1.6.0",
+ "id": null,
+ "name": "Demo Plugin",
+ "version": "0.0.1",
+ "features": [
+ ],
+ "links": {
+ "project-home": "https://example.com/demo-plugin",
+ "project-source": "https://github.com/exampleman/demo-plugin/",
+ "donate": "https://ko-fi.com/exampleman"
+ },
+}
+
There is a lot going on there, but most of it should be decently obvious. Among the things that aren't immediately obvious,
+are
+
+id
: This represents a unique identifier for the mod, for use by package managers such as BeatMods. It may be null if the
+mod chooses not to support those.
+features
: Don't worry about this for now, this is a not-very-simple thing that will be touched on later.
+
+In addition, there are a few gatchas with it:
+
+description
: This can be either a string or an array representing different lines. Markdown formatting is permitted.
+gameVersion
: This should match exactly with the application version of the game being targeted. While this is not enforced
+by BSIPA, mod repositories like BeatMods may require it match, and it is good practice regardless.
+version
: This must be a valid SemVer version number for your mod.
+
+In order for your plugin to load, the manifest must be embedded into the plugin DLL as an embedded resource. This can be set in
+the Visual Studio file properties panel under Build Action
, or in the .csproj
like so:
+<ItemGroup>
+ <EmbeddedResource Include="manifest.json" />
+</ItemGroup>
+
At this point, if the main plugin source file and the manifest are in the same source location, and the plugin class is using the
+project's default namespace, the plugin will load just fine. However, this is somewhat difficult both to explain and verify, so I
+recommend you use the the misc.plugin-hint
field in your manifest. It can be used like so:
+"misc": {
+ "plugin-hint": "Demo.Plugin"
+}
+
With this, you can set plugin-hint
to the full typename of your plugin type, and it will correctly load. This is a hint though,
+and will also try it as a namespace if it fails to find the plugin type. If that fails, it will then fall back to using the manifest's
+embedded namespace.
+A less painful description
+If you want to have a relatively long or well-formatted description for your mod, it may start to become painful to embed it in a list
+of JSON strings in the manifest. Luckily, there is a way to handle this.
+The first step is to create another embedded file, but this time it should be a Markdown file, perhaps description.md
. It may contain
+something like this:
+# Demo Plugin
+
+A little demo for the BSIPA modding introduction.
+
+---
+
+WE CAN USE MARKDOWN!!!
+
Then, in your manifest description, have the first line be something look like this, but replacing Demo.description.md
with the fully
+namespaced name of the resource:
+"#![Demo.description.md]",
+
Now, when loaded into memory, if anything reads your description metadata, they get the content of that file instead of the content of the
+manifest key.
+Configuring your plugin
+Something that many plugins want and need is configuration. Fortunately, BSIPA provides a fairly powerful configuration system out of the
+box. To start using it, first create a config class of some kind. Lets take a look at a fairly simple example of this:
+namespace Demo
+{
+ public class PluginConfig
+ {
+ public static PluginConfig Instance { get; set; }
+
+ public int IntValue { get; set; } = 42;
+
+ public float FloatValue { get; set; } = 3.14159f;
+ }
+}
+
Notice how the class is both marked public
and is not marked sealed
. For the moment, both of these are necessary. Also notice that
+all of the members are properties. While this doesn't change much now, it will be significant in the near future.
+Now, how do we get this object off of disk? Simple. Back in your plugin class, change your [Init]
constructor to look like this:
+[Init]
+public Plugin(Logger logger, Config conf)
+{
+ log = logger;
+ PluginConfig.Instance = conf.Generated<PluginConfig>();
+ log.Debug("Config loaded");
+
+ // setup that does not require game code
+}
+
For this to compile, though, we will need to add a few using
s:
+using IPA.Config;
+using IPA.Config.Stores;
+
With just this, you have your config automatically loading from disk! It's even reloaded when it gets changed mid-game! You can now access
+it from anywhere by simply accessing PluginConfig.Instance
. Make sure you don't accidentally reassign this though, as then you will loose
+your only interaction with the user's preferences.
+By default, it will be named the same as is in your plugin's manifest's name
field, and will use the built-in json
provider. This means
+that the file that will be loaded from will be UserData/Demo Plugin.json
for our demo plugin. You can, however, control both of those by
+applying attributes to the Config parameter, namely Config.NameAttribute to control the name, and
+Config.PreferAttribute to control the type. If the type preferences aren't registered though, it will just fall back to JSON.
+
+But what about more complex types than just int
and float
? What if you want sub-objects?
+Those are supported natively, and so are very easy to set up. We just add this to the config class:
+public class SubThingsObject
+{
+ public double DoubleValue { get; set; } = 2.718281828459045;
+}
+
+public SubThingsObject SubThings { get; set; } = new SubThingsObject();
+
Now this object will be automatically read from disk too.
+But there is one caveat to this: because SubThingsObject
is a reference type, SubThings
can be null.
+This is often undesireable. The obvious solution may be to simply change it to a struct
, but that is both not supported and potentially
+undesirable for other reasons we'll get to later.
+Instead, you can use NonNullableAttribute. Change the definition of SubThings
to this:
+[NonNullable]
+public SubThingsObject SubThings { get; set; } = new SubThingsObject();
+
And add this to the using
s:
+using IPA.Config.Stores.Attributes;
+
This attribute tells the serializer that null
is an invalid value for the config object. This does, however, require that you take extra care
+ensure that it never becomes null in code, as that will break the serializer.
+
+What about collection types?
+Well, you can use those too, but you have to use something new: a converter.
+You may be familiar with them if you have used something like the popular Newtonsoft.Json library before. In BSIPA, they lie in the
+IPA.Config.Stores.Converters namespace. All converters either implement IValueConverter or derive from
+ValueConverter<T>. You will mostly use them with an UseConverterAttribute.
+To use them, we'll want to import them:
+using System.Collections.Generic;
+using IPA.Config.Stores;
+using IPA.Config.Stores.Converters;
+
Then add a field, for example a list field:
+[UseConverter(typeof(ListConverter<string>))]
+public List<string> ListValue { get; set; } = new List<string>();
+
This uses a converter that is provided with BSIPA for List<T>s specifically. It converts the list to
+an ordered array, which is then written to disk as a JSON array.
+We could also potentially want use something like a HashSet<T>. Lets start by looking at the definition
+for such a member, then deciphering what exactly it means:
+[UseConverter(typeof(CollectionConverter<string, HashSet<string>>))]
+public HashSet<string> SetValue { get; set; } = new HashSet<string>();
+
The converter we're using here is CollectionConverter<T, TCollection>, a base type for converters of all kinds of
+collections. In fact, the ListConverter<T> is derived from this, and uses it for most of its implementation.
+If a type implements ICollection<T>, CollectionConverter<T, TCollection> can convert it.
+It, like most other BSIPA provided aggregate converters, provides a type argument overload CollectionConverter<T, TCollection, TConverter>
+to compose other converters with it to handle unusual element types.
+
@@ -135,7 +296,7 @@ used for initialization.
diff --git a/branch/4.0.0-beta/articles/start-user.html b/branch/4.0.0-beta/articles/start-user.html
index fc1bdf1f..bd27fd1f 100644
--- a/branch/4.0.0-beta/articles/start-user.html
+++ b/branch/4.0.0-beta/articles/start-user.html
@@ -161,7 +161,7 @@ the game directory, though your plugins will be moved to a different folder when
diff --git a/branch/4.0.0-beta/index.html b/branch/4.0.0-beta/index.html
index ccaa3bf4..cadd5796 100644
--- a/branch/4.0.0-beta/index.html
+++ b/branch/4.0.0-beta/index.html
@@ -101,7 +101,7 @@
diff --git a/branch/4.0.0-beta/index.json b/branch/4.0.0-beta/index.json
index 1e6798ec..5186db68 100644
--- a/branch/4.0.0-beta/index.json
+++ b/branch/4.0.0-beta/index.json
@@ -1,13 +1,58 @@
{
- "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 . Implements System.Runtime.InteropServices._Attribute Extension Methods ReflectionUtil.SetField(Object, String, Object) ReflectionUtil.SetField
(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also PluginAttribute OnEnableAttribute"
+ "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.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(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) ReflectionUtil.CopyComponent(Component, Type, GameObject, Type) ReflectionUtil.CopyComponent(Component, GameObject, Type)"
},
- "api/IPA.OnExitAttribute.html": {
- "href": "api/IPA.OnExitAttribute.html",
- "title": "Class OnExitAttribute",
- "keywords": "Class OnExitAttribute Indicates that the target method should be called when the game exits. Inheritance Object Attribute OnExitAttribute 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 OnExitAttribute : Attribute, _Attribute, IEdgeLifecycleAttribute Remarks This attribute is interchangable with OnDisableAttribute , 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 . Implements System.Runtime.InteropServices._Attribute Extension Methods ReflectionUtil.SetField(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also PluginAttribute OnDisableAttribute"
+ "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. BeatSaber Provides some basic utility methods and properties of Beat Saber 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. 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. Utils A class providing static utility functions that in any other language would just exist . Enums AlmostVersion.StoredAs Represents a storage type of either parsed SemVer.Version object or raw String . BeatSaber.Release The different types of releases of the game."
+ },
+ "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 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(Version, Version) Compares a pair of SemVer.Version s ignoring both the prerelease and build fields. Declaration public static int VersionCompareNoPrerelease(Version l, 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.ReflectionUtil.html": {
+ "href": "api/IPA.Utilities.ReflectionUtil.html",
+ "title": "Class ReflectionUtil",
+ "keywords": "Class ReflectionUtil A utility class providing reflection helper methods. Inheritance Object ReflectionUtil 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 ReflectionUtil Methods | Improve this Doc View Source CopyComponent(Component, Type, GameObject, Type) Copies a component original to a component of overridingType on the destination UnityEngine.GameObject . Declaration public static Component CopyComponent(this Component original, Type overridingType, GameObject destination, Type originalTypeOverride = null) Parameters Type Name Description UnityEngine.Component original the original component Type overridingType the new component's type UnityEngine.GameObject destination the destination GameObject Type originalTypeOverride overrides the source component type (for example, to a superclass) Returns Type Description UnityEngine.Component the copied component | Improve this Doc View Source CopyComponent(Component, GameObject, Type) A generic version of CopyComponent(Component, Type, GameObject, Type) . Declaration public static T CopyComponent(this Component original, GameObject destination, Type originalTypeOverride = null) where T : Component Parameters Type Name Description UnityEngine.Component original the original component UnityEngine.GameObject destination the destination game object Type originalTypeOverride overrides the source component type (for example, to a superclass) Returns Type Description T the copied component Type Parameters Name Description T the overriding type See Also CopyComponent(Component, Type, GameObject, Type) | Improve this Doc View Source GetField(Object, String) Gets the value of a field. Declaration public static T GetField(this object obj, string fieldName) Parameters Type Name Description Object obj the object instance to pull from String fieldName the name of the field to read Returns Type Description T the value of the field Type Parameters Name Description T the type of the field (result casted) Exceptions Type Condition ArgumentException if fieldName does not exist on the runtime type of obj | Improve this Doc View Source GetField(U, String) Gets the value of a field. Declaration public static T GetField(this U obj, string fieldName) Parameters Type Name Description U obj the object instance to pull from String fieldName the name of the field to read Returns Type Description T the value of the field Type Parameters Name Description T the type of the field (result casted) U the type to get the field from Exceptions Type Condition ArgumentException if fieldName does not exist on U | Improve this Doc View Source InvokeMethod(Object, String, Object[]) Invokes a method on an object. Declaration public static object InvokeMethod(this object obj, string methodName, params object[] methodArgs) Parameters Type Name Description Object obj the object to call from String methodName the method name Object [] methodArgs the method arguments Returns Type Description Object the return value Exceptions Type Condition ArgumentException if methodName does not exist on the runtime type of obj | Improve this Doc View Source InvokeMethod(T, String, Object[]) Invokes a method from T on an object. Declaration public static object InvokeMethod(this T obj, string methodName, params object[] args) Parameters Type Name Description T obj the object instance String methodName the method's name Object [] args the method arguments Returns Type Description Object the return value Type Parameters Name Description T the type to search for the method on Exceptions Type Condition ArgumentException if methodName does not exist on T | Improve this Doc View Source InvokeMethod(Object, String, Object[]) Invokes a method. Declaration public static T InvokeMethod(this object obj, string methodName, params object[] methodArgs) Parameters Type Name Description Object obj the object instance String methodName the method name to call Object [] methodArgs the method's arguments Returns Type Description T the return value Type Parameters Name Description T the return type Exceptions Type Condition ArgumentException if methodName does not exist on the runtime type of obj See Also InvokeMethod(Object, String, Object[]) | Improve this Doc View Source InvokeMethod(U, String, Object[]) Invokes a method from U on an object. Declaration public static T InvokeMethod(this U obj, string methodName, params object[] methodArgs) Parameters Type Name Description U obj the object instance String methodName the method name to call Object [] methodArgs the method's arguments Returns Type Description T the return value Type Parameters Name Description T the return type U the type to search for the method on Exceptions Type Condition ArgumentException if methodName does not exist on U See Also InvokeMethod(T, String, Object[]) | Improve this Doc View Source SetField(Object, String, Object) Sets a field on the target object. Declaration public static void SetField(this object obj, string fieldName, object value) Parameters Type Name Description Object obj the object instance String fieldName the field to set Object value the value to set it to Exceptions Type Condition ArgumentException if fieldName does not exist on the runtime type of obj | Improve this Doc View Source SetField(T, String, Object) Sets a field on the target object, as gotten from T . Declaration public static void SetField(this T obj, string fieldName, object value) Parameters Type Name Description T obj the object instance String fieldName the field to set Object value the value to set it to Type Parameters Name Description T the type to get the field from Exceptions Type Condition ArgumentException if fieldName does not exist on T | Improve this Doc View Source SetProperty(Object, String, Object) Sets a property on the target object. Declaration public static void SetProperty(this object obj, string propertyName, object value) Parameters Type Name Description Object obj the target object instance String propertyName the name of the property Object value the value to set it to Exceptions Type Condition ArgumentException if propertyName does not exist on the runtime type of obj | Improve this Doc View Source SetProperty(T, String, Object) Sets a property on the target object, as gotten from T Declaration public static void SetProperty(this T obj, string propertyName, object value) Parameters Type Name Description T obj the object instance String propertyName the property to set Object value the value to set it to Type Parameters Name Description T the type to get the property from Exceptions Type Condition ArgumentException if propertyName does not exist on T"
+ },
+ "api/IPA.Utilities.CriticalSection.html": {
+ "href": "api/IPA.Utilities.CriticalSection.html",
+ "title": "Class CriticalSection",
+ "keywords": "Class CriticalSection Provides utilities for managing various critical sections. Inheritance Object CriticalSection 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 CriticalSection Methods | Improve this Doc View Source EnterExecuteSection() Enters a critical execution section. Does not nest. Declaration public static void EnterExecuteSection() | Improve this Doc View Source EnterGCSection() Enters a GC critical section. Each call to this must be paired with a call to ExitGCSection() . Declaration public static void EnterGCSection() | Improve this Doc View Source ExitExecuteSection() Exits a critical execution section. Does not nest. Declaration public static void ExitExecuteSection() | Improve this Doc View Source ExitGCSection() Exits a GC critical section. Each call to this must have a preceding call to EnterGCSection() . Declaration public static void ExitGCSection()"
+ },
+ "api/IPA.Utilities.BeatSaber.html": {
+ "href": "api/IPA.Utilities.BeatSaber.html",
+ "title": "Class BeatSaber",
+ "keywords": "Class BeatSaber Provides some basic utility methods and properties of Beat Saber Inheritance Object BeatSaber 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 BeatSaber 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 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 BeatSaber.Release type of this installation of Beat Saber Declaration public static BeatSaber.Release ReleaseType { get; } Property Value Type Description BeatSaber.Release the type of release this is | 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.BeatSaber.Release.html": {
+ "href": "api/IPA.Utilities.BeatSaber.Release.html",
+ "title": "Enum BeatSaber.Release",
+ "keywords": "Enum BeatSaber.Release The different types of releases of the game. Namespace : IPA.Utilities Assembly : IPA.Loader.dll Syntax public enum Release Fields Name Description Oculus Indicates an Oculus release. Steam Indicates a Steam release. Extension Methods ReflectionUtil.SetField(String, Object) ReflectionUtil.SetField(String, Object) ReflectionUtil.GetField(String) ReflectionUtil.GetField(String) ReflectionUtil.SetProperty(String, Object) ReflectionUtil.SetProperty(String, Object) ReflectionUtil.InvokeMethod(String, Object[]) ReflectionUtil.InvokeMethod(String, Object[]) ReflectionUtil.InvokeMethod(String, Object[]) ReflectionUtil.InvokeMethod(String, Object[])"
+ },
+ "api/IPA.Utilities.Async.html": {
+ "href": "api/IPA.Utilities.Async.html",
+ "title": "",
+ "keywords": "Classes SingleThreadTaskScheduler A single-threaded task scheduler that runs all of its tasks on the same thread. Synchronization Utilities for inter-thread synchronization. All Locker method acquire their object immediately, and should only be used with langword_csharp_using to automatically release them. Structs Synchronization.MutexLocker A locker for a Mutex that automatically releases when it is disposed. Create this with Lock(Mutex) . Synchronization.ReaderWriterLockSlimReadLocker A locker for a read lock on a ReaderWriterLockSlim that automatically releases when it is disposed. Create this with LockRead(ReaderWriterLockSlim) . Synchronization.ReaderWriterLockSlimUpgradableReadLocker A locker for an upgradable read lock on a ReaderWriterLockSlim that automatically releases when it is disposed. Create this with LockReadUpgradable(ReaderWriterLockSlim) . Synchronization.ReaderWriterLockSlimWriteLocker A locker for a write lock on a ReaderWriterLockSlim that automatically releases when it is disposed. Create this with LockWrite(ReaderWriterLockSlim) . Synchronization.SemaphoreLocker A locker for a Semaphore that automatically releases when it is disposed. Create this with Lock(Semaphore) . Synchronization.SemaphoreSlimAsyncLocker A locker for a SemaphoreSlim that was created asynchronously and automatically releases when it is disposed. Create this with LockAsync(SemaphoreSlim) . Synchronization.SemaphoreSlimLocker A locker for a SemaphoreSlim that automatically releases when it is disposed. Create this with Lock(SemaphoreSlim) ."
+ },
+ "api/IPA.Utilities.Async.Synchronization.ReaderWriterLockSlimWriteLocker.html": {
+ "href": "api/IPA.Utilities.Async.Synchronization.ReaderWriterLockSlimWriteLocker.html",
+ "title": "Struct Synchronization.ReaderWriterLockSlimWriteLocker",
+ "keywords": "Struct Synchronization.ReaderWriterLockSlimWriteLocker A locker for a write lock on a ReaderWriterLockSlim that automatically releases when it is disposed. Create this with LockWrite(ReaderWriterLockSlim) . Implements IDisposable Inherited Members ValueType.Equals(Object) ValueType.GetHashCode() ValueType.ToString() Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetType() Namespace : IPA.Utilities.Async Assembly : IPA.Loader.dll Syntax public struct ReaderWriterLockSlimWriteLocker : IDisposable Explicit Interface Implementations | Improve this Doc View Source IDisposable.Dispose() Declaration void IDisposable.Dispose() Implements System.IDisposable Extension Methods ReflectionUtil.SetField(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also Synchronization LockWrite(ReaderWriterLockSlim)"
+ },
+ "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.StandardLogger.html": {
"href": "api/IPA.Logging.StandardLogger.html",
@@ -19,15 +64,15 @@
"title": "",
"keywords": "Classes ColoredConsolePrinter Prints a pretty message to the console. ColorlessConsolePrinter A colorless version of ColoredConsolePrinter , that indiscriminantly prints to standard out. GlobalLogFilePrinter A printer for all messages to a unified log location. GZFilePrinter A LogPrinter abstract class that provides the utilities to write to a GZip file. PluginLogFilePrinter Prints log messages to the file specified by the name. PluginSubLogPrinter Prints log messages to the file specified by the name."
},
- "api/IPA.Logging.Printers.PluginSubLogPrinter.html": {
- "href": "api/IPA.Logging.Printers.PluginSubLogPrinter.html",
- "title": "Class PluginSubLogPrinter",
- "keywords": "Class PluginSubLogPrinter Prints log messages to the file specified by the name. Inheritance Object LogPrinter GZFilePrinter PluginSubLogPrinter 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 PluginSubLogPrinter : GZFilePrinter, IDisposable Constructors | Improve this Doc View Source PluginSubLogPrinter(String, String) Creates a new printer with the given name. Declaration public PluginSubLogPrinter(string mainname, string name) Parameters Type Name Description String mainname the name of the main logger String name the name of the logger 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 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 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(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, 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(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])"
},
- "api/IPA.Logging.Printers.PluginLogFilePrinter.html": {
- "href": "api/IPA.Logging.Printers.PluginLogFilePrinter.html",
- "title": "Class PluginLogFilePrinter",
- "keywords": "Class PluginLogFilePrinter Prints log messages to the file specified by the name. Inheritance Object LogPrinter GZFilePrinter PluginLogFilePrinter 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 PluginLogFilePrinter : GZFilePrinter, IDisposable Constructors | Improve this Doc View Source PluginLogFilePrinter(String) Creates a new printer with the given name. Declaration public PluginLogFilePrinter(string name) Parameters Type Name Description String name the name of the logger 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 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(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, 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(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])"
},
"api/IPA.Logging.LogPrinter.html": {
"href": "api/IPA.Logging.LogPrinter.html",
@@ -39,15 +84,35 @@
"title": "Class LoggerExtensions",
"keywords": "Class LoggerExtensions A class providing extensions for various loggers. Inheritance Object LoggerExtensions 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 static class LoggerExtensions Methods | Improve this Doc View Source GetChildLogger(Logger, String) Gets a child logger, if supported. Currently the only defined and supported logger is StandardLogger , and most plugins will only ever receive this anyway. Declaration public static Logger GetChildLogger(this Logger logger, string name) Parameters Type Name Description Logger logger the parent Logger String name the name of the child Returns Type Description Logger the child logger"
},
+ "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 IsAttributePlugin Whether the plugin referred to by this metadata object is a BSIPA 4 attribute plugin. Declaration public bool IsAttributePlugin { get; } Property Value Type Description Boolean true if the plugin is a BSIPA 4 plugin, false if it is a BSIPA 3 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(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])"
+ },
+ "api/IPA.Loader.PluginManager.html": {
+ "href": "api/IPA.Loader.PluginManager.html",
+ "title": "Class PluginManager",
+ "keywords": "Class PluginManager The manager class for all plugins. Inheritance Object PluginManager 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 static class PluginManager Properties | Improve this Doc View Source AllPlugins Gets a list of all BSIPA plugins. Declaration public static IEnumerable AllPlugins { get; } Property Value Type Description IEnumerable < PluginMetadata > a collection of all enabled plugins as PluginMetadata s | Improve this Doc View Source DisabledPlugins Gets a list of disabled BSIPA plugins. Declaration public static IEnumerable DisabledPlugins { get; } Property Value Type Description IEnumerable < PluginMetadata > a collection of all disabled plugins as PluginMetadata | Improve this Doc View Source Plugins An IEnumerable of old IPA plugins. Declaration [Obsolete(\"I mean, IPlugin shouldn't be used, so why should this? Not renaming to extend support for old plugins.\")] public static IEnumerable Plugins { get; } Property Value Type Description IEnumerable < IPlugin > all legacy plugin instances Methods | Improve this Doc View Source GetDisabledPlugin(String) Gets a disabled plugin's metadata by its name. Declaration public static PluginMetadata GetDisabledPlugin(string name) Parameters Type Name Description String name the name of the disabled plugin to get Returns Type Description PluginMetadata the metadata for the corresponding plugin | Improve this Doc View Source GetDisabledPluginFromId(String) Gets a disabled plugin's metadata by its ID. Declaration public static PluginMetadata GetDisabledPluginFromId(string name) Parameters Type Name Description String name the ID of the disabled plugin to get Returns Type Description PluginMetadata the metadata for the corresponding plugin | Improve this Doc View Source GetPlugin(String) Gets info about the plugin with the specified name. Declaration public static PluginMetadata GetPlugin(string name) Parameters Type Name Description String name the name of the plugin to get (must be an exact match) Returns Type Description PluginMetadata the plugin metadata for the requested plugin or null if it doesn't exist or is disabled | Improve this Doc View Source GetPluginFromId(String) Gets info about the plugin with the specified ID. Declaration public static PluginMetadata GetPluginFromId(string name) Parameters Type Name Description String name the ID name of the plugin to get (must be an exact match) Returns Type Description PluginMetadata the plugin metadata for the requested plugin or null if it doesn't exist or is disabled | Improve this Doc View Source IsDisabled(PluginMetadata) Checks if a given plugin is disabled. Declaration public static 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. | Improve this Doc View Source IsEnabled(PluginMetadata) Checks if a given plugin is enabled. Declaration public static 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. Events | Improve this Doc View Source PluginDisabled Called whenever a plugin is disabled. Declaration public static event PluginManager.PluginDisableDelegate PluginDisabled Event Type Type Description PluginManager.PluginDisableDelegate | Improve this Doc View Source PluginEnabled Called whenever a plugin is enabled. Declaration public static event PluginManager.PluginEnableDelegate PluginEnabled Event Type Type Description PluginManager.PluginEnableDelegate"
+ },
+ "api/IPA.Loader.PluginManager.PluginEnableDelegate.html": {
+ "href": "api/IPA.Loader.PluginManager.PluginEnableDelegate.html",
+ "title": "Delegate PluginManager.PluginEnableDelegate",
+ "keywords": "Delegate PluginManager.PluginEnableDelegate An invoker for the PluginEnabled event. Namespace : IPA.Loader Assembly : IPA.Loader.dll Syntax public delegate void PluginEnableDelegate(PluginMetadata plugin, bool needsRestart); Parameters Type Name Description PluginMetadata plugin the plugin that was enabled Boolean needsRestart whether it needs a restart to take effect Extension Methods ReflectionUtil.SetField(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])"
+ },
"api/IPA.Loader.PluginManager.PluginDisableDelegate.html": {
"href": "api/IPA.Loader.PluginManager.PluginDisableDelegate.html",
"title": "Delegate PluginManager.PluginDisableDelegate",
"keywords": "Delegate PluginManager.PluginDisableDelegate An invoker for the PluginDisabled event. Namespace : IPA.Loader Assembly : IPA.Loader.dll Syntax public delegate void PluginDisableDelegate(PluginMetadata plugin, bool needsRestart); Parameters Type Name Description PluginMetadata plugin the plugin that was disabled Boolean needsRestart whether it needs a restart to take effect Extension Methods ReflectionUtil.SetField(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])"
},
- "api/IPA.Loader.PluginInitInjector.html": {
- "href": "api/IPA.Loader.PluginInitInjector.html",
- "title": "Class PluginInitInjector",
- "keywords": "Class PluginInitInjector The type that handles value injecting into a plugin's initialization methods. Inheritance Object PluginInitInjector 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 static class PluginInitInjector Remarks The default injectors and what they provide are shown in this table. Parameter Type Injected Value Logger A StandardLogger specialized for the plugin being injected PluginMetadata The PluginMetadata of the plugin being injected Config A Config object for the plugin being injected. These parameters may have Config.NameAttribute and Config.PreferAttribute to control how it is constructed. For all of the default injectors, only one of each will be generated, and any later parameters will recieve the same value as the first one. Methods | Improve this Doc View Source AddInjector(Type, PluginInitInjector.InjectParameter) Adds an injector to be used when calling future plugins' Init methods. Declaration public static void AddInjector(Type type, PluginInitInjector.InjectParameter injector) Parameters Type Name Description Type type the type of the parameter. PluginInitInjector.InjectParameter injector the function to call for injection."
+ "api/IPA.Loader.Features.html": {
+ "href": "api/IPA.Loader.Features.html",
+ "title": "",
+ "keywords": "Classes Feature The root interface for a mod Feature."
+ },
+ "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(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])"
},
"api/IPA.Config.Stores.html": {
"href": "api/IPA.Config.Stores.html",
@@ -59,45 +124,70 @@
"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(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also IValueConverter"
},
- "api/IPA.Config.Stores.IValueConverter.html": {
- "href": "api/IPA.Config.Stores.IValueConverter.html",
- "title": "Interface IValueConverter",
- "keywords": "Interface IValueConverter The base interface for a value converter for use by objects generated by Generated(Config, Boolean) . Namespace : IPA.Config.Stores Assembly : IPA.Loader.dll Syntax public interface IValueConverter Remarks The object returned from FromValue(Value, Object) , if fed into ToValue(Object, Object) , should return equivalent Value structures. Similarly, if the result of ToValue(Object, Object) is fed into FromValue(Value, Object) , the resulting object should be equivalent to the one passed to ToValue(Object, Object) . The parent parameter to ToValue(Object, Object) and FromValue(Value, Object) should be (ideally) the the top of the serialization tree, or some other generated object in that tree, rather than some arbitrary object in the middle that is not managed by the generatd config system. Converters do not need to perform null checks, as the serializer and deserializer will do that automatically. Properties | Improve this Doc View Source Type Gets the type that this IValueConverter handles. Declaration Type Type { get; } Property Value Type Description Type Methods | Improve this Doc View Source FromValue(Value, Object) Converts the given Value to the object type handled by this converter. Declaration object 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 Object the deserialized object | Improve this Doc View Source ToValue(Object, Object) Converts the given object to a Value . Declaration Value ToValue(object obj, object parent) Parameters Type Name Description Object obj the object to convert Object parent the owning object of obj Returns Type Description Value a representation of obj as a Value structure Extension Methods ReflectionUtil.SetField(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])"
+ "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 Provides generic utilities for converters for certain types. CustomObjectConverter A ValueConverter for objects normally serialized to config via Generated(Config, Boolean) . IListConverter A CollectionConverter for an IList , creating a List when deserializing. IListConverter An IListConverter which default constructs a converter for use as the value converter. ISetConverter A CollectionConverter for an ISet , creating a HashSet when deserializing. ISetConverter An ISetConverter which default constructs a converter for use as the value converter. ListConverter A CollectionConverter for a List . ListConverter A ListConverter which default constructs a converter for use as the value converter. NullableConverter A converter for a Nullable . NullableConverter A converter for a Nullable that default-constructs a converter of type TConverter to use as the underlying converter. Use this in the UseConverterAttribute ."
},
- "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. TODO: describe details of generated stores"
+ "api/IPA.Config.Stores.Attributes.NonNullableAttribute.html": {
+ "href": "api/IPA.Config.Stores.Attributes.NonNullableAttribute.html",
+ "title": "Class NonNullableAttribute",
+ "keywords": "Class 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 . Inheritance Object Attribute NonNullableAttribute 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 NonNullableAttribute : Attribute, _Attribute Implements System.Runtime.InteropServices._Attribute Extension Methods ReflectionUtil.SetField(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])"
},
- "api/BSIPA_ModList.UI.ViewControllers.html": {
- "href": "api/BSIPA_ModList.UI.ViewControllers.html",
+ "api/IPA.Config.IModPrefs.html": {
+ "href": "api/IPA.Config.IModPrefs.html",
+ "title": "Interface IModPrefs",
+ "keywords": "Interface IModPrefs Allows to get and set preferences for your mod. Namespace : IPA.Config Assembly : IPA.Loader.dll Syntax [Obsolete(\"Uses IniFile, which uses 16 bit system calls. Use BS Utils INI system for now.\")] public interface IModPrefs Methods | Improve this Doc View Source GetBool(String, String, Boolean, Boolean) Gets a bool from the ini. Declaration bool GetBool(string section, string name, bool defaultValue = false, bool autoSave = false) Parameters Type Name Description String section Section of the key. String name Name of the key. Boolean defaultValue Value that should be used when no value is found. Boolean autoSave Whether or not the default value should be written if no value is found. Returns Type Description Boolean | Improve this Doc View Source GetFloat(String, String, Single, Boolean) Gets a float from the ini. Declaration float GetFloat(string section, string name, float defaultValue = 0F, bool autoSave = false) Parameters Type Name Description String section Section of the key. String name Name of the key. Single defaultValue Value that should be used when no value is found. Boolean autoSave Whether or not the default value should be written if no value is found. Returns Type Description Single | Improve this Doc View Source GetInt(String, String, Int32, Boolean) Gets an int from the ini. Declaration int GetInt(string section, string name, int defaultValue = 0, bool autoSave = false) Parameters Type Name Description String section Section of the key. String name Name of the key. Int32 defaultValue Value that should be used when no value is found. Boolean autoSave Whether or not the default value should be written if no value is found. Returns Type Description Int32 | Improve this Doc View Source GetString(String, String, String, Boolean) Gets a string from the ini. Declaration string GetString(string section, string name, string defaultValue = \"\", bool autoSave = false) Parameters Type Name Description String section Section of the key. String name Name of the key. String defaultValue Value that should be used when no value is found. Boolean autoSave Whether or not the default value should be written if no value is found. Returns Type Description String | Improve this Doc View Source HasKey(String, String) Checks whether or not a key exists in the ini. Declaration bool HasKey(string section, string name) Parameters Type Name Description String section Section of the key. String name Name of the key. Returns Type Description Boolean | Improve this Doc View Source SetBool(String, String, Boolean) Sets a bool in the ini. Declaration void SetBool(string section, string name, bool value) Parameters Type Name Description String section Section of the key. String name Name of the key. Boolean value Value that should be written. | Improve this Doc View Source SetFloat(String, String, Single) Sets a float in the ini. Declaration void SetFloat(string section, string name, float value) Parameters Type Name Description String section Section of the key. String name Name of the key. Single value Value that should be written. | Improve this Doc View Source SetInt(String, String, Int32) Sets an int in the ini. Declaration void SetInt(string section, string name, int value) Parameters Type Name Description String section Section of the key. String name Name of the key. Int32 value Value that should be written. | Improve this Doc View Source SetString(String, String, String) Sets a string in the ini. Declaration void SetString(string section, string name, string value) Parameters Type Name Description String section Section of the key. String name Name of the key. String value Value that should be written. Extension Methods ReflectionUtil.SetField(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])"
+ },
+ "api/IPA.Config.IConfigStore.html": {
+ "href": "api/IPA.Config.IConfigStore.html",
+ "title": "Interface IConfigStore",
+ "keywords": "Interface IConfigStore A storage for a config structure. Namespace : IPA.Config Assembly : IPA.Loader.dll Syntax public interface IConfigStore Properties | Improve this Doc View Source SyncObject A synchronization object for the save thread to wait on for changes. It should be signaled whenever the internal state of the object is changed. The writer will never signal this handle. Declaration WaitHandle SyncObject { get; } Property Value Type Description WaitHandle | Improve this Doc View Source WriteSyncObject A synchronization object for the load thread and accessors to maintain safe synchronization. Any readers should take a read lock with EnterReadLock() or EnterUpgradeableReadLock() , and any writers should take a write lock with EnterWriteLock() . Declaration ReaderWriterLockSlim WriteSyncObject { get; } Property Value Type Description ReaderWriterLockSlim Remarks Read and write are read and write to this object , not to the file on disk. Methods | Improve this Doc View Source ReadFrom(ConfigProvider) Reads the config structure from the given IConfigProvider into the current IConfigStore . Declaration void ReadFrom(ConfigProvider provider) Parameters Type Name Description ConfigProvider provider the provider to read from Remarks The calling code will have entered a write lock on WriteSyncObject when this is called. | Improve this Doc View Source WriteTo(ConfigProvider) Writes the config structure stored by the current IConfigStore to the given IConfigProvider . Declaration void WriteTo(ConfigProvider provider) Parameters Type Name Description ConfigProvider provider the provider to write to Remarks The calling code will have entered a read lock on WriteSyncObject when this is called. Extension Methods ReflectionUtil.SetField(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])"
+ },
+ "api/IPA.Config.Data.html": {
+ "href": "api/IPA.Config.Data.html",
"title": "",
- "keywords": "Classes MarkdownView A UI component that renders CommonMark Markdown in-game."
+ "keywords": "Classes Boolean A Value representing a boolean value. FloatingPoint A Value representing a floating point value. This may hold a Decimal 's worth of data. Integer A Value representing an integer. This may hold a Int64 's worth of data. List A list of Value s for serialization by an IConfigProvider . Use List() or From(IEnumerable) to create. Map A ordered map of String to Value for serialization by an IConfigProvider . Use Map() or From(IDictionary) to create. Text A Value representing a piece of text. The only reason this is not named String is so that it doesn't conflict with String . 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."
},
- "api/IPA.Loader.PluginInitInjector.InjectParameter.html": {
- "href": "api/IPA.Loader.PluginInitInjector.InjectParameter.html",
- "title": "Delegate PluginInitInjector.InjectParameter",
- "keywords": "Delegate 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. Namespace : IPA.Loader Assembly : IPA.Loader.dll Syntax public delegate object InjectParameter(object previous, ParameterInfo param, PluginMetadata meta); Parameters Type Name Description Object previous the previous return value of the function, or null if never called for plugin. ParameterInfo param the ParameterInfo of the parameter being injected. PluginMetadata meta the PluginMetadata for the plugin being loaded. Returns Type Description Object the value to inject into that parameter. Extension Methods ReflectionUtil.SetField(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])"
+ "api/IPA.Config.Data.Text.html": {
+ "href": "api/IPA.Config.Data.Text.html",
+ "title": "Class Text",
+ "keywords": "Class Text A Value representing a piece of text. The only reason this is not named String is so that it doesn't conflict with String . Inheritance Object Value Text 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 Text : Value Properties | Improve this Doc View Source Value The actual value of this Text object. Declaration public string Value { get; set; } Property Value Type Description String Methods | Improve this Doc View Source ToString() Converts this Value into a human-readable format. Declaration public override string ToString() Returns Type Description String a quoted, unescaped string form of Value Overrides Value.ToString() Extension Methods ReflectionUtil.SetField(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])"
},
- "api/IPA.Config.Stores.Converters.ListConverter-1.html": {
- "href": "api/IPA.Config.Stores.Converters.ListConverter-1.html",
- "title": "Class ListConverter",
- "keywords": "Class ListConverter A CollectionConverter for a List . Inheritance Object ValueConverter < List > CollectionConverter > ListConverter ListConverter Implements IValueConverter Inherited Members CollectionConverter>.BaseConverter CollectionConverter>.Create(Int32, Object) CollectionConverter