diff --git a/branch/4.0.0-beta/api/BSIPA_ModList.UI.ViewControllers.MarkdownView.html b/branch/4.0.0-beta/api/BSIPA_ModList.UI.ViewControllers.MarkdownView.html index 265e83ae..38b12164 100644 --- a/branch/4.0.0-beta/api/BSIPA_ModList.UI.ViewControllers.MarkdownView.html +++ b/branch/4.0.0-beta/api/BSIPA_ModList.UI.ViewControllers.MarkdownView.html @@ -389,7 +389,7 @@ public class MarkdownView : MonoBehaviour Improve this Doc - View Source + View Source

MarkdownView()

@@ -407,7 +407,7 @@ public class MarkdownView : MonoBehaviour Improve this Doc - View Source + 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.

@@ -440,7 +440,7 @@ public class MarkdownView : MonoBehaviour Improve this Doc - View Source + View Source

Markdown

@@ -475,7 +475,7 @@ public class MarkdownView : MonoBehaviour Improve this Doc - View Source + View Source

rectTransform

@@ -504,32 +504,20 @@ public class MarkdownView : MonoBehaviour

Extension Methods

- ReflectionUtil.SetField(Object, String, Object) -
-
- ReflectionUtil.SetField<T>(T, String, Object) -
-
- ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
ReflectionUtil.GetField<T, U>(U, String)
- ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
- ReflectionUtil.SetProperty<T>(T, String, Object) -
-
- ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
ReflectionUtil.InvokeMethod<T>(T, String, Object[])
-
- ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
@@ -550,7 +538,7 @@ public class MarkdownView : MonoBehaviour Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Config.Config.NameAttribute.html b/branch/4.0.0-beta/api/IPA.Config.Config.NameAttribute.html index 3907a034..56542ca5 100644 --- a/branch/4.0.0-beta/api/IPA.Config.Config.NameAttribute.html +++ b/branch/4.0.0-beta/api/IPA.Config.Config.NameAttribute.html @@ -252,7 +252,7 @@ public sealed class NameAttribute : Attribute, _Attribute Improve this Doc - View Source + View Source

    NameAttribute(String)

    @@ -288,7 +288,7 @@ public sealed class NameAttribute : Attribute, _Attribute Improve this Doc - View Source + View Source

    Name

    @@ -321,32 +321,20 @@ public sealed class NameAttribute : Attribute, _Attribute

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -361,7 +349,7 @@ public sealed class NameAttribute : Attribute, _Attribute Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Config.Config.PreferAttribute.html b/branch/4.0.0-beta/api/IPA.Config.Config.PreferAttribute.html index bfd51637..c1e1ba27 100644 --- a/branch/4.0.0-beta/api/IPA.Config.Config.PreferAttribute.html +++ b/branch/4.0.0-beta/api/IPA.Config.Config.PreferAttribute.html @@ -253,7 +253,7 @@ public sealed class PreferAttribute : Attribute, _Attribute Improve this Doc - View Source + View Source

    PreferAttribute(String[])

    @@ -289,7 +289,7 @@ public sealed class PreferAttribute : Attribute, _Attribute Improve this Doc - View Source + View Source

    PreferenceOrder

    @@ -322,32 +322,20 @@ public sealed class PreferAttribute : Attribute, _Attribute

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -362,7 +350,7 @@ public sealed class PreferAttribute : Attribute, _Attribute Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Config.Config.html b/branch/4.0.0-beta/api/IPA.Config.Config.html index 617e5568..a770c0ff 100644 --- a/branch/4.0.0-beta/api/IPA.Config.Config.html +++ b/branch/4.0.0-beta/api/IPA.Config.Config.html @@ -130,7 +130,7 @@ disk representation.

    Improve this Doc - View Source + View Source

    Name

    @@ -161,7 +161,7 @@ disk representation.

    Improve this Doc - View Source + View Source

    Provider

    @@ -194,7 +194,7 @@ disk representation.

    Improve this Doc - View Source + View Source

    GetConfigFor(String, String[])

    @@ -250,7 +250,7 @@ disk representation.

    Improve this Doc - View Source + View Source

    LoadAsync()

    @@ -281,7 +281,7 @@ disk representation.

    Improve this Doc - View Source + View Source

    LoadSync()

    @@ -297,7 +297,7 @@ disk representation.

    Improve this Doc - View Source + View Source

    Register(Type)

    @@ -331,7 +331,7 @@ disk representation.

    Improve this Doc - View Source + View Source

    Register<T>()

    @@ -364,7 +364,7 @@ disk representation.

    Improve this Doc - View Source + View Source

    SetStore(IConfigStore)

    @@ -411,32 +411,20 @@ disk representation.

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -454,7 +442,7 @@ disk representation.

    Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Config.ConfigProvider.html b/branch/4.0.0-beta/api/IPA.Config.ConfigProvider.html index 39b6ac7e..bc276d36 100644 --- a/branch/4.0.0-beta/api/IPA.Config.ConfigProvider.html +++ b/branch/4.0.0-beta/api/IPA.Config.ConfigProvider.html @@ -129,7 +129,7 @@ Improve this Doc - View Source + View Source

    Load()

    @@ -162,7 +162,7 @@ and returns it.

    Improve this Doc - View Source + View Source

    Store(Value)

    @@ -193,32 +193,20 @@ and returns it.

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -233,7 +221,7 @@ and returns it.

    Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Config.Data.Boolean.html b/branch/4.0.0-beta/api/IPA.Config.Data.Boolean.html index 33365b0f..26a405ce 100644 --- a/branch/4.0.0-beta/api/IPA.Config.Data.Boolean.html +++ b/branch/4.0.0-beta/api/IPA.Config.Data.Boolean.html @@ -169,7 +169,7 @@ Improve this Doc - View Source + View Source

    Value

    @@ -202,7 +202,7 @@ Improve this Doc - View Source + View Source

    ToString()

    @@ -233,32 +233,20 @@
    Value.ToString()

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -273,7 +261,7 @@ Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Config.Data.FloatingPoint.html b/branch/4.0.0-beta/api/IPA.Config.Data.FloatingPoint.html index 3d6a3d9e..50f73998 100644 --- a/branch/4.0.0-beta/api/IPA.Config.Data.FloatingPoint.html +++ b/branch/4.0.0-beta/api/IPA.Config.Data.FloatingPoint.html @@ -170,7 +170,7 @@ Improve this Doc - View Source + View Source

    Value

    @@ -203,7 +203,7 @@ Improve this Doc - View Source + View Source

    AsInteger()

    @@ -235,7 +235,7 @@ Improve this Doc - View Source + View Source

    ToString()

    @@ -266,32 +266,20 @@
    Value.ToString()

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -306,7 +294,7 @@ Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Config.Data.Integer.html b/branch/4.0.0-beta/api/IPA.Config.Data.Integer.html index 88886938..f9065f49 100644 --- a/branch/4.0.0-beta/api/IPA.Config.Data.Integer.html +++ b/branch/4.0.0-beta/api/IPA.Config.Data.Integer.html @@ -170,7 +170,7 @@ worth of data.

    Improve this Doc - View Source + View Source

    Value

    @@ -203,7 +203,7 @@ worth of data.

    Improve this Doc - View Source + View Source

    AsFloat()

    @@ -235,7 +235,7 @@ worth of data.

    Improve this Doc - View Source + View Source

    ToString()

    @@ -266,32 +266,20 @@ worth of data.

    Value.ToString()

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -306,7 +294,7 @@ worth of data.

    Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Config.Data.List.html b/branch/4.0.0-beta/api/IPA.Config.Data.List.html index fd4cdfd8..656967be 100644 --- a/branch/4.0.0-beta/api/IPA.Config.Data.List.html +++ b/branch/4.0.0-beta/api/IPA.Config.Data.List.html @@ -177,7 +177,7 @@ Use Improve this Doc - View Source + View Source

    Count

    @@ -212,7 +212,7 @@ Use Improve this Doc - View Source + View Source

    Item[Int32]

    @@ -268,7 +268,7 @@ Use Improve this Doc - View Source + View Source

    Add(Value)

    @@ -306,7 +306,7 @@ Use Improve this Doc - View Source + View Source

    AddRange(IEnumerable<Value>)

    @@ -340,7 +340,7 @@ Use Improve this Doc - View Source + View Source

    Clear()

    @@ -360,7 +360,7 @@ Use Improve this Doc - View Source + View Source

    Contains(Value)

    @@ -413,7 +413,7 @@ Use Improve this Doc - View Source + View Source

    CopyTo(Value[], Int32)

    @@ -457,7 +457,7 @@ Use Improve this Doc - View Source + View Source

    GetEnumerator()

    @@ -493,7 +493,7 @@ Use Improve this Doc - View Source + View Source

    IndexOf(Value)

    @@ -547,7 +547,7 @@ Use Improve this Doc - View Source + View Source

    Insert(Int32, Value)

    @@ -591,7 +591,7 @@ Use Improve this Doc - View Source + View Source

    Remove(Value)

    @@ -645,7 +645,7 @@ Use Improve this Doc - View Source + View Source

    RemoveAt(Int32)

    @@ -683,7 +683,7 @@ Use Improve this Doc - View Source + View Source

    ToString()

    @@ -719,7 +719,7 @@ Use Improve this Doc - View Source + View Source

    ICollection<Value>.IsReadOnly

    @@ -749,7 +749,7 @@ Use Improve this Doc - View Source + View Source

    IEnumerable.GetEnumerator()

    @@ -801,32 +801,20 @@ Use EnumerableExtensions.NonNull<T, U>(IEnumerable<T>, Func<T, U>)
    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -841,7 +829,7 @@ Use Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Config.Data.Map.html b/branch/4.0.0-beta/api/IPA.Config.Data.Map.html index 1abcbff0..f5dc1f6a 100644 --- a/branch/4.0.0-beta/api/IPA.Config.Data.Map.html +++ b/branch/4.0.0-beta/api/IPA.Config.Data.Map.html @@ -177,7 +177,7 @@ Use Improve this Doc - View Source + View Source

    Count

    @@ -212,7 +212,7 @@ Use Improve this Doc - View Source + View Source

    Item[String]

    @@ -266,7 +266,7 @@ Use Improve this Doc - View Source + View Source

    Keys

    @@ -301,7 +301,7 @@ Use Improve this Doc - View Source + View Source

    Values

    @@ -342,7 +342,7 @@ guarantee that order is maintained.

    Improve this Doc - View Source + View Source

    Add(String, Value)

    @@ -386,7 +386,7 @@ guarantee that order is maintained.

    Improve this Doc - View Source + View Source

    Clear()

    @@ -406,7 +406,7 @@ guarantee that order is maintained.

    Improve this Doc - View Source + View Source

    ContainsKey(String)

    @@ -459,7 +459,7 @@ guarantee that order is maintained.

    Improve this Doc - View Source + View Source

    GetEnumerator()

    @@ -495,7 +495,7 @@ guarantee that order is maintained.

    Improve this Doc - View Source + View Source

    Remove(String)

    @@ -549,7 +549,7 @@ guarantee that order is maintained.

    Improve this Doc - View Source + View Source

    ToString()

    @@ -583,7 +583,7 @@ guarantee that order is maintained.

    Improve this Doc - View Source + View Source

    TryGetValue(String, out Value)

    @@ -645,7 +645,7 @@ guarantee that order is maintained.

    Improve this Doc - View Source + View Source

    ICollection<KeyValuePair<String, Value>>.Add(KeyValuePair<String, Value>)

    @@ -677,7 +677,7 @@ guarantee that order is maintained.

    Improve this Doc - View Source + View Source

    ICollection<KeyValuePair<String, Value>>.Contains(KeyValuePair<String, Value>)

    @@ -724,7 +724,7 @@ guarantee that order is maintained.

    Improve this Doc - View Source + View Source

    ICollection<KeyValuePair<String, Value>>.CopyTo(KeyValuePair<String, Value>[], Int32)

    @@ -761,7 +761,7 @@ guarantee that order is maintained.

    Improve this Doc - View Source + View Source

    ICollection<KeyValuePair<String, Value>>.IsReadOnly

    @@ -791,7 +791,7 @@ guarantee that order is maintained.

    Improve this Doc - View Source + View Source

    ICollection<KeyValuePair<String, Value>>.Remove(KeyValuePair<String, Value>)

    @@ -838,7 +838,7 @@ guarantee that order is maintained.

    Improve this Doc - View Source + View Source

    IEnumerable.GetEnumerator()

    @@ -887,32 +887,20 @@ guarantee that order is maintained.

    EnumerableExtensions.NonNull<T, U>(IEnumerable<T>, Func<T, U>)
    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -927,7 +915,7 @@ guarantee that order is maintained.

    Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Config.Data.Text.html b/branch/4.0.0-beta/api/IPA.Config.Data.Text.html index b827eb81..00e2ee07 100644 --- a/branch/4.0.0-beta/api/IPA.Config.Data.Text.html +++ b/branch/4.0.0-beta/api/IPA.Config.Data.Text.html @@ -170,7 +170,7 @@ String is so that it doesn't conflict with Improve this Doc - View Source + View Source

    Value

    @@ -203,7 +203,7 @@ String is so that it doesn't conflict with Improve this Doc - View Source + View Source

    ToString()

    @@ -234,32 +234,20 @@ String is so that it doesn't conflict with Value.ToString()

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -274,7 +262,7 @@ String is so that it doesn't conflict with Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Config.Data.Value.html b/branch/4.0.0-beta/api/IPA.Config.Data.Value.html index 04c35816..5b1c09a7 100644 --- a/branch/4.0.0-beta/api/IPA.Config.Data.Value.html +++ b/branch/4.0.0-beta/api/IPA.Config.Data.Value.html @@ -135,7 +135,7 @@ Also contains factory functions for all derived types.

    Improve this Doc - View Source + View Source

    Bool(Boolean)

    @@ -189,7 +189,7 @@ Also contains factory functions for all derived types.

    Improve this Doc - View Source + View Source

    Float(Decimal)

    @@ -243,7 +243,7 @@ Also contains factory functions for all derived types.

    Improve this Doc - View Source + View Source

    From(Boolean)

    @@ -297,7 +297,7 @@ Also contains factory functions for all derived types.

    Improve this Doc - View Source + View Source

    From(IDictionary<String, Value>)

    @@ -353,7 +353,7 @@ of St Improve this Doc - View Source + View Source

    From(IEnumerable<Value>)

    @@ -408,7 +408,7 @@ of Value.

    Improve this Doc - View Source + View Source

    From(IEnumerable<KeyValuePair<String, Value>>)

    @@ -464,7 +464,7 @@ of Improve this Doc - View Source + View Source

    From(Decimal)

    @@ -518,7 +518,7 @@ of Improve this Doc - View Source + View Source

    From(Int64)

    @@ -572,7 +572,7 @@ of Improve this Doc - View Source + View Source

    From(String)

    @@ -626,7 +626,7 @@ of Improve this Doc - View Source + View Source

    Integer(Int64)

    @@ -680,7 +680,7 @@ of Improve this Doc - View Source + View Source

    List()

    @@ -716,7 +716,7 @@ of Improve this Doc - View Source + View Source

    Map()

    @@ -753,7 +753,7 @@ of Improve this Doc - View Source + View Source

    Null()

    @@ -784,7 +784,7 @@ of Improve this Doc - View Source + View Source

    Text(String)

    @@ -838,7 +838,7 @@ of Improve this Doc - View Source + View Source

    ToString()

    @@ -869,32 +869,20 @@ of Object.ToString()

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -909,7 +897,7 @@ of Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Config.IConfigProvider.html b/branch/4.0.0-beta/api/IPA.Config.IConfigProvider.html index 09545a51..555455c8 100644 --- a/branch/4.0.0-beta/api/IPA.Config.IConfigProvider.html +++ b/branch/4.0.0-beta/api/IPA.Config.IConfigProvider.html @@ -113,7 +113,7 @@ This is reasonable, as Integ Improve this Doc - View Source + View Source

    Extension

    @@ -150,7 +150,7 @@ This is reasonable, as Integ Improve this Doc - View Source + View Source

    Load(FileInfo)

    @@ -201,7 +201,7 @@ and returns it.

    Improve this Doc - View Source + View Source

    Store(Value, FileInfo)

    @@ -238,32 +238,20 @@ and returns it.

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -278,7 +266,7 @@ and returns it.

    Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Config.IConfigStore.html b/branch/4.0.0-beta/api/IPA.Config.IConfigStore.html index ce87f355..58ba6629 100644 --- a/branch/4.0.0-beta/api/IPA.Config.IConfigStore.html +++ b/branch/4.0.0-beta/api/IPA.Config.IConfigStore.html @@ -100,7 +100,7 @@ Improve this Doc - View Source + View Source

    SyncObject

    @@ -133,7 +133,7 @@ The writer will never signal this handle.

    Improve this Doc - View Source + View Source

    WriteSyncObject

    @@ -172,7 +172,7 @@ write lock with Improve this Doc - View Source + View Source

    ReadFrom(ConfigProvider)

    @@ -211,7 +211,7 @@ this is called.

    Improve this Doc - View Source + View Source

    WriteTo(ConfigProvider)

    @@ -247,32 +247,20 @@ this is called.

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -287,7 +275,7 @@ this is called.

    Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Config.IModPrefs.html b/branch/4.0.0-beta/api/IPA.Config.IModPrefs.html index cc3825c4..181cd04f 100644 --- a/branch/4.0.0-beta/api/IPA.Config.IModPrefs.html +++ b/branch/4.0.0-beta/api/IPA.Config.IModPrefs.html @@ -101,7 +101,7 @@ public interface IModPrefs Improve this Doc - View Source + View Source

    GetBool(String, String, Boolean, Boolean)

    @@ -168,7 +168,7 @@ public interface IModPrefs Improve this Doc - View Source + View Source

    GetFloat(String, String, Single, Boolean)

    @@ -235,7 +235,7 @@ public interface IModPrefs Improve this Doc - View Source + View Source

    GetInt(String, String, Int32, Boolean)

    @@ -302,7 +302,7 @@ public interface IModPrefs Improve this Doc - View Source + View Source

    GetString(String, String, String, Boolean)

    @@ -369,7 +369,7 @@ public interface IModPrefs Improve this Doc - View Source + View Source

    HasKey(String, String)

    @@ -424,7 +424,7 @@ public interface IModPrefs Improve this Doc - View Source + View Source

    SetBool(String, String, Boolean)

    @@ -470,7 +470,7 @@ public interface IModPrefs Improve this Doc - View Source + View Source

    SetFloat(String, String, Single)

    @@ -516,7 +516,7 @@ public interface IModPrefs Improve this Doc - View Source + View Source

    SetInt(String, String, Int32)

    @@ -562,7 +562,7 @@ public interface IModPrefs Improve this Doc - View Source + View Source

    SetString(String, String, String)

    @@ -605,32 +605,20 @@ public interface IModPrefs

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -645,7 +633,7 @@ public interface IModPrefs Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Config.ModPrefs.html b/branch/4.0.0-beta/api/IPA.Config.ModPrefs.html index 2e519788..a9440197 100644 --- a/branch/4.0.0-beta/api/IPA.Config.ModPrefs.html +++ b/branch/4.0.0-beta/api/IPA.Config.ModPrefs.html @@ -134,7 +134,7 @@ public class ModPrefs : IModPrefs Improve this Doc - View Source + View Source

    ModPrefs(PluginMetadata)

    @@ -170,7 +170,7 @@ public class ModPrefs : IModPrefs Improve this Doc - View Source + View Source

    GetBool(String, String, Boolean, Boolean)

    @@ -237,7 +237,7 @@ public class ModPrefs : IModPrefs Improve this Doc - View Source + View Source

    GetFloat(String, String, Single, Boolean)

    @@ -304,7 +304,7 @@ public class ModPrefs : IModPrefs Improve this Doc - View Source + View Source

    GetInt(String, String, Int32, Boolean)

    @@ -371,7 +371,7 @@ public class ModPrefs : IModPrefs Improve this Doc - View Source + View Source

    GetString(String, String, String, Boolean)

    @@ -438,7 +438,7 @@ public class ModPrefs : IModPrefs Improve this Doc - View Source + View Source

    HasKey(String, String)

    @@ -493,7 +493,7 @@ public class ModPrefs : IModPrefs Improve this Doc - View Source + View Source

    SetBool(String, String, Boolean)

    @@ -539,7 +539,7 @@ public class ModPrefs : IModPrefs Improve this Doc - View Source + View Source

    SetFloat(String, String, Single)

    @@ -585,7 +585,7 @@ public class ModPrefs : IModPrefs Improve this Doc - View Source + View Source

    SetInt(String, String, Int32)

    @@ -631,7 +631,7 @@ public class ModPrefs : IModPrefs Improve this Doc - View Source + View Source

    SetString(String, String, String)

    @@ -679,7 +679,7 @@ public class ModPrefs : IModPrefs Improve this Doc - View Source + View Source

    IModPrefs.GetBool(String, String, Boolean, Boolean)

    @@ -741,7 +741,7 @@ public class ModPrefs : IModPrefs Improve this Doc - View Source + View Source

    IModPrefs.GetFloat(String, String, Single, Boolean)

    @@ -803,7 +803,7 @@ public class ModPrefs : IModPrefs Improve this Doc - View Source + View Source

    IModPrefs.GetInt(String, String, Int32, Boolean)

    @@ -865,7 +865,7 @@ public class ModPrefs : IModPrefs Improve this Doc - View Source + View Source

    IModPrefs.GetString(String, String, String, Boolean)

    @@ -927,7 +927,7 @@ public class ModPrefs : IModPrefs Improve this Doc - View Source + View Source

    IModPrefs.HasKey(String, String)

    @@ -979,7 +979,7 @@ public class ModPrefs : IModPrefs Improve this Doc - View Source + View Source

    IModPrefs.SetBool(String, String, Boolean)

    @@ -1021,7 +1021,7 @@ public class ModPrefs : IModPrefs Improve this Doc - View Source + View Source

    IModPrefs.SetFloat(String, String, Single)

    @@ -1063,7 +1063,7 @@ public class ModPrefs : IModPrefs Improve this Doc - View Source + View Source

    IModPrefs.SetInt(String, String, Int32)

    @@ -1105,7 +1105,7 @@ public class ModPrefs : IModPrefs Improve this Doc - View Source + View Source

    IModPrefs.SetString(String, String, String)

    @@ -1148,32 +1148,20 @@ public class ModPrefs : IModPrefs

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -1188,7 +1176,7 @@ public class ModPrefs : IModPrefs Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Config.Stores.Attributes.IgnoreAttribute.html b/branch/4.0.0-beta/api/IPA.Config.Stores.Attributes.IgnoreAttribute.html index 47f29f60..c376ba9a 100644 --- a/branch/4.0.0-beta/api/IPA.Config.Stores.Attributes.IgnoreAttribute.html +++ b/branch/4.0.0-beta/api/IPA.Config.Stores.Attributes.IgnoreAttribute.html @@ -252,32 +252,20 @@ public sealed class IgnoreAttribute : Attribute, _Attribute

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -292,7 +280,7 @@ public sealed class IgnoreAttribute : Attribute, _Attribute Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Config.Stores.Attributes.NonNullableAttribute.html b/branch/4.0.0-beta/api/IPA.Config.Stores.Attributes.NonNullableAttribute.html index 1d55fe71..fcf076b0 100644 --- a/branch/4.0.0-beta/api/IPA.Config.Stores.Attributes.NonNullableAttribute.html +++ b/branch/4.0.0-beta/api/IPA.Config.Stores.Attributes.NonNullableAttribute.html @@ -253,32 +253,20 @@ public sealed class NonNullableAttribute : Attribute, _Attribute

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -293,7 +281,7 @@ public sealed class NonNullableAttribute : Attribute, _Attribute Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Config.Stores.Attributes.SerializedNameAttribute.html b/branch/4.0.0-beta/api/IPA.Config.Stores.Attributes.SerializedNameAttribute.html index 4c797844..cfbe3215 100644 --- a/branch/4.0.0-beta/api/IPA.Config.Stores.Attributes.SerializedNameAttribute.html +++ b/branch/4.0.0-beta/api/IPA.Config.Stores.Attributes.SerializedNameAttribute.html @@ -276,7 +276,7 @@ However, if we were to add a Improve this Doc - View Source + View Source

    SerializedNameAttribute(String)

    @@ -312,7 +312,7 @@ However, if we were to add a Improve this Doc - View Source + View Source

    Name

    @@ -344,32 +344,20 @@ However, if we were to add a Extension Methods
    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -384,7 +372,7 @@ However, if we were to add a Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Config.Stores.Attributes.UseConverterAttribute.html b/branch/4.0.0-beta/api/IPA.Config.Stores.Attributes.UseConverterAttribute.html index 086f127d..8ac87190 100644 --- a/branch/4.0.0-beta/api/IPA.Config.Stores.Attributes.UseConverterAttribute.html +++ b/branch/4.0.0-beta/api/IPA.Config.Stores.Attributes.UseConverterAttribute.html @@ -253,7 +253,7 @@ public sealed class UseConverterAttribute : Attribute, _Attribute Improve this Doc - View Source + View Source

    UseConverterAttribute(Type)

    @@ -289,7 +289,7 @@ public sealed class UseConverterAttribute : Attribute, _Attribute Improve this Doc - View Source + View Source

    ConverterTargetType

    @@ -321,7 +321,7 @@ public sealed class UseConverterAttribute : Attribute, _Attribute Improve this Doc - View Source + View Source

    ConverterType

    @@ -352,7 +352,7 @@ public sealed class UseConverterAttribute : Attribute, _Attribute Improve this Doc - View Source + View Source

    IsGenericConverter

    @@ -384,32 +384,20 @@ public sealed class UseConverterAttribute : Attribute, _Attribute

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -424,7 +412,7 @@ public sealed class UseConverterAttribute : Attribute, _Attribute Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.CollectionConverter-2.html b/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.CollectionConverter-2.html index bc7c3d77..0e7dd7ca 100644 --- a/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.CollectionConverter-2.html +++ b/branch/4.0.0-beta/api/IPA.Config.Stores.Converters.CollectionConverter-2.html @@ -168,7 +168,7 @@ Improve this Doc - View Source + View Source

    CollectionConverter()

    @@ -190,7 +190,7 @@ with Improve this Doc - View Source + View Source

    CollectionConverter(ValueConverter<T>)

    @@ -226,7 +226,7 @@ with Improve this Doc - View Source + View Source

    BaseConverter

    @@ -259,7 +259,7 @@ with Improve this Doc - View Source + View Source

    Create(Int32, Object)

    @@ -320,7 +320,7 @@ with Improve this Doc - View Source + View Source

    FromValue(Value, Object)

    @@ -383,7 +383,7 @@ owned by parent.< Improve this Doc - View Source + View Source

    PopulateFromValue(TCollection, List, Object)

    @@ -434,7 +434,7 @@ with the parent parentImprove this Doc - View Source + View Source

    ToValue(TCollection, Object)

    @@ -497,32 +497,20 @@ with the parent parent

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -537,7 +525,7 @@ with the parent parentImprove 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 6536f9ba..e62d5c26 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()

    @@ -214,32 +214,20 @@ with a default-constructed Extension Methods
    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -258,7 +246,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 108f2ac1..dfe7e0be 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 260ba7e4..3534c549 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 3a171188..c9df2b81 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)

    @@ -404,32 +404,20 @@

    Extension Methods

    - - - - @@ -448,7 +436,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 bbd7797f..89bb3d49 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)

    @@ -297,32 +297,20 @@

    Extension Methods

    - - - - @@ -341,7 +329,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 8b75c4b8..7ab69ba1 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()

    @@ -213,32 +213,20 @@ with a default-constructed Extension Methods - - - - @@ -257,7 +245,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 6f81f8d1..1e8d8e8c 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)

    @@ -297,32 +297,20 @@

    Extension Methods

    - - - - @@ -341,7 +329,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 233811f1..9a9f275e 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()

    @@ -213,32 +213,20 @@ with a default-constructed Extension Methods - - - - @@ -257,7 +245,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 01438448..15c1fc58 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)

    @@ -297,32 +297,20 @@

    Extension Methods

    - - - - @@ -341,7 +329,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 f9a42ec3..fe7600b8 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()

    @@ -213,32 +213,20 @@ with a default-constructed Extension Methods - - - - @@ -257,7 +245,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 833c806d..bb1d0134 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)

    @@ -336,32 +336,20 @@ Equivalent to

    Extension Methods

    - - - - @@ -376,7 +364,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 97f6571a..fde4d7ee 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()

    @@ -193,32 +193,20 @@ to use as the underlying converter. Use this in the Extension Methods - - - - @@ -237,7 +225,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 29976e8d..5f19417b 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)

    @@ -281,7 +281,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 7a3e9aeb..b8f88017 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)

    @@ -259,32 +259,20 @@ Converters do not need to perform null checks, as the serializer and de

    Extension Methods

    - - - - @@ -299,7 +287,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 34ad3d6e..0e3d0c9a 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

    @@ -410,32 +410,20 @@

    Extension Methods

    - - - - @@ -454,7 +442,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 17a1018c..5f06bbd5 100644 --- a/branch/4.0.0-beta/api/IPA.InitAttribute.html +++ b/branch/4.0.0-beta/api/IPA.InitAttribute.html @@ -259,32 +259,20 @@ Parameter injection is done with Extension Methods - - - - @@ -304,7 +292,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 3315096a..15bd94f6 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)

    @@ -502,32 +502,20 @@ Any features it defines, for example, will still be loaded.

    Extension Methods

    - - - - @@ -542,7 +530,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 a927d572..e4fae092 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 @@ -141,32 +141,20 @@

    Extension Methods

    - - - - @@ -181,7 +169,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 a66860be..016c2b24 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 d6119443..d9944adb 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 @@ -119,32 +119,20 @@

    Extension Methods

    - - - - @@ -159,7 +147,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 3e4b7cb4..f8c20f75 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 @@ -119,32 +119,20 @@

    Extension Methods

    - - - - @@ -159,7 +147,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 b5be73c6..25c0154e 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)

    @@ -528,7 +528,7 @@ public static IEnumerable<IPlugin> Plugins { get; }
    Improve this Doc - View Source + View Source

    PluginStateTransaction()

    @@ -562,7 +562,7 @@ public static IEnumerable<IPlugin> Plugins { get; }
    Improve this Doc - View Source + View Source

    PluginDisabled

    Called whenever a plugin is disabled.

    @@ -592,7 +592,7 @@ public static IEnumerable<IPlugin> Plugins { get; }
    Improve this Doc - View Source + View Source

    PluginEnabled

    Called whenever a plugin is enabled.

    @@ -628,7 +628,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 17dfd7d2..ab3269c7 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

    IsBare

    @@ -286,7 +286,7 @@ Improve this Doc - View Source + View Source

    Name

    @@ -318,7 +318,7 @@ Improve this Doc - View Source + View Source

    PluginType

    @@ -350,7 +350,7 @@ Improve this Doc - View Source + View Source

    RuntimeOptions

    @@ -381,7 +381,7 @@ Improve this Doc - View Source + View Source

    Version

    @@ -415,7 +415,7 @@ Improve this Doc - View Source + View Source

    ToString()

    @@ -446,32 +446,20 @@
    Object.ToString()

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -486,7 +474,7 @@ Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Loader.StateTransitionTransaction.html b/branch/4.0.0-beta/api/IPA.Loader.StateTransitionTransaction.html index 02961511..287596bc 100644 --- a/branch/4.0.0-beta/api/IPA.Loader.StateTransitionTransaction.html +++ b/branch/4.0.0-beta/api/IPA.Loader.StateTransitionTransaction.html @@ -133,7 +133,7 @@ Improve this Doc - View Source + View Source

    DisabledPlugins

    @@ -164,7 +164,7 @@ Improve this Doc - View Source + View Source

    EnabledPlugins

    @@ -195,7 +195,7 @@ Improve this Doc - View Source + View Source

    WillNeedRestart

    @@ -229,7 +229,7 @@ Improve this Doc - View Source + View Source

    Commit()

    @@ -261,7 +261,7 @@ Improve this Doc - View Source + View Source

    Disable(PluginMetadata)

    @@ -311,7 +311,7 @@ Improve this Doc - View Source + View Source

    Dispose()

    @@ -327,7 +327,7 @@ Improve this Doc - View Source + View Source

    Enable(PluginMetadata)

    @@ -377,7 +377,7 @@ Improve this Doc - View Source + View Source

    IsDisabled(PluginMetadata)

    @@ -435,7 +435,7 @@ Improve this Doc - View Source + View Source

    IsEnabled(PluginMetadata)

    @@ -494,32 +494,20 @@

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -534,7 +522,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 e0be879c..d42c8491 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()

    @@ -249,32 +249,20 @@ Use this to create file handles and the like.

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -289,7 +277,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 f2df9481..24fffd95 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 @@ -147,32 +147,20 @@

    Extension Methods

    - ReflectionUtil.SetField(String, Object) -
    -
    - ReflectionUtil.SetField<Logger.Level>(String, Object) -
    -
    - ReflectionUtil.GetField<T>(String) + ReflectionUtil.SetField<Logger.Level, U>(String, U)
    ReflectionUtil.GetField<T, Logger.Level>(String)
    - ReflectionUtil.SetProperty(String, Object) + ReflectionUtil.SetProperty<Logger.Level, U>(String, U)
    - ReflectionUtil.SetProperty<Logger.Level>(String, Object) -
    -
    - ReflectionUtil.InvokeMethod(String, Object[]) + ReflectionUtil.GetProperty<Logger.Level, U>(String)
    ReflectionUtil.InvokeMethod<Logger.Level>(String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(String, Object[]) -
    ReflectionUtil.InvokeMethod<T, Logger.Level>(String, Object[])
    @@ -187,7 +175,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 75a18070..f2ead859 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 @@ -183,32 +183,20 @@ public enum LogLevel : byte

    Extension Methods

    - ReflectionUtil.SetField(String, Object) -
    -
    - ReflectionUtil.SetField<Logger.LogLevel>(String, Object) -
    -
    - ReflectionUtil.GetField<T>(String) + ReflectionUtil.SetField<Logger.LogLevel, U>(String, U)
    ReflectionUtil.GetField<T, Logger.LogLevel>(String)
    - ReflectionUtil.SetProperty(String, Object) + ReflectionUtil.SetProperty<Logger.LogLevel, U>(String, U)
    - ReflectionUtil.SetProperty<Logger.LogLevel>(String, Object) -
    -
    - ReflectionUtil.InvokeMethod(String, Object[]) + ReflectionUtil.GetProperty<Logger.LogLevel, U>(String)
    ReflectionUtil.InvokeMethod<Logger.LogLevel>(String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(String, Object[]) -
    ReflectionUtil.InvokeMethod<T, Logger.LogLevel>(String, Object[])
    @@ -223,7 +211,7 @@ public enum LogLevel : byte
    Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Logging.Logger.html b/branch/4.0.0-beta/api/IPA.Logging.Logger.html index 93c7247c..a21468d7 100644 --- a/branch/4.0.0-beta/api/IPA.Logging.Logger.html +++ b/branch/4.0.0-beta/api/IPA.Logging.Logger.html @@ -130,7 +130,7 @@ Improve this Doc - View Source + View Source

    LogFormat

    @@ -164,7 +164,7 @@ Improve this Doc - View Source + View Source

    Critical(Exception)

    @@ -203,7 +203,7 @@ Equivalent to Log(Level.Critical, e);

    Improve this Doc - View Source + View Source

    Critical(String)

    @@ -242,7 +242,7 @@ Equivalent to Log(Level.Critical, message);

    Improve this Doc - View Source + View Source

    Debug(Exception)

    @@ -281,7 +281,7 @@ Equivalent to Log(Level.Debug, e);

    Improve this Doc - View Source + View Source

    Debug(String)

    @@ -320,7 +320,7 @@ Equivalent to Log(Level.Debug, message);

    Improve this Doc - View Source + View Source

    Error(Exception)

    @@ -359,7 +359,7 @@ Equivalent to Log(Level.Error, e);

    Improve this Doc - View Source + View Source

    Error(String)

    @@ -398,7 +398,7 @@ Equivalent to Log(Level.Error, message);

    Improve this Doc - View Source + View Source

    Info(Exception)

    @@ -437,7 +437,7 @@ Equivalent to Log(Level.Info, e);

    Improve this Doc - View Source + View Source

    Info(String)

    @@ -476,7 +476,7 @@ Equivalent to Log(Level.Info, message);

    Improve this Doc - View Source + View Source

    Log(Logger.Level, Exception)

    @@ -516,7 +516,7 @@ Equivalent to Log(Level.Info, message);

    Improve this Doc - View Source + View Source

    Log(Logger.Level, String)

    @@ -556,7 +556,7 @@ Equivalent to Log(Level.Info, message);

    Improve this Doc - View Source + View Source

    Notice(Exception)

    @@ -595,7 +595,7 @@ Equivalent to Log(Level.Notice, e);

    Improve this Doc - View Source + View Source

    Notice(String)

    @@ -634,7 +634,7 @@ Equivalent to Log(Level.Notice, message);

    Improve this Doc - View Source + View Source

    Trace(Exception)

    @@ -673,7 +673,7 @@ Equivalent to Log(Level.Trace, e);

    Improve this Doc - View Source + View Source

    Trace(String)

    @@ -712,7 +712,7 @@ Equivalent to Log(Level.Trace, message);

    Improve this Doc - View Source + View Source

    Warn(Exception)

    @@ -751,7 +751,7 @@ Equivalent to Log(Level.Warning, e);

    Improve this Doc - View Source + View Source

    Warn(String)

    @@ -790,32 +790,20 @@ Equivalent to Log(Level.Warning, message);

    LoggerExtensions.GetChildLogger(Logger, String)
    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -830,7 +818,7 @@ Equivalent to Log(Level.Warning, message);

    Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Logging.LoggerExtensions.html b/branch/4.0.0-beta/api/IPA.Logging.LoggerExtensions.html index f786e896..74606c05 100644 --- a/branch/4.0.0-beta/api/IPA.Logging.LoggerExtensions.html +++ b/branch/4.0.0-beta/api/IPA.Logging.LoggerExtensions.html @@ -129,7 +129,7 @@ Improve this Doc - View Source + View Source

    GetChildLogger(Logger, String)

    @@ -191,7 +191,7 @@ Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Logging.Printers.ColoredConsolePrinter.html b/branch/4.0.0-beta/api/IPA.Logging.Printers.ColoredConsolePrinter.html index f6169d91..95dfc868 100644 --- a/branch/4.0.0-beta/api/IPA.Logging.Printers.ColoredConsolePrinter.html +++ b/branch/4.0.0-beta/api/IPA.Logging.Printers.ColoredConsolePrinter.html @@ -136,7 +136,7 @@ Improve this Doc - View Source + View Source

    Color

    @@ -168,7 +168,7 @@ Improve this Doc - View Source + View Source

    Filter

    @@ -204,7 +204,7 @@ Improve this Doc - View Source + View Source

    Print(Logger.Level, DateTime, String, String)

    @@ -255,32 +255,20 @@
    LogPrinter.Print(Logger.Level, DateTime, String, String)

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -295,7 +283,7 @@ Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Logging.Printers.ColorlessConsolePrinter.html b/branch/4.0.0-beta/api/IPA.Logging.Printers.ColorlessConsolePrinter.html index e93abaaf..4f091da4 100644 --- a/branch/4.0.0-beta/api/IPA.Logging.Printers.ColorlessConsolePrinter.html +++ b/branch/4.0.0-beta/api/IPA.Logging.Printers.ColorlessConsolePrinter.html @@ -136,7 +136,7 @@ Improve this Doc - View Source + View Source

    Filter

    @@ -172,7 +172,7 @@ Improve this Doc - View Source + View Source

    Print(Logger.Level, DateTime, String, String)

    @@ -223,32 +223,20 @@
    LogPrinter.Print(Logger.Level, DateTime, String, String)

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -263,7 +251,7 @@ Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Logging.Printers.GZFilePrinter.html b/branch/4.0.0-beta/api/IPA.Logging.Printers.GZFilePrinter.html index b289deb0..537edaec 100644 --- a/branch/4.0.0-beta/api/IPA.Logging.Printers.GZFilePrinter.html +++ b/branch/4.0.0-beta/api/IPA.Logging.Printers.GZFilePrinter.html @@ -143,7 +143,7 @@ Improve this Doc - View Source + View Source

    FileWriter

    The StreamWriter that writes to the GZip file.

    @@ -176,7 +176,7 @@ Improve this Doc - View Source + View Source

    Dispose()

    @@ -191,7 +191,7 @@ Improve this Doc - View Source + View Source

    Dispose(Boolean)

    @@ -225,7 +225,7 @@ Improve this Doc - View Source + View Source

    EndPrint()

    @@ -243,7 +243,7 @@ Improve this Doc - View Source + View Source

    GetFileInfo()

    @@ -275,7 +275,7 @@ Improve this Doc - View Source + View Source

    StartPrint()

    @@ -294,32 +294,20 @@

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -334,7 +322,7 @@ Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Logging.Printers.GlobalLogFilePrinter.html b/branch/4.0.0-beta/api/IPA.Logging.Printers.GlobalLogFilePrinter.html index 672892d1..847f88b9 100644 --- a/branch/4.0.0-beta/api/IPA.Logging.Printers.GlobalLogFilePrinter.html +++ b/branch/4.0.0-beta/api/IPA.Logging.Printers.GlobalLogFilePrinter.html @@ -150,7 +150,7 @@ Improve this Doc - View Source + View Source

    Filter

    @@ -186,7 +186,7 @@ Improve this Doc - View Source + View Source

    GetFileInfo()

    @@ -220,7 +220,7 @@ Improve this Doc - View Source + View Source

    Print(Logger.Level, DateTime, String, String)

    @@ -275,32 +275,20 @@

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -315,7 +303,7 @@ Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Logging.Printers.PluginLogFilePrinter.html b/branch/4.0.0-beta/api/IPA.Logging.Printers.PluginLogFilePrinter.html index 38a3af6e..500b010f 100644 --- a/branch/4.0.0-beta/api/IPA.Logging.Printers.PluginLogFilePrinter.html +++ b/branch/4.0.0-beta/api/IPA.Logging.Printers.PluginLogFilePrinter.html @@ -150,7 +150,7 @@ Improve this Doc - View Source + View Source

    PluginLogFilePrinter(String)

    @@ -186,7 +186,7 @@ Improve this Doc - View Source + View Source

    Filter

    @@ -222,7 +222,7 @@ Improve this Doc - View Source + View Source

    GetFileInfo()

    @@ -256,7 +256,7 @@ Improve this Doc - View Source + View Source

    Print(Logger.Level, DateTime, String, String)

    @@ -311,32 +311,20 @@

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -351,7 +339,7 @@ Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Logging.Printers.PluginSubLogPrinter.html b/branch/4.0.0-beta/api/IPA.Logging.Printers.PluginSubLogPrinter.html index 534d3fea..6dd6afb7 100644 --- a/branch/4.0.0-beta/api/IPA.Logging.Printers.PluginSubLogPrinter.html +++ b/branch/4.0.0-beta/api/IPA.Logging.Printers.PluginSubLogPrinter.html @@ -150,7 +150,7 @@ Improve this Doc - View Source + View Source

    PluginSubLogPrinter(String, String)

    @@ -192,7 +192,7 @@ Improve this Doc - View Source + View Source

    Filter

    @@ -228,7 +228,7 @@ Improve this Doc - View Source + View Source

    GetFileInfo()

    @@ -262,7 +262,7 @@ Improve this Doc - View Source + View Source

    Print(Logger.Level, DateTime, String, String)

    @@ -317,32 +317,20 @@

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -357,7 +345,7 @@ Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Logging.StandardLogger.html b/branch/4.0.0-beta/api/IPA.Logging.StandardLogger.html index 653cb8ae..58d0ebac 100644 --- a/branch/4.0.0-beta/api/IPA.Logging.StandardLogger.html +++ b/branch/4.0.0-beta/api/IPA.Logging.StandardLogger.html @@ -181,7 +181,7 @@ The modification of printers on a parent are reflected down the chain.

    Improve this Doc - View Source + View Source

    ConsoleWriter

    @@ -213,7 +213,7 @@ The modification of printers on a parent are reflected down the chain.

    Improve this Doc - View Source + View Source

    PrintFilter

    @@ -247,7 +247,7 @@ The modification of printers on a parent are reflected down the chain.

    Improve this Doc - View Source + View Source

    AddPrinter(LogPrinter)

    @@ -281,7 +281,7 @@ The modification of printers on a parent are reflected down the chain.

    Improve this Doc - View Source + View Source

    Debug(String)

    @@ -321,7 +321,7 @@ The modification of printers on a parent are reflected down the chain.

    Improve this Doc - View Source + View Source

    Log(Logger.Level, String)

    @@ -363,32 +363,20 @@ The modification of printers on a parent are reflected down the chain.

    LoggerExtensions.GetChildLogger(Logger, String)
    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -403,7 +391,7 @@ The modification of printers on a parent are reflected down the chain.

    Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Old.IEnhancedPlugin.html b/branch/4.0.0-beta/api/IPA.Old.IEnhancedPlugin.html index 3f95508f..6165177c 100644 --- a/branch/4.0.0-beta/api/IPA.Old.IEnhancedPlugin.html +++ b/branch/4.0.0-beta/api/IPA.Old.IEnhancedPlugin.html @@ -128,7 +128,7 @@ public interface IEnhancedPlugin : IPlugin Improve this Doc - View Source + View Source

    Filter

    @@ -164,7 +164,7 @@ public interface IEnhancedPlugin : IPlugin Improve this Doc - View Source + View Source

    OnLateUpdate()

    @@ -177,32 +177,20 @@ public interface IEnhancedPlugin : IPlugin

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -217,7 +205,7 @@ public interface IEnhancedPlugin : IPlugin Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Old.IPlugin.html b/branch/4.0.0-beta/api/IPA.Old.IPlugin.html index 0d6ab322..4b4d0512 100644 --- a/branch/4.0.0-beta/api/IPA.Old.IPlugin.html +++ b/branch/4.0.0-beta/api/IPA.Old.IPlugin.html @@ -102,7 +102,7 @@ public interface IPlugin Improve this Doc - View Source + View Source

    Name

    @@ -133,7 +133,7 @@ public interface IPlugin Improve this Doc - View Source + View Source

    Version

    @@ -166,7 +166,7 @@ public interface IPlugin Improve this Doc - View Source + View Source

    OnApplicationQuit()

    @@ -182,7 +182,7 @@ public interface IPlugin Improve this Doc - View Source + View Source

    OnApplicationStart()

    @@ -198,7 +198,7 @@ public interface IPlugin Improve this Doc - View Source + View Source

    OnFixedUpdate()

    @@ -214,7 +214,7 @@ public interface IPlugin Improve this Doc - View Source + View Source

    OnLevelWasInitialized(Int32)

    @@ -247,7 +247,7 @@ public interface IPlugin Improve this Doc - View Source + View Source

    OnLevelWasLoaded(Int32)

    @@ -280,7 +280,7 @@ public interface IPlugin Improve this Doc - View Source + View Source

    OnUpdate()

    @@ -293,32 +293,20 @@ public interface IPlugin

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -333,7 +321,7 @@ public interface IPlugin Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.OnDisableAttribute.html b/branch/4.0.0-beta/api/IPA.OnDisableAttribute.html index 2dd8b510..d10fd34c 100644 --- a/branch/4.0.0-beta/api/IPA.OnDisableAttribute.html +++ b/branch/4.0.0-beta/api/IPA.OnDisableAttribute.html @@ -261,32 +261,20 @@ Typically, this will be used when the Extension Methods
    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -306,7 +294,7 @@ Typically, this will be used when the Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.OnEnableAttribute.html b/branch/4.0.0-beta/api/IPA.OnEnableAttribute.html index 467d30ae..b102df9e 100644 --- a/branch/4.0.0-beta/api/IPA.OnEnableAttribute.html +++ b/branch/4.0.0-beta/api/IPA.OnEnableAttribute.html @@ -261,32 +261,20 @@ Typically, this will be used when the Extension Methods
    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -306,7 +294,7 @@ Typically, this will be used when the Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.OnExitAttribute.html b/branch/4.0.0-beta/api/IPA.OnExitAttribute.html index 010fd8d8..d82a9a2f 100644 --- a/branch/4.0.0-beta/api/IPA.OnExitAttribute.html +++ b/branch/4.0.0-beta/api/IPA.OnExitAttribute.html @@ -261,32 +261,20 @@ Typically, this will be used when the Extension Methods
    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -306,7 +294,7 @@ Typically, this will be used when the Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.OnStartAttribute.html b/branch/4.0.0-beta/api/IPA.OnStartAttribute.html index ad5fe541..072cd8ef 100644 --- a/branch/4.0.0-beta/api/IPA.OnStartAttribute.html +++ b/branch/4.0.0-beta/api/IPA.OnStartAttribute.html @@ -261,32 +261,20 @@ Typically, this will be used when the Extension Methods
    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -306,7 +294,7 @@ Typically, this will be used when the Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.PluginAttribute.html b/branch/4.0.0-beta/api/IPA.PluginAttribute.html index d1621463..43d97487 100644 --- a/branch/4.0.0-beta/api/IPA.PluginAttribute.html +++ b/branch/4.0.0-beta/api/IPA.PluginAttribute.html @@ -252,7 +252,7 @@ public sealed class PluginAttribute : Attribute, _Attribute Improve this Doc - View Source + View Source

    PluginAttribute(RuntimeOptions)

    @@ -289,7 +289,7 @@ to indicate the runtime capabilities of the plugin.

    Improve this Doc - View Source + View Source

    RuntimeOptions

    @@ -321,32 +321,20 @@ to indicate the runtime capabilities of the plugin.

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -369,7 +357,7 @@ to indicate the runtime capabilities of the plugin.

    Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.RuntimeOptions.html b/branch/4.0.0-beta/api/IPA.RuntimeOptions.html index 85f11995..9e2946a0 100644 --- a/branch/4.0.0-beta/api/IPA.RuntimeOptions.html +++ b/branch/4.0.0-beta/api/IPA.RuntimeOptions.html @@ -146,32 +146,20 @@ With this option set, whether or not the plugin is disabled during a given run i

    Extension Methods

    - ReflectionUtil.SetField(String, Object) -
    -
    - ReflectionUtil.SetField<RuntimeOptions>(String, Object) -
    -
    - ReflectionUtil.GetField<T>(String) + ReflectionUtil.SetField<RuntimeOptions, U>(String, U)
    ReflectionUtil.GetField<T, RuntimeOptions>(String)
    - ReflectionUtil.SetProperty(String, Object) + ReflectionUtil.SetProperty<RuntimeOptions, U>(String, U)
    - ReflectionUtil.SetProperty<RuntimeOptions>(String, Object) -
    -
    - ReflectionUtil.InvokeMethod(String, Object[]) + ReflectionUtil.GetProperty<RuntimeOptions, U>(String)
    ReflectionUtil.InvokeMethod<RuntimeOptions>(String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(String, Object[]) -
    ReflectionUtil.InvokeMethod<T, RuntimeOptions>(String, Object[])
    @@ -186,7 +174,7 @@ With this option set, whether or not the plugin is disabled during a given run i Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Utilities.AlmostVersion.StoredAs.html b/branch/4.0.0-beta/api/IPA.Utilities.AlmostVersion.StoredAs.html index aa7d42d5..a09dc50b 100644 --- a/branch/4.0.0-beta/api/IPA.Utilities.AlmostVersion.StoredAs.html +++ b/branch/4.0.0-beta/api/IPA.Utilities.AlmostVersion.StoredAs.html @@ -117,32 +117,20 @@

    Extension Methods

    - ReflectionUtil.SetField(String, Object) -
    -
    - ReflectionUtil.SetField<AlmostVersion.StoredAs>(String, Object) -
    -
    - ReflectionUtil.GetField<T>(String) + ReflectionUtil.SetField<AlmostVersion.StoredAs, U>(String, U)
    ReflectionUtil.GetField<T, AlmostVersion.StoredAs>(String)
    - ReflectionUtil.SetProperty(String, Object) + ReflectionUtil.SetProperty<AlmostVersion.StoredAs, U>(String, U)
    - ReflectionUtil.SetProperty<AlmostVersion.StoredAs>(String, Object) -
    -
    - ReflectionUtil.InvokeMethod(String, Object[]) + ReflectionUtil.GetProperty<AlmostVersion.StoredAs, U>(String)
    ReflectionUtil.InvokeMethod<AlmostVersion.StoredAs>(String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(String, Object[]) -
    ReflectionUtil.InvokeMethod<T, AlmostVersion.StoredAs>(String, Object[])
    @@ -157,7 +145,7 @@ Improve this Doc
  • - View Source + View Source
  • diff --git a/branch/4.0.0-beta/api/IPA.Utilities.AlmostVersion.html b/branch/4.0.0-beta/api/IPA.Utilities.AlmostVersion.html index 9b8eba51..f2c89f59 100644 --- a/branch/4.0.0-beta/api/IPA.Utilities.AlmostVersion.html +++ b/branch/4.0.0-beta/api/IPA.Utilities.AlmostVersion.html @@ -126,7 +126,7 @@ not a valid SemVer.Version.

    Improve this Doc - View Source + View Source

    AlmostVersion(Version)

    @@ -160,7 +160,7 @@ not a valid SemVer.Version.

    Improve this Doc - View Source + View Source

    AlmostVersion(String)

    @@ -194,7 +194,7 @@ not a valid SemVer.Version.

    Improve this Doc - View Source + View Source

    AlmostVersion(String, AlmostVersion)

    @@ -235,7 +235,7 @@ same way as the AlmostVe Improve this Doc - View Source + View Source

    AlmostVersion(String, AlmostVersion.StoredAs)

    @@ -278,7 +278,7 @@ the storage mode specified in Improve 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)

    @@ -866,32 +866,20 @@ If not applicable, returns null

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -906,7 +894,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 b9668daa..23fc1028 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)

    @@ -259,32 +259,20 @@

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -299,7 +287,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 2bb28e00..19ea9c7e 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)

    @@ -556,32 +556,20 @@ make sense to run it inline.

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -596,7 +584,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 2d533b4f..4c8b6376 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()

    @@ -142,32 +142,20 @@ Create this with Extension Methods
    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -187,7 +175,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 7e0efe86..94d74dac 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()

    @@ -142,32 +142,20 @@ it is disposed. Create this with Extension Methods
    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -187,7 +175,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 d93af79e..6b8e6ccd 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()

    @@ -181,32 +181,20 @@ upgrading the current thread's lock.

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -226,7 +214,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 dcc9e56c..3b60ba74 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()

    @@ -142,32 +142,20 @@ it is disposed. Create this with Extension Methods
    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -187,7 +175,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 950d744e..9e7241aa 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()

    @@ -142,32 +142,20 @@ Create this with Extension Methods
    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -187,7 +175,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 2466fe64..9527bd83 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()

    @@ -142,32 +142,20 @@ when it is disposed. Create this with Extension Methods
    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -187,7 +175,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 fe91d8b1..e2805ccf 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()

    @@ -142,32 +142,20 @@ Create this with Extension Methods
    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -187,7 +175,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 f630f670..62494045 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.CriticalSection.AutoExecuteSection.html b/branch/4.0.0-beta/api/IPA.Utilities.CriticalSection.AutoExecuteSection.html index fc244fbb..4242a599 100644 --- a/branch/4.0.0-beta/api/IPA.Utilities.CriticalSection.AutoExecuteSection.html +++ b/branch/4.0.0-beta/api/IPA.Utilities.CriticalSection.AutoExecuteSection.html @@ -125,7 +125,7 @@ Improve this Doc - View Source + View Source

    IDisposable.Dispose()

    @@ -141,32 +141,20 @@

    Extension Methods

    - ReflectionUtil.SetField(Object, String, Object) -
    -
    - ReflectionUtil.SetField<T>(T, String, Object) -
    -
    - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
    ReflectionUtil.GetField<T, U>(U, String)
    - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
    - ReflectionUtil.SetProperty<T>(T, String, Object) -
    -
    - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
    ReflectionUtil.InvokeMethod<T>(T, String, Object[])
    -
    - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
    ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
    @@ -181,7 +169,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 6094f37b..a0583c0a 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

    ExecuteSection()

    @@ -177,7 +177,7 @@ Improve this Doc - View Source + View Source

    ExitExecuteSection()

    @@ -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 f5f1aebe..6e6d6797 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 e7343beb..352f8474 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.FieldAccessor-2.Accessor.html b/branch/4.0.0-beta/api/IPA.Utilities.FieldAccessor-2.Accessor.html new file mode 100644 index 00000000..d8b8f3ff --- /dev/null +++ b/branch/4.0.0-beta/api/IPA.Utilities.FieldAccessor-2.Accessor.html @@ -0,0 +1,190 @@ + + + + + + + + Delegate FieldAccessor<T, U>.Accessor + + + + + + + + + + + + + + + + + +
    +
    + + + + +
    +
    + +
    +
    +
    +

    +
    +
      +
      +
      + + + +
      + + + + + + diff --git a/branch/4.0.0-beta/api/IPA.Utilities.FieldAccessor-2.html b/branch/4.0.0-beta/api/IPA.Utilities.FieldAccessor-2.html new file mode 100644 index 00000000..8aa740c1 --- /dev/null +++ b/branch/4.0.0-beta/api/IPA.Utilities.FieldAccessor-2.html @@ -0,0 +1,637 @@ + + + + + + + + Class FieldAccessor<T, U> + + + + + + + + + + + + + + + + + +
      +
      + + + + +
      +
      + +
      +
      +
      +

      +
      +
        +
        +
        + + + +
        + + + + + + diff --git a/branch/4.0.0-beta/api/IPA.Utilities.PropertyAccessor-2.Getter.html b/branch/4.0.0-beta/api/IPA.Utilities.PropertyAccessor-2.Getter.html new file mode 100644 index 00000000..3947f208 --- /dev/null +++ b/branch/4.0.0-beta/api/IPA.Utilities.PropertyAccessor-2.Getter.html @@ -0,0 +1,190 @@ + + + + + + + + Delegate PropertyAccessor<T, U>.Getter + + + + + + + + + + + + + + + + + +
        +
        + + + + +
        +
        + +
        +
        +
        +

        +
        +
          +
          +
          + + + +
          + + + + + + diff --git a/branch/4.0.0-beta/api/IPA.Utilities.PropertyAccessor-2.Setter.html b/branch/4.0.0-beta/api/IPA.Utilities.PropertyAccessor-2.Setter.html new file mode 100644 index 00000000..4cbbb55b --- /dev/null +++ b/branch/4.0.0-beta/api/IPA.Utilities.PropertyAccessor-2.Setter.html @@ -0,0 +1,180 @@ + + + + + + + + Delegate PropertyAccessor<T, U>.Setter + + + + + + + + + + + + + + + + + +
          +
          + + + + +
          +
          + +
          +
          +
          +

          +
          +
            +
            +
            + + + +
            + + + + + + diff --git a/branch/4.0.0-beta/api/IPA.Utilities.PropertyAccessor-2.html b/branch/4.0.0-beta/api/IPA.Utilities.PropertyAccessor-2.html new file mode 100644 index 00000000..ebb3a2c6 --- /dev/null +++ b/branch/4.0.0-beta/api/IPA.Utilities.PropertyAccessor-2.html @@ -0,0 +1,619 @@ + + + + + + + + Class PropertyAccessor<T, U> + + + + + + + + + + + + + + + + + +
            +
            + + + + +
            +
            + +
            +
            +
            +

            +
            +
              +
              +
              + + + +
              + + + + + + 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 1b08a4db..60da1097 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)

              @@ -474,32 +474,20 @@

              Extension Methods

              - ReflectionUtil.SetField(Object, String, Object) -
              -
              - ReflectionUtil.SetField<T>(T, String, Object) -
              -
              - ReflectionUtil.GetField<T>(Object, String) + ReflectionUtil.SetField<T, U>(T, String, U)
              ReflectionUtil.GetField<T, U>(U, String)
              - ReflectionUtil.SetProperty(Object, String, Object) + ReflectionUtil.SetProperty<T, U>(T, String, U)
              - ReflectionUtil.SetProperty<T>(T, String, Object) -
              -
              - ReflectionUtil.InvokeMethod(Object, String, Object[]) + ReflectionUtil.GetProperty<T, U>(T, String)
              ReflectionUtil.InvokeMethod<T>(T, String, Object[])
              -
              - ReflectionUtil.InvokeMethod<T>(Object, String, Object[]) -
              ReflectionUtil.InvokeMethod<T, U>(U, String, Object[])
              @@ -514,7 +502,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 fc27b544..30781fd6 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 9e4cde81..1d17da89 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)

              @@ -277,19 +277,19 @@ | - Improve this Doc + Improve this Doc - View Source + View Source -

              GetField<T>(Object, String)

              +

              GetField<T, U>(U, String)

              Gets the value of a field.

              Declaration
              -
              public static T GetField<T>(this object obj, string fieldName)
              +
              public static T GetField<T, U>(this U obj, string fieldName)
              Parameters
              @@ -302,7 +302,7 @@ - + @@ -343,6 +343,11 @@ + + + + @@ -357,27 +362,31 @@ - - +
              ObjectU obj

              the object instance to pull from

              T

              the type of the field (result casted)

              +
              U

              the type to get the field from

              ArgumentException

              if fieldName does not exist on the runtime type of obj

              +
              MissingFieldException

              if fieldName does not exist on U

              +
              See Also
              + | - Improve this Doc + Improve this Doc - View Source + View Source - -

              GetField<T, U>(U, String)

              -

              Gets the value of a field.

              + +

              GetProperty<T, U>(T, String)

              +

              Gets a property on the target object, as gotten from T.

              Declaration
              -
              public static T GetField<T, U>(this U obj, string fieldName)
              +
              public static U GetProperty<T, U>(this T obj, string propertyName)
              Parameters
              @@ -390,15 +399,15 @@ - + - - - + @@ -413,8 +422,8 @@ - - + @@ -430,12 +439,12 @@ - - @@ -450,96 +459,22 @@ - - +
              UT obj

              the object instance to pull from

              +

              the object instance

              StringfieldName

              the name of the field to read

              +
              propertyName

              the property to get

              T

              the value of the field

              +
              U

              the value of the property

              T

              the type of the field (result casted)

              +

              the type to get the property from

              U

              the type to get the field from

              +

              the type of the property to get

              ArgumentException

              if fieldName does not exist on U

              +
              MissingMemberException

              if propertyName does not exist on T

              - - | - 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)
              +
              See Also
              + -
              Parameters
              - - - - - - - - - - - - - - - - - - - - - - - - - -
              TypeNameDescription
              Objectobj

              the object to call from

              -
              StringmethodName

              the method name

              -
              Object[]methodArgs

              the method arguments

              -
              -
              Returns
              - - - - - - - - - - - - - -
              TypeDescription
              Object

              the return value

              -
              -
              Exceptions
              - - - - - - - - - - - - - -
              TypeCondition
              ArgumentException

              if methodName does not exist on the runtime type of obj

              -
              | Improve this Doc - View Source + View Source

              InvokeMethod<T>(T, String, Object[])

              @@ -628,110 +563,12 @@ - - | - Improve this Doc - - - View Source - - -

              InvokeMethod<T>(Object, String, Object[])

              -

              Invokes a method.

              -
              -
              -
              Declaration
              -
              -
              public static T InvokeMethod<T>(this object obj, string methodName, params object[] methodArgs)
              -
              -
              Parameters
              - - - - - - - - - - - - - - - - - - - - - - - - - -
              TypeNameDescription
              Objectobj

              the object instance

              -
              StringmethodName

              the method name to call

              -
              Object[]methodArgs

              the method's arguments

              -
              -
              Returns
              - - - - - - - - - - - - - -
              TypeDescription
              T

              the return value

              -
              -
              Type Parameters
              - - - - - - - - - - - - - -
              NameDescription
              T

              the return type

              -
              -
              Exceptions
              - - - - - - - - - - - - - -
              TypeCondition
              ArgumentException

              if methodName does not exist on the runtime type of obj

              -
              -
              See Also
              - | Improve this Doc - View Source + View Source

              InvokeMethod<T, U>(U, String, Object[])

              @@ -831,81 +668,19 @@
              | - Improve this Doc + Improve this Doc - View Source + 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
              - - - - - - - - - - - - - - - - - - - - - - - - - -
              TypeNameDescription
              Objectobj

              the object instance

              -
              StringfieldName

              the field to set

              -
              Objectvalue

              the value to set it to

              -
              -
              Exceptions
              - - - - - - - - - - - - - -
              TypeCondition
              ArgumentException

              if fieldName does not exist on the runtime type of obj

              -
              - - | - Improve this Doc - - - View Source - - -

              SetField<T>(T, String, Object)

              +

              SetField<T, U>(T, String, U)

              Sets a field on the target object, as gotten from T.

              Declaration
              -
              public static void SetField<T>(this T obj, string fieldName, object value)
              +
              public static void SetField<T, U>(this T obj, string fieldName, U value)
              Parameters
              @@ -930,7 +705,7 @@ - + @@ -951,66 +726,9 @@ - -
              ObjectU value

              the value to set it to

              the type to get the field from

              -
              Exceptions
              - - - - - - - - - - - - -
              TypeCondition
              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
              - - - - - - - - - - - - - - - - - - - - - - - + @@ -1025,27 +743,31 @@ - - +
              TypeNameDescription
              Objectobj

              the target object instance

              -
              StringpropertyName

              the name of the property

              -
              Objectvalue

              the value to set it to

              +
              U

              the type of the field to set

              ArgumentException

              if propertyName does not exist on the runtime type of obj

              +
              MissingFieldException

              if fieldName does not exist on T

              +
              See Also
              + | - Improve this Doc + Improve this Doc - View Source + View Source -

              SetProperty<T>(T, String, Object)

              -

              Sets a property on the target object, as gotten from T

              +

              SetProperty<T, U>(T, String, U)

              +

              Sets a property on the target object, as gotten from T.

              Declaration
              -
              public static void SetProperty<T>(this T obj, string propertyName, object value)
              +
              public static void SetProperty<T, U>(this T obj, string propertyName, U value)
              Parameters
              @@ -1070,7 +792,7 @@ - + @@ -1089,6 +811,11 @@ + + + + @@ -1103,12 +830,16 @@ - +
              ObjectU value

              the value to set it to

              T

              the type to get the property from

              +
              U

              the type of the property to set

              ArgumentExceptionMissingMemberException

              if propertyName does not exist on T

              +
              See Also
              +
              @@ -1120,7 +851,7 @@ Improve this Doc
            • - View Source + View Source
            • diff --git a/branch/4.0.0-beta/api/IPA.Utilities.UnityGame.Release.html b/branch/4.0.0-beta/api/IPA.Utilities.UnityGame.Release.html index 19f9abc1..def1affd 100644 --- a/branch/4.0.0-beta/api/IPA.Utilities.UnityGame.Release.html +++ b/branch/4.0.0-beta/api/IPA.Utilities.UnityGame.Release.html @@ -117,32 +117,20 @@

              Extension Methods

              - ReflectionUtil.SetField(String, Object) -
              -
              - ReflectionUtil.SetField<UnityGame.Release>(String, Object) -
              -
              - ReflectionUtil.GetField<T>(String) + ReflectionUtil.SetField<UnityGame.Release, U>(String, U)
              ReflectionUtil.GetField<T, UnityGame.Release>(String)
              - ReflectionUtil.SetProperty(String, Object) + ReflectionUtil.SetProperty<UnityGame.Release, U>(String, U)
              - ReflectionUtil.SetProperty<UnityGame.Release>(String, Object) -
              -
              - ReflectionUtil.InvokeMethod(String, Object[]) + ReflectionUtil.GetProperty<UnityGame.Release, U>(String)
              ReflectionUtil.InvokeMethod<UnityGame.Release>(String, Object[])
              -
              - ReflectionUtil.InvokeMethod<T>(String, Object[]) -
              ReflectionUtil.InvokeMethod<T, UnityGame.Release>(String, Object[])
              @@ -157,7 +145,7 @@ Improve this Doc
            • - View Source + View Source
            • diff --git a/branch/4.0.0-beta/api/IPA.Utilities.UnityGame.html b/branch/4.0.0-beta/api/IPA.Utilities.UnityGame.html index 49dbfe7b..4786e32e 100644 --- a/branch/4.0.0-beta/api/IPA.Utilities.UnityGame.html +++ b/branch/4.0.0-beta/api/IPA.Utilities.UnityGame.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

              @@ -324,7 +324,7 @@ Improve this Doc - View Source + View Source

              UserDataPath

              @@ -362,7 +362,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 3fbe0610..8bb340c8 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/IPA.Utilities.html b/branch/4.0.0-beta/api/IPA.Utilities.html index acc68e4b..38bfb8e2 100644 --- a/branch/4.0.0-beta/api/IPA.Utilities.html +++ b/branch/4.0.0-beta/api/IPA.Utilities.html @@ -100,6 +100,12 @@ not a valid SemVer.Version.

              Extensions

              A class providing various extension methods.

              +
              +

              FieldAccessor<T, U>

              +

              A type containing utilities for accessing non-public fields of objects.

              +
              +

              PropertyAccessor<T, U>

              +

              A type containing utilities for accessing non-public properties of an object.

              Ref

              Utilities to create Ref<T> using type inference.

              @@ -128,6 +134,17 @@ not a valid SemVer.Version.

              UnityGame.Release

              The different types of releases of the game.

              +
              +

              Delegates +

              +

              FieldAccessor<T, U>.Accessor

              +

              A delegate for a field accessor taking a T ref and returning a U ref.

              +
              +

              PropertyAccessor<T, U>.Getter

              +

              A getter for a property.

              +
              +

              PropertyAccessor<T, U>.Setter

              +

              A setter for a property.

              diff --git a/branch/4.0.0-beta/api/index.html b/branch/4.0.0-beta/api/index.html index 65c17be0..84d57018 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/api/toc.html b/branch/4.0.0-beta/api/toc.html index 32118916..f3bed880 100644 --- a/branch/4.0.0-beta/api/toc.html +++ b/branch/4.0.0-beta/api/toc.html @@ -317,6 +317,21 @@
            • Extensions
            • +
            • + FieldAccessor<T, U> +
            • +
            • + FieldAccessor<T, U>.Accessor +
            • +
            • + PropertyAccessor<T, U> +
            • +
            • + PropertyAccessor<T, U>.Getter +
            • +
            • + PropertyAccessor<T, U>.Setter +
            • Ref
            • diff --git a/branch/4.0.0-beta/articles/command-line.html b/branch/4.0.0-beta/articles/command-line.html index e985050d..f6109acf 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 19d5cdbb..6cb7aadd 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 ef4a849a..383192ef 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 9f791718..ba074029 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 25761417..cbaf5ab1 100644 --- a/branch/4.0.0-beta/articles/start-dev.html +++ b/branch/4.0.0-beta/articles/start-dev.html @@ -364,7 +364,7 @@ namespace Demo diff --git a/branch/4.0.0-beta/articles/start-user.html b/branch/4.0.0-beta/articles/start-user.html index 8ea60997..906bc0a8 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 b0204af2..6c13cbcb 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 39cf943d..328727cd 100644 --- a/branch/4.0.0-beta/index.json +++ b/branch/4.0.0-beta/index.json @@ -1,103 +1,228 @@ { - "api/IPA.Logging.Printers.html": { - "href": "api/IPA.Logging.Printers.html", + "api/IPA.Loader.StateTransitionTransaction.html": { + "href": "api/IPA.Loader.StateTransitionTransaction.html", + "title": "Class StateTransitionTransaction", + "keywords": "Class StateTransitionTransaction A class to represent a transaction for changing the state of loaded mods. Inheritance Object StateTransitionTransaction Implements IDisposable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Loader Assembly : IPA.Loader.dll Syntax public sealed class StateTransitionTransaction : IDisposable Properties | Improve this Doc View Source DisabledPlugins Gets a list of plugins that are disabled according to this transaction's current state. Declaration public IEnumerable DisabledPlugins { get; } Property Value Type Description IEnumerable < PluginMetadata > | Improve this Doc View Source EnabledPlugins Gets a list of plugins that are enabled according to this transaction's current state. Declaration public IEnumerable EnabledPlugins { get; } Property Value Type Description IEnumerable < PluginMetadata > | Improve this Doc View Source WillNeedRestart Gets whether or not a game restart will be necessary to fully apply this transaction. Declaration public bool WillNeedRestart { get; } Property Value Type Description Boolean true if any mod who's state is changed cannot be changed at runtime, false otherwise Methods | Improve this Doc View Source Commit() Commits this transaction to actual state, enabling and disabling plugins as necessary. Declaration public Task Commit() Returns Type Description Task a Task which completes whenever all disables complete | Improve this Doc View Source Disable(PluginMetadata) Disables a plugin in this transaction. Declaration public bool Disable(PluginMetadata meta) Parameters Type Name Description PluginMetadata meta the plugin to disable Returns Type Description Boolean true if the transaction's state was changed, false otherwise | Improve this Doc View Source Dispose() Disposes and discards this transaction without committing it. Declaration public void Dispose() | Improve this Doc View Source Enable(PluginMetadata) Enables a plugin in this transaction. Declaration public bool Enable(PluginMetadata meta) Parameters Type Name Description PluginMetadata meta the plugin to enable Returns Type Description Boolean true if the transaction's state was changed, false otherwise | Improve this Doc View Source IsDisabled(PluginMetadata) Checks if a plugin is disabled according to this transaction's current state. Declaration public bool IsDisabled(PluginMetadata meta) Parameters Type Name Description PluginMetadata meta the plugin to check Returns Type Description Boolean true if the plugin is disabled, false otherwise Remarks This should be roughly equivalent to DisabledPlugins.Contains(meta) , but more performant. This should also always return the inverse of IsEnabled(PluginMetadata) for valid plugins. See Also DisabledPlugins | Improve this Doc View Source IsEnabled(PluginMetadata) Checks if a plugin is enabled according to this transaction's current state. Declaration public bool IsEnabled(PluginMetadata meta) Parameters Type Name Description PluginMetadata meta the plugin to check Returns Type Description Boolean true if the plugin is enabled, false otherwise Remarks This should be roughly equivalent to EnabledPlugins.Contains(meta) , but more performant. This should also always return the inverse of IsDisabled(PluginMetadata) for valid plugins. See Also EnabledPlugins Implements System.IDisposable Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, 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.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(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" + }, + "api/IPA.Config.Stores.Converters.NullableConverter-1.html": { + "href": "api/IPA.Config.Stores.Converters.NullableConverter-1.html", + "title": "Class NullableConverter", + "keywords": "Class NullableConverter A converter for a Nullable . Inheritance Object ValueConverter < Nullable > NullableConverter NullableConverter Implements IValueConverter Inherited Members ValueConverter>.IValueConverter.ToValue(Object, Object) ValueConverter>.IValueConverter.FromValue(Value, Object) ValueConverter>.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public class NullableConverter : ValueConverter, IValueConverter where T : struct Type Parameters Name Description T the underlying type of the Nullable Constructors | Improve this Doc View Source NullableConverter() Creates a converter with the default converter for the base type. Equivalent to new NullableConverter(Converter.Default) Declaration public NullableConverter() See Also NullableConverter(ValueConverter) Default | Improve this Doc View Source NullableConverter(ValueConverter) Creates a converter with the given underlying ValueConverter . Declaration public NullableConverter(ValueConverter underlying) Parameters Type Name Description ValueConverter underlying the undlerlying ValueConverter to use Methods | Improve this Doc View Source FromValue(Value, Object) Converts a Value tree to a value. Declaration public override T? FromValue(Value value, object parent) Parameters Type Name Description Value value the Value tree to convert Object parent the object which will own the created object Returns Type Description Nullable the object represented by value Overrides IPA.Config.Stores.ValueConverter>.FromValue(IPA.Config.Data.Value, System.Object) | Improve this Doc View Source ToValue(Nullable, Object) Converts a nullable T to a Value tree. Declaration public override Value ToValue(T? obj, object parent) Parameters Type Name Description Nullable obj the value to serialize Object parent the object which owns obj Returns Type Description Value a Value tree representing obj . Overrides IPA.Config.Stores.ValueConverter>.ToValue(System.Nullable, System.Object) Implements IValueConverter Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" + }, + "api/IPA.Config.Stores.Converters.ListConverter-2.html": { + "href": "api/IPA.Config.Stores.Converters.ListConverter-2.html", + "title": "Class ListConverter", + "keywords": "Class ListConverter A ListConverter which default constructs a converter for use as the value converter. Inheritance Object ValueConverter < List > CollectionConverter > ListConverter ListConverter Implements IValueConverter Inherited Members ListConverter.Create(Int32, Object) CollectionConverter>.BaseConverter CollectionConverter>.Create(Int32, Object) CollectionConverter>.PopulateFromValue(List, List, Object) CollectionConverter>.FromValue(Value, Object) CollectionConverter>.ToValue(List, Object) ValueConverter>.ToValue(List, Object) ValueConverter>.FromValue(Value, Object) ValueConverter>.IValueConverter.ToValue(Object, Object) ValueConverter>.IValueConverter.FromValue(Value, Object) ValueConverter>.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public sealed class ListConverter : ListConverter, IValueConverter where TConverter : ValueConverter, new() Type Parameters Name Description T the value type of the collection TConverter the type of the converter to use for T Constructors | Improve this Doc View Source ListConverter() Creates an ListConverter using a default constructed TConverter element type. Equivalent to calling ListConverter(ValueConverter) with a default-constructed TConverter . Declaration public ListConverter() See Also ListConverter(ValueConverter) Implements IValueConverter Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also ListConverter " + }, + "api/IPA.Config.Stores.Attributes.html": { + "href": "api/IPA.Config.Stores.Attributes.html", "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." + "keywords": "Classes IgnoreAttribute Causes a field or property in an object being wrapped by Generated(Config, Boolean) to be ignored during serialization and deserialization. NonNullableAttribute Indicates that a field or property in an object being wrapped by Generated(Config, Boolean) that would otherwise be nullable (i.e. a reference type or a Nullable type) should never be null, and the member will be ignored if the deserialized value is null . SerializedNameAttribute Specifies a name for the serialized field or property in an object being wrapped by Generated(Config, Boolean) that is different from the member name itself. UseConverterAttribute Indicates that a given field or property in an object being wrapped by Generated(Config, Boolean) should be serialized and deserialized using the provided converter instead of the default mechanism." }, - "api/IPA.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.Config.Stores.Attributes.UseConverterAttribute.html": { + "href": "api/IPA.Config.Stores.Attributes.UseConverterAttribute.html", + "title": "Class UseConverterAttribute", + "keywords": "Class UseConverterAttribute Indicates that a given field or property in an object being wrapped by Generated(Config, Boolean) should be serialized and deserialized using the provided converter instead of the default mechanism. Inheritance Object Attribute UseConverterAttribute Implements _Attribute Inherited Members Attribute.GetCustomAttributes(MemberInfo, Type) Attribute.GetCustomAttributes(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(MemberInfo) Attribute.GetCustomAttributes(MemberInfo, Boolean) Attribute.IsDefined(MemberInfo, Type) Attribute.IsDefined(MemberInfo, Type, Boolean) Attribute.GetCustomAttribute(MemberInfo, Type) Attribute.GetCustomAttribute(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo) Attribute.GetCustomAttributes(ParameterInfo, Type) Attribute.GetCustomAttributes(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo, Boolean) Attribute.IsDefined(ParameterInfo, Type) Attribute.IsDefined(ParameterInfo, Type, Boolean) Attribute.GetCustomAttribute(ParameterInfo, Type) Attribute.GetCustomAttribute(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(Module, Type) Attribute.GetCustomAttributes(Module) Attribute.GetCustomAttributes(Module, Boolean) Attribute.GetCustomAttributes(Module, Type, Boolean) Attribute.IsDefined(Module, Type) Attribute.IsDefined(Module, Type, Boolean) Attribute.GetCustomAttribute(Module, Type) Attribute.GetCustomAttribute(Module, Type, Boolean) Attribute.GetCustomAttributes(Assembly, Type) Attribute.GetCustomAttributes(Assembly, Type, Boolean) Attribute.GetCustomAttributes(Assembly) Attribute.GetCustomAttributes(Assembly, Boolean) Attribute.IsDefined(Assembly, Type) Attribute.IsDefined(Assembly, Type, Boolean) Attribute.GetCustomAttribute(Assembly, Type) Attribute.GetCustomAttribute(Assembly, Type, Boolean) Attribute.Equals(Object) Attribute.GetHashCode() Attribute.Match(Object) Attribute.IsDefaultAttribute() Attribute._Attribute.GetTypeInfoCount(UInt32) Attribute._Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) Attribute._Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) Attribute._Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) Attribute.TypeId Object.ToString() Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Attributes Assembly : IPA.Loader.dll Syntax [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false, Inherited = true)] public sealed class UseConverterAttribute : Attribute, _Attribute Constructors | Improve this Doc View Source UseConverterAttribute(Type) Creates a new UseConverterAttribute with a given ConverterType . Declaration public UseConverterAttribute(Type converterType) Parameters Type Name Description Type converterType the type to assign to ConverterType Properties | Improve this Doc View Source ConverterTargetType Gets the target type of the converter if it is avaliable at instantiation time, otherwise null . Declaration public Type ConverterTargetType { get; } Property Value Type Description Type | Improve this Doc View Source ConverterType Gets the type of the converter to use. Declaration public Type ConverterType { get; } Property Value Type Description Type | Improve this Doc View Source IsGenericConverter Gets whether or not this converter is a generic ValueConverter . Declaration public bool IsGenericConverter { get; } Property Value Type Description Boolean Implements System.Runtime.InteropServices._Attribute Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, 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.Config.Data.Value.html": { + "href": "api/IPA.Config.Data.Value.html", + "title": "Class Value", + "keywords": "Class Value A base value type for config data abstract representations, to be serialized with an IConfigProvider . If a Value is null , then that represents just that: a null in whatever serialization is being used. Also contains factory functions for all derived types. Inheritance Object Value Boolean FloatingPoint Integer List Map Text Inherited Members Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Data Assembly : IPA.Loader.dll Syntax public abstract class Value Methods | Improve this Doc View Source Bool(Boolean) Creates a new Boolean wrapping a Boolean . Declaration public static Boolean Bool(bool val) Parameters Type Name Description Boolean val the value to wrap Returns Type Description Boolean a Boolean wrapping val See Also From(Boolean) | Improve this Doc View Source Float(Decimal) Creates a new FloatingPoint wrapping a Decimal . Declaration public static FloatingPoint Float(decimal val) Parameters Type Name Description Decimal val the value to wrap Returns Type Description FloatingPoint a FloatingPoint wrapping val See Also From(Decimal) | Improve this Doc View Source From(Boolean) Creates a new Value wrapping a Boolean . Declaration public static Boolean From(bool val) Parameters Type Name Description Boolean val the value to wrap Returns Type Description Boolean a Boolean wrapping val See Also Bool(Boolean) | Improve this Doc View Source From(IDictionary) Creates a new Map holding the content of an IDictionary of String to Value . Declaration public static Map From(IDictionary vals) Parameters Type Name Description IDictionary < String , Value > vals the dictionary of Value s to initialize the Map wtih Returns Type Description Map a Map containing the content of vals See Also Map() From(IEnumerable>) | Improve this Doc View Source From(IEnumerable) Creates a new List holding the content of an IEnumerable of Value . Declaration public static List From(IEnumerable vals) Parameters Type Name Description IEnumerable < Value > vals the Value s to initialize the List with Returns Type Description List a List containing the content of vals See Also List() | Improve this Doc View Source From(IEnumerable>) Creates a new Map holding the content of an IEnumerable of KeyValuePair of String to Value . Declaration public static Map From(IEnumerable> vals) Parameters Type Name Description IEnumerable < KeyValuePair < String , Value >> vals the enumerable of KeyValuePair of name to Value Returns Type Description Map a Map containing the content of vals See Also Map() From(IDictionary) | Improve this Doc View Source From(Decimal) Creates a new Value wrapping a Double . Declaration public static FloatingPoint From(decimal val) Parameters Type Name Description Decimal val the value to wrap Returns Type Description FloatingPoint a FloatingPoint wrapping val See Also Float(Decimal) | Improve this Doc View Source From(Int64) Creates a new Value wrapping a Int64 . Declaration public static Integer From(long val) Parameters Type Name Description Int64 val the value to wrap Returns Type Description Integer a Integer wrapping val See Also Integer(Int64) | Improve this Doc View Source From(String) Creates a new Value representing a String . Declaration public static Text From(string val) Parameters Type Name Description String val the value to wrap Returns Type Description Text a Text wrapping val See Also Text(String) | Improve this Doc View Source Integer(Int64) Creates a new Integer wrapping a Int64 . Declaration public static Integer Integer(long val) Parameters Type Name Description Int64 val the value to wrap Returns Type Description Integer a Integer wrapping val See Also From(Int64) | Improve this Doc View Source List() Creates an empty List() . Declaration public static List List() Returns Type Description List an empty List() See Also From(IEnumerable) | Improve this Doc View Source Map() Creates an empty Map() . Declaration public static Map Map() Returns Type Description Map an empty Map() See Also From(IDictionary) From(IEnumerable>) | Improve this Doc View Source Null() Creates a Null Value . Declaration public static Value Null() Returns Type Description Value null | Improve this Doc View Source Text(String) Creates a new Text object wrapping a String . Declaration public static Text Text(string val) Parameters Type Name Description String val the value to wrap Returns Type Description Text a Text wrapping val See Also From(String) | Improve this Doc View Source ToString() Converts this Value into a human-readable format. Declaration public abstract override string ToString() Returns Type Description String a human-readable string containing the value provided Overrides Object.ToString() Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" + }, + "api/IPA.Config.Data.Map.html": { + "href": "api/IPA.Config.Data.Map.html", + "title": "Class Map", + "keywords": "Class Map A ordered map of String to Value for serialization by an IConfigProvider . Use Map() or From(IDictionary) to create. Inheritance Object Value Map Implements IDictionary < String , Value > ICollection < KeyValuePair < String , Value >> IEnumerable < KeyValuePair < String , Value >> IEnumerable Inherited Members Value.Null() Value.List() Value.Map() Value.From(String) Value.Text(String) Value.From(Int64) Value.Integer(Int64) Value.From(Decimal) Value.Float(Decimal) Value.From(Boolean) Value.Bool(Boolean) Value.From(IEnumerable) Value.From(IDictionary) Value.From(IEnumerable>) Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Data Assembly : IPA.Loader.dll Syntax public sealed class Map : Value, IDictionary, ICollection>, IEnumerable>, IEnumerable Properties | Improve this Doc View Source Count Gets the number of key-value pairs in this Map . Declaration public int Count { get; } Property Value Type Description Int32 See Also Count | Improve this Doc View Source Item[String] Accesses the Value at key in the map. Declaration public Value this[string key] { get; set; } Parameters Type Name Description String key the key to get the value associated with Property Value Type Description Value the value associated with the key See Also Item [TKey] | Improve this Doc View Source Keys Gets a collection of the keys for the Map . Declaration public ICollection Keys { get; } Property Value Type Description ICollection < String > See Also Keys | Improve this Doc View Source Values Gets a collection of the values in the Map . Declaration public ICollection Values { get; } Property Value Type Description ICollection < Value > Remarks Unlike all other iterables given by Map , this does not guarantee that order is maintained. See Also Values Methods | Improve this Doc View Source Add(String, Value) Adds a new Value with a given key. Declaration public void Add(string key, Value value) Parameters Type Name Description String key the key to put the value at Value value the Value to add See Also Add (TKey, TValue) | Improve this Doc View Source Clear() Clears the Map of its key-value pairs. Declaration public void Clear() See Also Clear () | Improve this Doc View Source ContainsKey(String) Checks if the Map contains a given key . Declaration public bool ContainsKey(string key) Parameters Type Name Description String key the key to check for Returns Type Description Boolean true if the key exists, otherwise false See Also ContainsKey (TKey) | Improve this Doc View Source GetEnumerator() Enumerates the Map 's key-value pairs. Declaration public IEnumerator> GetEnumerator() Returns Type Description IEnumerator < KeyValuePair < String , Value >> an IEnumerator of key-value pairs in this Map See Also GetEnumerator () | Improve this Doc View Source Remove(String) Removes the object associated with a key in this Map . Declaration public bool Remove(string key) Parameters Type Name Description String key the key to remove Returns Type Description Boolean true if the key existed, false otherwise See Also Remove (TKey) | Improve this Doc View Source ToString() Converts this Value into a human-readable format. Declaration public override string ToString() Returns Type Description String a JSON-like set of key-value pairs Overrides Value.ToString() | Improve this Doc View Source TryGetValue(String, out Value) Gets the value associated with the specified key. Declaration public bool TryGetValue(string key, out Value value) Parameters Type Name Description String key the key of the value to get Value value the target location of the retrieved object Returns Type Description Boolean true if the key was found and value set, false otherwise See Also TryGetValue (TKey, TValue) Explicit Interface Implementations | Improve this Doc View Source ICollection>.Add(KeyValuePair) Declaration void ICollection>.Add(KeyValuePair item) Parameters Type Name Description KeyValuePair < String , Value > item | Improve this Doc View Source ICollection>.Contains(KeyValuePair) Declaration bool ICollection>.Contains(KeyValuePair item) Parameters Type Name Description KeyValuePair < String , Value > item Returns Type Description Boolean | Improve this Doc View Source ICollection>.CopyTo(KeyValuePair[], Int32) Declaration void ICollection>.CopyTo(KeyValuePair[] array, int arrayIndex) Parameters Type Name Description KeyValuePair < String , Value >[] array Int32 arrayIndex | Improve this Doc View Source ICollection>.IsReadOnly Declaration bool ICollection>.IsReadOnly { get; } Returns Type Description Boolean | Improve this Doc View Source ICollection>.Remove(KeyValuePair) Declaration bool ICollection>.Remove(KeyValuePair item) Parameters Type Name Description KeyValuePair < String , Value > item Returns Type Description Boolean | Improve this Doc View Source IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IDictionary System.Collections.Generic.ICollection System.Collections.Generic.IEnumerable System.Collections.IEnumerable Extension Methods EnumerableExtensions.Prepend(IEnumerable, T) EnumerableExtensions.Append(IEnumerable, T) EnumerableExtensions.NonNull(IEnumerable, Func) ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" + }, + "api/IPA.Config.Data.Boolean.html": { + "href": "api/IPA.Config.Data.Boolean.html", + "title": "Class Boolean", + "keywords": "Class Boolean A Value representing a boolean value. Inheritance Object Value Boolean 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 Boolean : Value Properties | Improve this Doc View Source Value The actual value fo this Boolean object. Declaration public bool Value { get; set; } Property Value Type Description Boolean Methods | Improve this Doc View Source ToString() Converts this Value into a human-readable format. Declaration public override string ToString() Returns Type Description String the result of Value.ToString().ToLower() Overrides Value.ToString() Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" + }, + "api/IPA.Config.Config.html": { + "href": "api/IPA.Config.Config.html", + "title": "Class Config", + "keywords": "Class Config An abstraction of a config file on disk, which handles synchronizing between a memory representation and the disk representation. Inheritance Object Config Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config Assembly : IPA.Loader.dll Syntax public class Config Properties | Improve this Doc View Source Name Gets the name associated with this Config object. Declaration public string Name { get; } Property Value Type Description String | Improve this Doc View Source Provider Gets the IConfigProvider associated with this Config object. Declaration public IConfigProvider Provider { get; } Property Value Type Description IConfigProvider Methods | Improve this Doc View Source GetConfigFor(String, String[]) Gets a Config object using the specified list of preferred config types. Declaration public static Config GetConfigFor(string configName, params string[] extensions) Parameters Type Name Description String configName the name of the mod for this config String [] extensions the preferred config types to try to get Returns Type Description Config a Config using the requested format, or of type JSON. | Improve this Doc View Source LoadAsync() Forces an asynchronous load from disk. Declaration public Task LoadAsync() Returns Type Description Task | Improve this Doc View Source LoadSync() Forces a synchronous load from disk. Declaration public void LoadSync() | Improve this Doc View Source Register(Type) Registers a IConfigProvider to use for configs. Declaration public static void Register(Type type) Parameters Type Name Description Type type the type to register | Improve this Doc View Source Register() Registers a IConfigProvider to use for configs. Declaration public static void Register() where T : IConfigProvider Type Parameters Name Description T the type to register | Improve this Doc View Source SetStore(IConfigStore) Sets this object's IConfigStore . Can only be called once. Declaration public void SetStore(IConfigStore store) Parameters Type Name Description IConfigStore store the IConfigStore to add to this instance Exceptions Type Condition InvalidOperationException If this was called before. Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) GeneratedExtension.Generated(Config, Boolean)" + }, + "api/BSIPA_ModList.UI.ViewControllers.html": { + "href": "api/BSIPA_ModList.UI.ViewControllers.html", + "title": "", + "keywords": "Classes MarkdownView A UI component that renders CommonMark Markdown in-game." + }, + "api/IPA.html": { + "href": "api/IPA.html", + "title": "", + "keywords": "Classes InitAttribute Marks a method or a constructor as an inialization method. OnDisableAttribute Indicates that the target method should be called when the plugin is disabled. OnEnableAttribute Indicates that the target method should be called when the plugin is enabled. OnExitAttribute Indicates that the target method should be called when the game exits. OnStartAttribute Indicates that the target method should be called when the game starts. PluginAttribute Marks a class as being a BSIPA plugin. Enums RuntimeOptions Options that a plugin must specify to describe how it expects to be run." + }, + "api/IPA.Utilities.html": { + "href": "api/IPA.Utilities.html", + "title": "", + "keywords": "Classes AlmostVersion A type that wraps SemVer.Version so that the string of the version is stored when the string is not a valid SemVer.Version . AlmostVersionConverter A ValueConverter for AlmostVersion s. CriticalSection Provides utilities for managing various critical sections. EnumerableExtensions Extensions for IEnumerable that don't currently exist in System.Linq . Extensions A class providing various extension methods. FieldAccessor A type containing utilities for accessing non-public fields of objects. PropertyAccessor A type containing utilities for accessing non-public properties of an object. Ref Utilities to create Ref using type inference. Ref A class to store a reference for passing to methods which cannot take ref parameters. ReflectionUtil A utility class providing reflection helper methods. UnityGame Provides some basic utility methods and properties of Beat Saber Utils A class providing static utility functions that in any other language would just exist . Structs CriticalSection.AutoExecuteSection A struct that allows using blocks to manage an execute section. Enums AlmostVersion.StoredAs Represents a storage type of either parsed SemVer.Version object or raw String . UnityGame.Release The different types of releases of the game. Delegates FieldAccessor.Accessor A delegate for a field accessor taking a T ref and returning a U ref. PropertyAccessor.Getter A getter for a property. PropertyAccessor.Setter A setter for a property." + }, + "api/IPA.Utilities.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.UnityGame.html": { + "href": "api/IPA.Utilities.UnityGame.html", + "title": "Class UnityGame", + "keywords": "Class UnityGame Provides some basic utility methods and properties of Beat Saber Inheritance Object UnityGame Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Utilities Assembly : IPA.Loader.dll Syntax public static class UnityGame Properties | Improve this Doc View Source GameVersion Provides the current game version. Declaration public static AlmostVersion GameVersion { get; } Property Value Type Description AlmostVersion the SemVer version of the game | Improve this Doc View Source InstallPath Gets the path to the Beat Saber install directory. Declaration public static string InstallPath { get; } Property Value Type Description String the path of the game install directory | Improve this Doc View Source LibraryPath The path to the Libs folder. Use only if necessary. Declaration public static string LibraryPath { get; } Property Value Type Description String the path to the library directory | Improve this Doc View Source NativeLibraryPath The path to the Libs\\Native folder. Use only if necessary. Declaration public static string NativeLibraryPath { get; } Property Value Type Description String the path to the native library directory | Improve this Doc View Source PluginsPath The directory to load plugins from. Declaration public static string PluginsPath { get; } Property Value Type Description String the path to the plugin directory | Improve this Doc View Source ReleaseType Gets the UnityGame.Release type of this installation of Beat Saber Declaration public static UnityGame.Release ReleaseType { get; } Property Value Type Description UnityGame.Release the type of release this is Remarks This only gives a | Improve this Doc View Source UserDataPath The path to the UserData folder. Declaration public static string UserDataPath { get; } Property Value Type Description String the path to the user data directory" + }, + "api/IPA.Utilities.UnityGame.Release.html": { + "href": "api/IPA.Utilities.UnityGame.Release.html", + "title": "Enum UnityGame.Release", + "keywords": "Enum UnityGame.Release The different types of releases of the game. Namespace : IPA.Utilities Assembly : IPA.Loader.dll Syntax public enum Release Fields Name Description Other Indicates a non-Steam release. Steam Indicates a Steam release. Extension Methods ReflectionUtil.SetField(String, U) ReflectionUtil.GetField(String) ReflectionUtil.SetProperty(String, U) ReflectionUtil.GetProperty(String) ReflectionUtil.InvokeMethod(String, Object[]) ReflectionUtil.InvokeMethod(String, Object[])" + }, + "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(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 MissingFieldException if fieldName does not exist on U See Also Get(ref T, String) | Improve this Doc View Source GetProperty(T, String) Gets a property on the target object, as gotten from T . Declaration public static U GetProperty(this T obj, string propertyName) Parameters Type Name Description T obj the object instance String propertyName the property to get Returns Type Description U the value of the property Type Parameters Name Description T the type to get the property from U the type of the property to get Exceptions Type Condition MissingMemberException if propertyName does not exist on T See Also Get(ref T, String) | 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(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(T, String, U) Sets a field on the target object, as gotten from T . Declaration public static void SetField(this T obj, string fieldName, U value) Parameters Type Name Description T obj the object instance String fieldName the field to set U value the value to set it to Type Parameters Name Description T the type to get the field from U the type of the field to set Exceptions Type Condition MissingFieldException if fieldName does not exist on T See Also Set(ref T, String, U) | Improve this Doc View Source SetProperty(T, String, U) Sets a property on the target object, as gotten from T . Declaration public static void SetProperty(this T obj, string propertyName, U value) Parameters Type Name Description T obj the object instance String propertyName the property to set U value the value to set it to Type Parameters Name Description T the type to get the property from U the type of the property to set Exceptions Type Condition MissingMemberException if propertyName does not exist on T See Also Set(ref T, String, U)" + }, + "api/IPA.Utilities.Ref.html": { + "href": "api/IPA.Utilities.Ref.html", + "title": "Class Ref", + "keywords": "Class Ref Utilities to create Ref using type inference. Inheritance Object Ref Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Utilities Assembly : IPA.Loader.dll Syntax public static class Ref Methods | Improve this Doc View Source Create(T) Creates a Ref . Declaration public static Ref Create(T val) Parameters Type Name Description T val the default value. Returns Type Description Ref the new Ref . Type Parameters Name Description T the type to reference." + }, + "api/IPA.Utilities.Ref-1.html": { + "href": "api/IPA.Utilities.Ref-1.html", + "title": "Class Ref", + "keywords": "Class Ref A class to store a reference for passing to methods which cannot take ref parameters. Inheritance Object Ref Implements IComparable IComparable < Ref > Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Utilities Assembly : IPA.Loader.dll Syntax public class Ref : IComparable, IComparable> Type Parameters Name Description T the type of the value Constructors | Improve this Doc View Source Ref(T) Constructor. Declaration public Ref(T reference) Parameters Type Name Description T reference the initial value of the reference Properties | Improve this Doc View Source Error An exception that was generated while creating the value. Declaration public Exception Error { get; set; } Property Value Type Description Exception the error held in this Ref | Improve this Doc View Source Value The value of the reference Declaration public T Value { get; set; } Property Value Type Description T the value wrapped by this Ref Methods | Improve this Doc View Source CompareTo(T) Compares the wrapped object to the other object. Declaration public int CompareTo(T other) Parameters Type Name Description T other the object to compare to Returns Type Description Int32 the value of the comparison | Improve this Doc View Source CompareTo(Ref) Compares the wrapped object to the other wrapped object. Declaration public int CompareTo(Ref other) Parameters Type Name Description Ref other the wrapped object to compare to Returns Type Description Int32 the value of the comparison | Improve this Doc View Source Verify() Throws error if one was set. Declaration public void Verify() Operators | Improve this Doc View Source Implicit(T to Ref) Converts a value T to a reference to that object. Will overwrite the reference in the left hand expression if there is one. Declaration public static implicit operator Ref(T toConvert) Parameters Type Name Description T toConvert the value to wrap in the Ref Returns Type Description Ref the Ref wrapping the value | Improve this Doc View Source Implicit(Ref to T) Converts to referenced type, returning the stored reference. Declaration public static implicit operator T(Ref self) Parameters Type Name Description Ref self the object to be de-referenced Returns Type Description T the value referenced by the object Implements System.IComparable System.IComparable Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" + }, + "api/IPA.Loader.Features.Feature.html": { + "href": "api/IPA.Loader.Features.Feature.html", + "title": "Class Feature", + "keywords": "Class Feature The root interface for a mod Feature. Inheritance Object Feature Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Loader.Features Assembly : IPA.Loader.dll Syntax public abstract class Feature Remarks Avoid storing any data in any subclasses. If you do, it may result in a failure to load the feature. Properties | Improve this Doc View Source InvalidMessage The message to be logged when the feature is not valid for a plugin. This should also be set whenever either BeforeLoad(PluginMetadata) or BeforeInit(PluginMetadata) returns false. Declaration public virtual string InvalidMessage { get; protected set; } Property Value Type Description String the message to show when the feature is marked invalid | Improve this Doc View Source StoreOnPlugin Defines whether or not this feature will be accessible from the plugin metadata once loaded. Declaration protected virtual bool StoreOnPlugin { get; } Property Value Type Description Boolean true if this Feature will be stored on the plugin metadata, false otherwise Methods | Improve this Doc View Source AfterInit(PluginMetadata) Called after a plugin has been fully initialized, whether or not there is an Init method. This should never throw an exception. Declaration public virtual void AfterInit(PluginMetadata plugin) Parameters Type Name Description PluginMetadata plugin the plugin that was just initialized | Improve this Doc View Source AfterInit(PluginMetadata, Object) Called after a plugin has been fully initialized, whether or not there is an Init method. This should never throw an exception. Declaration public virtual void AfterInit(PluginMetadata plugin, object pluginInstance) Parameters Type Name Description PluginMetadata plugin the plugin that was just initialized Object pluginInstance the instance of the plugin being initialized | Improve this Doc View Source BeforeInit(PluginMetadata) Called before a plugin's Init method is called. This will not be called if there is no Init method. This should never throw an exception. An exception will abort the loading of the plugin with an error. Declaration public virtual bool BeforeInit(PluginMetadata plugin) Parameters Type Name Description PluginMetadata plugin the plugin to be initialized Returns Type Description Boolean whether or not to call the Init method | Improve this Doc View Source BeforeLoad(PluginMetadata) Called before a plugin is loaded. This should never throw an exception. An exception will abort the loading of the plugin with an error. Declaration public virtual bool BeforeLoad(PluginMetadata plugin) Parameters Type Name Description PluginMetadata plugin the plugin about to be loaded Returns Type Description Boolean whether or not the plugin should be loaded Remarks The assembly will still be loaded, but the plugin will not be constructed if this returns false . Any features it defines, for example, will still be loaded. | Improve this Doc View Source Evaluate() Evaluates the Feature for use in conditional meta-Features. This should be re-calculated on every call, unless it can be proven to not change. This will be called on every feature that returns true from Initialize(PluginMetadata, String[]) Declaration public virtual bool Evaluate() Returns Type Description Boolean the truthiness of the Feature. | Improve this Doc View Source Initialize(PluginMetadata, String[]) Initializes the feature with the parameters provided in the definition. Note: When no parenthesis are provided, parameters is an empty array. Declaration public abstract bool Initialize(PluginMetadata meta, string[] parameters) Parameters Type Name Description PluginMetadata meta the metadata of the plugin that is being prepared String [] parameters the parameters passed to the feature definition, or null Returns Type Description Boolean true if the feature is valid for the plugin, false otherwise Remarks This gets called BEFORE your Init method. Returning false does not prevent the plugin from being loaded. It simply prevents the feature from being used. | Improve this Doc View Source RequireLoaded(PluginMetadata) Ensures a plugin's assembly is loaded. Do not use unless you need to. Declaration protected void RequireLoaded(PluginMetadata plugin) Parameters Type Name Description PluginMetadata plugin the plugin to ensure is loaded. Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" + }, + "api/IPA.Config.Stores.html": { + "href": "api/IPA.Config.Stores.html", + "title": "", + "keywords": "Classes GeneratedExtension A class providing an extension for Config to make it easy to use generated config stores. ValueConverter A strongly-typed IValueConverter . Interfaces IValueConverter The base interface for a value converter for use by objects generated by Generated(Config, Boolean) ." + }, + "api/IPA.Config.Stores.ValueConverter-1.html": { + "href": "api/IPA.Config.Stores.ValueConverter-1.html", + "title": "Class ValueConverter", + "keywords": "Class ValueConverter A strongly-typed IValueConverter . Inheritance Object ValueConverter CollectionConverter CustomObjectConverter NullableConverter AlmostVersionConverter Implements IValueConverter Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores Assembly : IPA.Loader.dll Syntax public abstract class ValueConverter : IValueConverter Type Parameters Name Description T the type of object to handle Methods | Improve this Doc View Source FromValue(Value, Object) Converts the given Value to the object type handled by this converter. Declaration public abstract T FromValue(Value value, object parent) Parameters Type Name Description Value value the Value to deserialize Object parent the object that will own the result Returns Type Description T the deserialized object See Also FromValue ( Value , Object ) | Improve this Doc View Source ToValue(T, Object) Converts the given object to a Value . Declaration public abstract Value ToValue(T obj, object parent) Parameters Type Name Description T obj the object to convert Object parent the owning object of obj Returns Type Description Value a representation of obj as a Value structure See Also ToValue ( Object , Object ) Explicit Interface Implementations | Improve this Doc View Source IValueConverter.FromValue(Value, Object) Declaration object IValueConverter.FromValue(Value value, object parent) Parameters Type Name Description Value value Object parent Returns Type Description Object | Improve this Doc View Source IValueConverter.ToValue(Object, Object) Declaration Value IValueConverter.ToValue(object obj, object parent) Parameters Type Name Description Object obj Object parent Returns Type Description Value | Improve this Doc View Source IValueConverter.Type Declaration Type IValueConverter.Type { get; } Returns Type Description Type Implements IValueConverter Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also IValueConverter" + }, + "api/IPA.Config.Stores.Converters.html": { + "href": "api/IPA.Config.Stores.Converters.html", + "title": "", + "keywords": "Classes CollectionConverter A base class for all ICollection type converters, providing most of the functionality. CollectionConverter A CollectionConverter which default constructs a converter for use as the value converter. Converter Provides utility functions for custom converters. Converter 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.Converters.NullableConverter-2.html": { "href": "api/IPA.Config.Stores.Converters.NullableConverter-2.html", "title": "Class NullableConverter", - "keywords": "Class 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 . Inheritance Object ValueConverter < Nullable > NullableConverter NullableConverter Implements IValueConverter Inherited Members NullableConverter.FromValue(Value, Object) NullableConverter.ToValue(Nullable, Object) ValueConverter>.IValueConverter.ToValue(Object, Object) ValueConverter>.IValueConverter.FromValue(Value, Object) ValueConverter>.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public sealed class NullableConverter : NullableConverter, IValueConverter where T : struct where TConverter : ValueConverter, new() Type Parameters Name Description T the underlying type of the Nullable TConverter the type to use as an underlying converter Constructors | Improve this Doc View Source NullableConverter() Creates a converter with a new TConverter as the underlying converter. Declaration public NullableConverter() See Also NullableConverter(ValueConverter) 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 NullableConverter " + "keywords": "Class 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 . Inheritance Object ValueConverter < Nullable > NullableConverter NullableConverter Implements IValueConverter Inherited Members NullableConverter.FromValue(Value, Object) NullableConverter.ToValue(Nullable, Object) ValueConverter>.IValueConverter.ToValue(Object, Object) ValueConverter>.IValueConverter.FromValue(Value, Object) ValueConverter>.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public sealed class NullableConverter : NullableConverter, IValueConverter where T : struct where TConverter : ValueConverter, new() Type Parameters Name Description T the underlying type of the Nullable TConverter the type to use as an underlying converter Constructors | Improve this Doc View Source NullableConverter() Creates a converter with a new TConverter as the underlying converter. Declaration public NullableConverter() See Also NullableConverter(ValueConverter) Implements IValueConverter Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also NullableConverter " }, "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>.PopulateFromValue(List, List, Object) CollectionConverter>.FromValue(Value, Object) CollectionConverter>.ToValue(List, Object) ValueConverter>.ToValue(List, Object) ValueConverter>.FromValue(Value, Object) ValueConverter>.IValueConverter.ToValue(Object, Object) ValueConverter>.IValueConverter.FromValue(Value, Object) ValueConverter>.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public class ListConverter : CollectionConverter>, IValueConverter Type Parameters Name Description T the element type of the List Constructors | Improve this Doc View Source ListConverter() Creates an ListConverter using the default converter for T . Declaration public ListConverter() See Also CollectionConverter() | Improve this Doc View Source ListConverter(ValueConverter) Creates an ListConverter using the specified underlying converter for values. Declaration public ListConverter(ValueConverter underlying) Parameters Type Name Description ValueConverter underlying the underlying ValueConverter to use for the values Methods | Improve this Doc View Source Create(Int32, Object) Creates a new List for deserialization. Declaration protected override List Create(int size, object parent) Parameters Type Name Description Int32 size the size to initialize it to Object parent the object that will own the new object Returns Type Description List the new List Overrides IPA.Config.Stores.Converters.CollectionConverter>.Create(System.Int32, System.Object) 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 CollectionConverter " + "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>.PopulateFromValue(List, List, Object) CollectionConverter>.FromValue(Value, Object) CollectionConverter>.ToValue(List, Object) ValueConverter>.ToValue(List, Object) ValueConverter>.FromValue(Value, Object) ValueConverter>.IValueConverter.ToValue(Object, Object) ValueConverter>.IValueConverter.FromValue(Value, Object) ValueConverter>.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public class ListConverter : CollectionConverter>, IValueConverter Type Parameters Name Description T the element type of the List Constructors | Improve this Doc View Source ListConverter() Creates an ListConverter using the default converter for T . Declaration public ListConverter() See Also CollectionConverter() | Improve this Doc View Source ListConverter(ValueConverter) Creates an ListConverter using the specified underlying converter for values. Declaration public ListConverter(ValueConverter underlying) Parameters Type Name Description ValueConverter underlying the underlying ValueConverter to use for the values Methods | Improve this Doc View Source Create(Int32, Object) Creates a new List for deserialization. Declaration protected override List Create(int size, object parent) Parameters Type Name Description Int32 size the size to initialize it to Object parent the object that will own the new object Returns Type Description List the new List Overrides IPA.Config.Stores.Converters.CollectionConverter>.Create(System.Int32, System.Object) Implements IValueConverter Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also CollectionConverter " }, "api/IPA.Config.Stores.Converters.ISetConverter-2.html": { "href": "api/IPA.Config.Stores.Converters.ISetConverter-2.html", "title": "Class ISetConverter", - "keywords": "Class ISetConverter An ISetConverter which default constructs a converter for use as the value converter. Inheritance Object ValueConverter < ISet > CollectionConverter > ISetConverter ISetConverter Implements IValueConverter Inherited Members ISetConverter.Create(Int32, Object) CollectionConverter>.BaseConverter CollectionConverter>.Create(Int32, Object) CollectionConverter>.PopulateFromValue(ISet, List, Object) CollectionConverter>.FromValue(Value, Object) CollectionConverter>.ToValue(ISet, Object) ValueConverter>.ToValue(ISet, Object) ValueConverter>.FromValue(Value, Object) ValueConverter>.IValueConverter.ToValue(Object, Object) ValueConverter>.IValueConverter.FromValue(Value, Object) ValueConverter>.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public sealed class ISetConverter : ISetConverter, IValueConverter where TConverter : ValueConverter, new() Type Parameters Name Description T the value type of the collection TConverter the type of the converter to use for T Constructors | Improve this Doc View Source ISetConverter() Creates an ISetConverter using a default constructed TConverter element type. Equivalent to calling ISetConverter(ValueConverter) with a default-constructed TConverter . Declaration public ISetConverter() See Also ISetConverter(ValueConverter) 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 ISetConverter " + "keywords": "Class ISetConverter An ISetConverter which default constructs a converter for use as the value converter. Inheritance Object ValueConverter < ISet > CollectionConverter > ISetConverter ISetConverter Implements IValueConverter Inherited Members ISetConverter.Create(Int32, Object) CollectionConverter>.BaseConverter CollectionConverter>.Create(Int32, Object) CollectionConverter>.PopulateFromValue(ISet, List, Object) CollectionConverter>.FromValue(Value, Object) CollectionConverter>.ToValue(ISet, Object) ValueConverter>.ToValue(ISet, Object) ValueConverter>.FromValue(Value, Object) ValueConverter>.IValueConverter.ToValue(Object, Object) ValueConverter>.IValueConverter.FromValue(Value, Object) ValueConverter>.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public sealed class ISetConverter : ISetConverter, IValueConverter where TConverter : ValueConverter, new() Type Parameters Name Description T the value type of the collection TConverter the type of the converter to use for T Constructors | Improve this Doc View Source ISetConverter() Creates an ISetConverter using a default constructed TConverter element type. Equivalent to calling ISetConverter(ValueConverter) with a default-constructed TConverter . Declaration public ISetConverter() See Also ISetConverter(ValueConverter) Implements IValueConverter Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also ISetConverter " }, "api/IPA.Config.Stores.Converters.IListConverter-1.html": { "href": "api/IPA.Config.Stores.Converters.IListConverter-1.html", "title": "Class IListConverter", - "keywords": "Class IListConverter A CollectionConverter for an IList , creating a List when deserializing. Inheritance Object ValueConverter < IList > CollectionConverter > IListConverter IListConverter Implements IValueConverter Inherited Members CollectionConverter>.BaseConverter CollectionConverter>.Create(Int32, Object) CollectionConverter>.PopulateFromValue(IList, List, Object) CollectionConverter>.FromValue(Value, Object) CollectionConverter>.ToValue(IList, Object) ValueConverter>.ToValue(IList, Object) ValueConverter>.FromValue(Value, Object) ValueConverter>.IValueConverter.ToValue(Object, Object) ValueConverter>.IValueConverter.FromValue(Value, Object) ValueConverter>.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public class IListConverter : CollectionConverter>, IValueConverter Type Parameters Name Description T the element type of the IList Constructors | Improve this Doc View Source IListConverter() Creates an IListConverter using the default converter for T . Declaration public IListConverter() See Also CollectionConverter() | Improve this Doc View Source IListConverter(ValueConverter) Creates an IListConverter using the specified underlying converter for values. Declaration public IListConverter(ValueConverter underlying) Parameters Type Name Description ValueConverter underlying the underlying ValueConverter to use for the values Methods | Improve this Doc View Source Create(Int32, Object) Creates a new IList (a List ) for deserialization. Declaration protected override IList Create(int size, object parent) Parameters Type Name Description Int32 size the size to initialize it to Object parent the object that will own the new object Returns Type Description IList the new IList Overrides IPA.Config.Stores.Converters.CollectionConverter>.Create(System.Int32, System.Object) Implements IValueConverter Extension Methods ReflectionUtil.SetField(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 CollectionConverter " - }, - "api/IPA.Config.Stores.Converters.CollectionConverter-2.html": { - "href": "api/IPA.Config.Stores.Converters.CollectionConverter-2.html", - "title": "Class CollectionConverter", - "keywords": "Class CollectionConverter A base class for all ICollection type converters, providing most of the functionality. Inheritance Object ValueConverter CollectionConverter CollectionConverter IListConverter ISetConverter ListConverter Implements IValueConverter Inherited Members ValueConverter.IValueConverter.ToValue(Object, Object) ValueConverter.IValueConverter.FromValue(Value, Object) ValueConverter.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public class CollectionConverter : ValueConverter, IValueConverter where TCollection : ICollection Type Parameters Name Description T the type of the items in the collection TCollection the instantiated type of collection Constructors | Improve this Doc View Source CollectionConverter() Creates a CollectionConverter using the default converter for the element type. Equivalent to calling CollectionConverter(ValueConverter) with Default . Declaration public CollectionConverter() See Also CollectionConverter(ValueConverter) | Improve this Doc View Source CollectionConverter(ValueConverter) Creates a CollectionConverter using the specified underlying converter. Declaration public CollectionConverter(ValueConverter underlying) Parameters Type Name Description ValueConverter underlying the ValueConverter to use to convert the values Properties | Improve this Doc View Source BaseConverter Gets the converter for the collection's value type. Declaration protected ValueConverter BaseConverter { get; } Property Value Type Description ValueConverter Methods | Improve this Doc View Source Create(Int32, Object) Creates a collection of type TCollection using the size and parent . Declaration protected virtual TCollection Create(int size, object parent) Parameters Type Name Description Int32 size the initial size of the collecion Object parent the object that will own the new collection Returns Type Description TCollection a new instance of TCollection See Also FromValue ( Value , Object ) | Improve this Doc View Source FromValue(Value, Object) Deserializes a List in value into a new TCollection owned by parent . Declaration public override TCollection FromValue(Value value, object parent) Parameters Type Name Description Value value the List to convert to a TCollection Object parent the object that will own the resulting TCollection Returns Type Description TCollection a new TCollection holding the deserialized content of value Overrides IPA.Config.Stores.ValueConverter.FromValue(IPA.Config.Data.Value, System.Object) See Also FromValue ( Value , Object ) | Improve this Doc View Source PopulateFromValue(TCollection, List, Object) Populates the colleciton col with the deserialized values from list with the parent parent . Declaration protected void PopulateFromValue(TCollection col, List list, object parent) Parameters Type Name Description TCollection col the collection to populate List list the values to populate it with Object parent the object that will own the new objects See Also FromValue ( Value , Object ) | Improve this Doc View Source ToValue(TCollection, Object) Serializes a TCollection into a List . Declaration public override Value ToValue(TCollection obj, object parent) Parameters Type Name Description TCollection obj the TCollection to serialize Object parent the object owning obj Returns Type Description Value the List that obj was serialized into Overrides IPA.Config.Stores.ValueConverter.ToValue(TCollection, System.Object) See Also ToValue (T, Object ) 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[])" - }, - "api/IPA.Config.Stores.Attributes.SerializedNameAttribute.html": { - "href": "api/IPA.Config.Stores.Attributes.SerializedNameAttribute.html", - "title": "Class SerializedNameAttribute", - "keywords": "Class SerializedNameAttribute Specifies a name for the serialized field or property in an object being wrapped by Generated(Config, Boolean) that is different from the member name itself. Inheritance Object Attribute SerializedNameAttribute Implements _Attribute Inherited Members Attribute.GetCustomAttributes(MemberInfo, Type) Attribute.GetCustomAttributes(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(MemberInfo) Attribute.GetCustomAttributes(MemberInfo, Boolean) Attribute.IsDefined(MemberInfo, Type) Attribute.IsDefined(MemberInfo, Type, Boolean) Attribute.GetCustomAttribute(MemberInfo, Type) Attribute.GetCustomAttribute(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo) Attribute.GetCustomAttributes(ParameterInfo, Type) Attribute.GetCustomAttributes(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo, Boolean) Attribute.IsDefined(ParameterInfo, Type) Attribute.IsDefined(ParameterInfo, Type, Boolean) Attribute.GetCustomAttribute(ParameterInfo, Type) Attribute.GetCustomAttribute(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(Module, Type) Attribute.GetCustomAttributes(Module) Attribute.GetCustomAttributes(Module, Boolean) Attribute.GetCustomAttributes(Module, Type, Boolean) Attribute.IsDefined(Module, Type) Attribute.IsDefined(Module, Type, Boolean) Attribute.GetCustomAttribute(Module, Type) Attribute.GetCustomAttribute(Module, Type, Boolean) Attribute.GetCustomAttributes(Assembly, Type) Attribute.GetCustomAttributes(Assembly, Type, Boolean) Attribute.GetCustomAttributes(Assembly) Attribute.GetCustomAttributes(Assembly, Boolean) Attribute.IsDefined(Assembly, Type) Attribute.IsDefined(Assembly, Type, Boolean) Attribute.GetCustomAttribute(Assembly, Type) Attribute.GetCustomAttribute(Assembly, Type, Boolean) Attribute.Equals(Object) Attribute.GetHashCode() Attribute.Match(Object) Attribute.IsDefaultAttribute() Attribute._Attribute.GetTypeInfoCount(UInt32) Attribute._Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) Attribute._Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) Attribute._Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) Attribute.TypeId Object.ToString() Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Attributes Assembly : IPA.Loader.dll Syntax [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false, Inherited = true)] public sealed class SerializedNameAttribute : Attribute, _Attribute Examples When serializing the following object, we might get the JSON that follows. public class PluginConfig { public virtual bool BooleanField { get; set; } = true; } { \"BooleanField\": true } However, if we were to add a SerializedNameAttribute to that field, we would get the following. public class PluginConfig { [SerializedName(\"bool\")] public virtual bool BooleanField { get; set; } = true; } { \"bool\": true } Constructors | Improve this Doc View Source SerializedNameAttribute(String) Creates a new SerializedNameAttribute with the given Name . Declaration public SerializedNameAttribute(string name) Parameters Type Name Description String name the value to assign to Name Properties | Improve this Doc View Source Name Gets the name to replace the member name with. Declaration public string Name { get; } Property Value Type Description String Implements System.Runtime.InteropServices._Attribute Extension Methods ReflectionUtil.SetField(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.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 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." + "keywords": "Class IListConverter A CollectionConverter for an IList , creating a List when deserializing. Inheritance Object ValueConverter < IList > CollectionConverter > IListConverter IListConverter Implements IValueConverter Inherited Members CollectionConverter>.BaseConverter CollectionConverter>.Create(Int32, Object) CollectionConverter>.PopulateFromValue(IList, List, Object) CollectionConverter>.FromValue(Value, Object) CollectionConverter>.ToValue(IList, Object) ValueConverter>.ToValue(IList, Object) ValueConverter>.FromValue(Value, Object) ValueConverter>.IValueConverter.ToValue(Object, Object) ValueConverter>.IValueConverter.FromValue(Value, Object) ValueConverter>.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public class IListConverter : CollectionConverter>, IValueConverter Type Parameters Name Description T the element type of the IList Constructors | Improve this Doc View Source IListConverter() Creates an IListConverter using the default converter for T . Declaration public IListConverter() See Also CollectionConverter() | Improve this Doc View Source IListConverter(ValueConverter) Creates an IListConverter using the specified underlying converter for values. Declaration public IListConverter(ValueConverter underlying) Parameters Type Name Description ValueConverter underlying the underlying ValueConverter to use for the values Methods | Improve this Doc View Source Create(Int32, Object) Creates a new IList (a List ) for deserialization. Declaration protected override IList Create(int size, object parent) Parameters Type Name Description Int32 size the size to initialize it to Object parent the object that will own the new object Returns Type Description IList the new IList Overrides IPA.Config.Stores.Converters.CollectionConverter>.Create(System.Int32, System.Object) Implements IValueConverter Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also CollectionConverter " }, "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[])" + "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(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" + }, + "api/IPA.Config.Data.List.html": { + "href": "api/IPA.Config.Data.List.html", + "title": "Class List", + "keywords": "Class List A list of Value s for serialization by an IConfigProvider . Use List() or From(IEnumerable) to create. Inheritance Object Value List Implements IList < Value > ICollection < Value > IEnumerable < Value > IEnumerable Inherited Members Value.Null() Value.List() Value.Map() Value.From(String) Value.Text(String) Value.From(Int64) Value.Integer(Int64) Value.From(Decimal) Value.Float(Decimal) Value.From(Boolean) Value.Bool(Boolean) Value.From(IEnumerable) Value.From(IDictionary) Value.From(IEnumerable>) Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Data Assembly : IPA.Loader.dll Syntax public sealed class List : Value, IList, ICollection, IEnumerable, IEnumerable Properties | Improve this Doc View Source Count Gets the number of elements in the List . Declaration public int Count { get; } Property Value Type Description Int32 See Also Count | Improve this Doc View Source Item[Int32] Gets the value at the given index in this List . Declaration public Value this[int index] { get; set; } Parameters Type Name Description Int32 index the index to retrieve the Value at Property Value Type Description Value the Value at index See Also Item [ Int32 ] Methods | Improve this Doc View Source Add(Value) Adds a Value to the end of this List . Declaration public void Add(Value item) Parameters Type Name Description Value item the Value to add See Also Add (T) | Improve this Doc View Source AddRange(IEnumerable) Adds a range of Value s to the end of this List . Declaration public void AddRange(IEnumerable vals) Parameters Type Name Description IEnumerable < Value > vals the range of Value s to add | Improve this Doc View Source Clear() Clears the List . Declaration public void Clear() See Also Clear () | Improve this Doc View Source Contains(Value) Checks if the List contains a certian item. Declaration public bool Contains(Value item) Parameters Type Name Description Value item the Value to check for Returns Type Description Boolean true if the item was founc, otherwise false See Also Contains (T) | Improve this Doc View Source CopyTo(Value[], Int32) Copies the Value s in the List to the Array in array . Declaration public void CopyTo(Value[] array, int arrayIndex) Parameters Type Name Description Value [] array the Array to copy to Int32 arrayIndex the starting index to copy to See Also CopyTo (T[], Int32 ) | Improve this Doc View Source GetEnumerator() Gets an enumerator to enumerate the List . Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator < Value > an IEnumerator for this List See Also GetEnumerator () | Improve this Doc View Source IndexOf(Value) Gets the index that a given Value is in the List . Declaration public int IndexOf(Value item) Parameters Type Name Description Value item the Value to search for Returns Type Description Int32 the index that the item was at, or -1. See Also IndexOf (T) | Improve this Doc View Source Insert(Int32, Value) Inserts a Value at an index. Declaration public void Insert(int index, Value item) Parameters Type Name Description Int32 index the index to insert at Value item the Value to insert See Also Insert ( Int32 , T) | Improve this Doc View Source Remove(Value) Removes a Value from the List . Declaration public bool Remove(Value item) Parameters Type Name Description Value item the Value to remove Returns Type Description Boolean true if the item was removed, false otherwise See Also Remove (T) | Improve this Doc View Source RemoveAt(Int32) Removes a Value at an index. Declaration public void RemoveAt(int index) Parameters Type Name Description Int32 index the index to remove a Value at See Also RemoveAt ( Int32 ) | Improve this Doc View Source ToString() Converts this Value into a human-readable format. Declaration public override string ToString() Returns Type Description String a comma-seperated list of the result of ToString() wrapped in square brackets Overrides Value.ToString() Explicit Interface Implementations | Improve this Doc View Source ICollection.IsReadOnly Declaration bool ICollection.IsReadOnly { get; } Returns Type Description Boolean | Improve this Doc View Source IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IList System.Collections.Generic.ICollection System.Collections.Generic.IEnumerable System.Collections.IEnumerable Extension Methods EnumerableExtensions.Prepend(IEnumerable, T) EnumerableExtensions.Append(IEnumerable, T) EnumerableExtensions.NonNull(IEnumerable) EnumerableExtensions.NonNull(IEnumerable, Func) ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" }, "api/IPA.Config.Data.FloatingPoint.html": { "href": "api/IPA.Config.Data.FloatingPoint.html", "title": "Class FloatingPoint", - "keywords": "Class FloatingPoint A Value representing a floating point value. This may hold a Decimal 's worth of data. Inheritance Object Value FloatingPoint 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 FloatingPoint : Value Properties | Improve this Doc View Source Value The actual value fo this FloatingPoint object. Declaration public decimal Value { get; set; } Property Value Type Description Decimal Methods | Improve this Doc View Source AsInteger() Coerces this FloatingPoint into an Integer . Declaration public Integer AsInteger() Returns Type Description Integer a Integer representing the closest approximation of Value | Improve this Doc View Source ToString() Converts this Value into a human-readable format. Declaration public override string ToString() Returns Type Description String the result of Value.ToString() Overrides Value.ToString() Extension Methods ReflectionUtil.SetField(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[])" + "keywords": "Class FloatingPoint A Value representing a floating point value. This may hold a Decimal 's worth of data. Inheritance Object Value FloatingPoint 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 FloatingPoint : Value Properties | Improve this Doc View Source Value The actual value fo this FloatingPoint object. Declaration public decimal Value { get; set; } Property Value Type Description Decimal Methods | Improve this Doc View Source AsInteger() Coerces this FloatingPoint into an Integer . Declaration public Integer AsInteger() Returns Type Description Integer a Integer representing the closest approximation of Value | Improve this Doc View Source ToString() Converts this Value into a human-readable format. Declaration public override string ToString() Returns Type Description String the result of Value.ToString() Overrides Value.ToString() Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" }, "api/IPA.Config.ConfigProvider.html": { "href": "api/IPA.Config.ConfigProvider.html", "title": "Class ConfigProvider", - "keywords": "Class ConfigProvider A wrapper for an IConfigProvider and the FileInfo to use with it. Inheritance Object ConfigProvider Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config Assembly : IPA.Loader.dll Syntax public class ConfigProvider Methods | Improve this Doc View Source Load() Loads a Value from disk in whatever format this provider provides and returns it. Declaration public Value Load() Returns Type Description Value the Value loaded | Improve this Doc View Source Store(Value) Stores the Value given to disk in the format specified. Declaration public void Store(Value value) Parameters Type Name Description Value value the Value to store Extension Methods ReflectionUtil.SetField(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[])" + "keywords": "Class ConfigProvider A wrapper for an IConfigProvider and the FileInfo to use with it. Inheritance Object ConfigProvider Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config Assembly : IPA.Loader.dll Syntax public class ConfigProvider Methods | Improve this Doc View Source Load() Loads a Value from disk in whatever format this provider provides and returns it. Declaration public Value Load() Returns Type Description Value the Value loaded | Improve this Doc View Source Store(Value) Stores the Value given to disk in the format specified. Declaration public void Store(Value value) Parameters Type Name Description Value value the Value to store Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" }, - "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.Config.Config.PreferAttribute.html": { + "href": "api/IPA.Config.Config.PreferAttribute.html", + "title": "Class Config.PreferAttribute", + "keywords": "Class Config.PreferAttribute Specifies that a particular parameter is preferred to use a particular IConfigProvider . If it is not available, also specifies backups. If none are available, the default is used. Inheritance Object Attribute Config.PreferAttribute Implements _Attribute Inherited Members Attribute.GetCustomAttributes(MemberInfo, Type) Attribute.GetCustomAttributes(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(MemberInfo) Attribute.GetCustomAttributes(MemberInfo, Boolean) Attribute.IsDefined(MemberInfo, Type) Attribute.IsDefined(MemberInfo, Type, Boolean) Attribute.GetCustomAttribute(MemberInfo, Type) Attribute.GetCustomAttribute(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo) Attribute.GetCustomAttributes(ParameterInfo, Type) Attribute.GetCustomAttributes(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo, Boolean) Attribute.IsDefined(ParameterInfo, Type) Attribute.IsDefined(ParameterInfo, Type, Boolean) Attribute.GetCustomAttribute(ParameterInfo, Type) Attribute.GetCustomAttribute(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(Module, Type) Attribute.GetCustomAttributes(Module) Attribute.GetCustomAttributes(Module, Boolean) Attribute.GetCustomAttributes(Module, Type, Boolean) Attribute.IsDefined(Module, Type) Attribute.IsDefined(Module, Type, Boolean) Attribute.GetCustomAttribute(Module, Type) Attribute.GetCustomAttribute(Module, Type, Boolean) Attribute.GetCustomAttributes(Assembly, Type) Attribute.GetCustomAttributes(Assembly, Type, Boolean) Attribute.GetCustomAttributes(Assembly) Attribute.GetCustomAttributes(Assembly, Boolean) Attribute.IsDefined(Assembly, Type) Attribute.IsDefined(Assembly, Type, Boolean) Attribute.GetCustomAttribute(Assembly, Type) Attribute.GetCustomAttribute(Assembly, Type, Boolean) Attribute.Equals(Object) Attribute.GetHashCode() Attribute.Match(Object) Attribute.IsDefaultAttribute() Attribute._Attribute.GetTypeInfoCount(UInt32) Attribute._Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) Attribute._Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) Attribute._Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) Attribute.TypeId Object.ToString() Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config Assembly : IPA.Loader.dll Syntax [AttributeUsage(AttributeTargets.Parameter)] public sealed class PreferAttribute : Attribute, _Attribute Constructors | Improve this Doc View Source PreferAttribute(String[]) Constructs the attribute with a specific preference list. Each entry is the extension without a '.' Declaration public PreferAttribute(params string[] preference) Parameters Type Name Description String [] preference The preferences in order of preference. Properties | Improve this Doc View Source PreferenceOrder The order of preference for the config type. Declaration public string[] PreferenceOrder { get; } Property Value Type Description String [] the list of config extensions in order of preference Implements System.Runtime.InteropServices._Attribute Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" }, - "api/IPA.Utilities.html": { - "href": "api/IPA.Utilities.html", - "title": "", - "keywords": "Classes AlmostVersion A type that wraps SemVer.Version so that the string of the version is stored when the string is not a valid SemVer.Version . AlmostVersionConverter A ValueConverter for AlmostVersion s. CriticalSection Provides utilities for managing various critical sections. EnumerableExtensions Extensions for IEnumerable that don't currently exist in System.Linq . Extensions A class providing various extension methods. Ref Utilities to create Ref using type inference. Ref A class to store a reference for passing to methods which cannot take ref parameters. ReflectionUtil A utility class providing reflection helper methods. UnityGame Provides some basic utility methods and properties of Beat Saber Utils A class providing static utility functions that in any other language would just exist . Structs CriticalSection.AutoExecuteSection A struct that allows using blocks to manage an execute section. Enums AlmostVersion.StoredAs Represents a storage type of either parsed SemVer.Version object or raw String . UnityGame.Release The different types of releases of the game." + "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(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) ReflectionUtil.CopyComponent(Component, Type, GameObject, Type) ReflectionUtil.CopyComponent(Component, GameObject, Type)" }, - "api/IPA.Utilities.Ref.html": { - "href": "api/IPA.Utilities.Ref.html", - "title": "Class Ref", - "keywords": "Class Ref Utilities to create Ref using type inference. Inheritance Object Ref Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Utilities Assembly : IPA.Loader.dll Syntax public static class Ref Methods | Improve this Doc View Source Create(T) Creates a Ref . Declaration public static Ref Create(T val) Parameters Type Name Description T val the default value. Returns Type Description Ref the new Ref . Type Parameters Name Description T the type to reference." + "api/IPA.Utilities.FieldAccessor-2.html": { + "href": "api/IPA.Utilities.FieldAccessor-2.html", + "title": "Class FieldAccessor", + "keywords": "Class FieldAccessor A type containing utilities for accessing non-public fields of objects. Inheritance Object FieldAccessor 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 FieldAccessor Type Parameters Name Description T the type that the fields are on U the type of the field to access Methods | Improve this Doc View Source Access(ref T, String) Accesses a field for an object by name. Declaration public static U Access(ref T obj, string name) Parameters Type Name Description T obj the object to access the field of String name the name of the field to access Returns Type Description U a reference to the object at the field Exceptions Type Condition MissingFieldException if the field does not exist on T See Also GetAccessor(String) | Improve this Doc View Source Get(T, String) Gets the value of a field of an object by name. Declaration public static U Get(T obj, string name) Parameters Type Name Description T obj the object to access the field of String name the name of the field to access Returns Type Description U the value of the field Exceptions Type Condition MissingFieldException if the field does not exist on T See Also Get(ref T, String) Access(ref T, String) GetAccessor(String) | Improve this Doc View Source Get(ref T, String) Gets the value of a field of an object by name. Declaration public static U Get(ref T obj, string name) Parameters Type Name Description T obj the object to access the field of String name the name of the field to access Returns Type Description U the value of the field Remarks The only good reason to use this over Get(T, String) is when you are working with a value type, as it prevents a copy. Exceptions Type Condition MissingFieldException if the field does not exist on T See Also Get(T, String) Access(ref T, String) GetAccessor(String) | Improve this Doc View Source GetAccessor(String) Gets an FieldAccessor.Accessor for the field named name on T . Declaration public static FieldAccessor.Accessor GetAccessor(string name) Parameters Type Name Description String name the field name Returns Type Description FieldAccessor.Accessor <> an accessor for the field Exceptions Type Condition MissingFieldException if the field does not exist on T | Improve this Doc View Source Set(T, String, U) Sets the value of a field for an object by name. Declaration public static void Set(T obj, string name, U value) Parameters Type Name Description T obj the object to set the field of String name the name of the field U value the value to set it to Remarks This overload cannot be safely used for value types. Use Set(ref T, String, U) instead. Exceptions Type Condition MissingFieldException if the field does not exist on T See Also Set(ref T, String, U) Access(ref T, String) GetAccessor(String) | Improve this Doc View Source Set(ref T, String, U) Sets the value of a field for an object by name. Declaration public static void Set(ref T obj, string name, U value) Parameters Type Name Description T obj the object to set the field of String name the name of the field U value the value to set it to Remarks This overload must be used for value types. Exceptions Type Condition MissingFieldException if the field does not exist on T See Also Set(T, String, U) Access(ref T, String) GetAccessor(String) See Also PropertyAccessor " }, - "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.Utilities.FieldAccessor-2.Accessor.html": { + "href": "api/IPA.Utilities.FieldAccessor-2.Accessor.html", + "title": "Delegate FieldAccessor.Accessor", + "keywords": "Delegate FieldAccessor.Accessor A delegate for a field accessor taking a T ref and returning a U ref. Namespace : IPA.Utilities Assembly : IPA.Loader.dll Syntax public delegate U Accessor(ref T obj); Parameters Type Name Description T obj the object to access the field of Returns Type Description U a reference to the field's value Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" + }, + "api/IPA.Utilities.Async.Synchronization.SemaphoreLocker.html": { + "href": "api/IPA.Utilities.Async.Synchronization.SemaphoreLocker.html", + "title": "Struct Synchronization.SemaphoreLocker", + "keywords": "Struct Synchronization.SemaphoreLocker A locker for a Semaphore that automatically releases when it is disposed. Create this with Lock(Semaphore) . 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 SemaphoreLocker : IDisposable Explicit Interface Implementations | Improve this Doc View Source IDisposable.Dispose() Declaration void IDisposable.Dispose() Implements System.IDisposable Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also Synchronization Lock(Semaphore)" + }, + "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(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also Synchronization LockWrite(ReaderWriterLockSlim)" + }, + "api/IPA.Utilities.AlmostVersionConverter.html": { + "href": "api/IPA.Utilities.AlmostVersionConverter.html", + "title": "Class AlmostVersionConverter", + "keywords": "Class AlmostVersionConverter A ValueConverter for AlmostVersion s. Inheritance Object ValueConverter < AlmostVersion > AlmostVersionConverter Implements IValueConverter Inherited Members ValueConverter.IValueConverter.ToValue(Object, Object) ValueConverter.IValueConverter.FromValue(Value, Object) ValueConverter.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Utilities Assembly : IPA.Loader.dll Syntax public sealed class AlmostVersionConverter : ValueConverter, IValueConverter Methods | Improve this Doc View Source FromValue(Value, Object) Converts a Text node into an AlmostVersion . Declaration public override AlmostVersion FromValue(Value value, object parent) Parameters Type Name Description Value value the Text node to convert Object parent the owner of the new object Returns Type Description AlmostVersion Overrides IPA.Config.Stores.ValueConverter.FromValue(IPA.Config.Data.Value, System.Object) | Improve this Doc View Source ToValue(AlmostVersion, Object) Converts an AlmostVersion to a Text node. Declaration public override Value ToValue(AlmostVersion obj, object parent) Parameters Type Name Description AlmostVersion obj the AlmostVersion to convert Object parent the parent of obj Returns Type Description Value a Text node representing obj Overrides IPA.Config.Stores.ValueConverter.ToValue(IPA.Utilities.AlmostVersion, System.Object) Implements IValueConverter Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" + }, + "api/IPA.Utilities.AlmostVersion.html": { + "href": "api/IPA.Utilities.AlmostVersion.html", + "title": "Class AlmostVersion", + "keywords": "Class 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 . Inheritance Object AlmostVersion Implements IComparable < AlmostVersion > IComparable < SemVer.Version > Inherited Members Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetType() Object.MemberwiseClone() Namespace : IPA.Utilities Assembly : IPA.Loader.dll Syntax public class AlmostVersion : IComparable, IComparable Constructors | Improve this Doc View Source AlmostVersion(Version) Creates an AlmostVersion from the SemVer.Version provided in ver . Declaration public AlmostVersion(Version ver) Parameters Type Name Description SemVer.Version ver the SemVer.Version to store | Improve this Doc View Source AlmostVersion(String) Creates a new AlmostVersion with the version string provided in vertext . Declaration public AlmostVersion(string vertext) Parameters Type Name Description String vertext the version string to store | Improve this Doc View Source AlmostVersion(String, AlmostVersion) Creates a new AlmostVersion from the version string in vertext stored the same way as the AlmostVersion passed in copyMode . Declaration public AlmostVersion(string vertext, AlmostVersion copyMode) Parameters Type Name Description String vertext the text to parse as an AlmostVersion AlmostVersion copyMode an AlmostVersion to copy the storage mode of | Improve this Doc View Source AlmostVersion(String, AlmostVersion.StoredAs) Creates an AlmostVersion from the version string in vertext stored using the storage mode specified in mode . Declaration public AlmostVersion(string vertext, AlmostVersion.StoredAs mode) Parameters Type Name Description String vertext the text to parse as an AlmostVersion AlmostVersion.StoredAs mode the storage mode to store the version in Properties | Improve this Doc View Source SemverValue The value of the AlmostVersion if it was stored as a SemVer.Version . Declaration public Version SemverValue { get; } Property Value Type Description SemVer.Version the stored value as a SemVer.Version , or null if not stored as a version. | Improve this Doc View Source StorageMode The way the value is stored, whether it be as a SemVer.Version or a String . Declaration public AlmostVersion.StoredAs StorageMode { get; } Property Value Type Description AlmostVersion.StoredAs the storage mode used to store this value | Improve this Doc View Source StringValue The value of the AlmostVersion if it was stored as a String . Declaration public string StringValue { get; } Property Value Type Description String the stored value as a String , or null if not stored as a string. Methods | Improve this Doc View Source CompareTo(AlmostVersion) Compares langword_csharp_this to the AlmostVersion in other using SemVer.Version.CompareTo(SemVer.Version) or CompareTo(String) , depending on the current store. Declaration public int CompareTo(AlmostVersion other) Parameters Type Name Description AlmostVersion other the AlmostVersion to compare to Returns Type Description Int32 less than 0 if other is considered bigger than langword_csharp_this , 0 if equal, and greater than zero if smaller Remarks The storage methods of the two objects must be the same, or this will throw an InvalidOperationException . See Also CompareTo(Version) | Improve this Doc View Source CompareTo(Version) Compares langword_csharp_this to the SemVer.Version in other using SemVer.Version.CompareTo(SemVer.Version) . Declaration public int CompareTo(Version other) Parameters Type Name Description SemVer.Version other the SemVer.Version to compare to Returns Type Description Int32 less than 0 if other is considered bigger than langword_csharp_this , 0 if equal, and greater than zero if smaller Remarks The storage method of langword_csharp_this must be SemVer , else an InvalidOperationException will be thrown. See Also CompareTo(AlmostVersion) | Improve this Doc View Source Equals(Object) Performs a strict equality check between langword_csharp_this and obj . Declaration public override bool Equals(object obj) Parameters Type Name Description Object obj the object to compare to Returns Type Description Boolean true if they are equal, false otherwise Overrides Object.Equals(Object) Remarks This may return false where Equality(AlmostVersion, AlmostVersion) returns true See Also Equals ( Object ) | Improve this Doc View Source GetHashCode() Default generated hash code function generated by VS. Declaration public override int GetHashCode() Returns Type Description Int32 a value unique to each object, except those that are considered equal by Equals(Object) Overrides Object.GetHashCode() See Also GetHashCode () | Improve this Doc View Source ToString() Gets a string representation of the current version. If the value is stored as a string, this returns it. If it is stored as a SemVer.Version , it is equivalent to calling SemVer.Version.ToString . Declaration public override string ToString() Returns Type Description String a string representation of the current version Overrides Object.ToString() See Also ToString () Operators | Improve this Doc View Source Equality(AlmostVersion, AlmostVersion) Compares two versions, only taking into account the numeric part of the version if they are stored as SemVer.Version s, or strict equality if they are stored as String s. Declaration public static bool operator ==(AlmostVersion l, AlmostVersion r) Parameters Type Name Description AlmostVersion l the first value to compare AlmostVersion r the second value to compare Returns Type Description Boolean true if they are mostly equal, false otherwise Remarks This is a looser equality than Equals(Object) , meaning that this may return true where Equals(Object) does not. See Also Equals(Object) | Improve this Doc View Source Implicit(AlmostVersion to Version) Implicitly converts an AlmostVersion to SemVer.Version , if applicable, using SemverValue . If not applicable, returns null Declaration public static implicit operator Version(AlmostVersion av) Parameters Type Name Description AlmostVersion av the AlmostVersion to convert to a SemVer.Version Returns Type Description SemVer.Version See Also SemverValue | Improve this Doc View Source Implicit(Version to AlmostVersion) Implicitly converts a SemVer.Version to AlmostVersion using AlmostVersion(Version) . Declaration public static implicit operator AlmostVersion(Version ver) Parameters Type Name Description SemVer.Version ver the SemVer.Version to convert Returns Type Description AlmostVersion See Also AlmostVersion(Version) | Improve this Doc View Source Inequality(AlmostVersion, AlmostVersion) The opposite of Equality(AlmostVersion, AlmostVersion) . Equivalent to !(l == r) . Declaration public static bool operator !=(AlmostVersion l, AlmostVersion r) Parameters Type Name Description AlmostVersion l the first value to compare AlmostVersion r the second value to compare Returns Type Description Boolean true if they are not mostly equal, false otherwise See Also Equality(AlmostVersion, AlmostVersion) Implements System.IComparable System.IComparable Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" + }, + "api/IPA.Old.IPlugin.html": { + "href": "api/IPA.Old.IPlugin.html", + "title": "Interface IPlugin", + "keywords": "Interface IPlugin Interface for generic Illusion unity plugins. Every class that implements this will be loaded if the DLL is placed in Plugins. Namespace : IPA.Old Assembly : IPA.Loader.dll Syntax [Obsolete(\"When building plugins for Beat Saber, use IBeatSaberPlugin\")] public interface IPlugin Properties | Improve this Doc View Source Name Gets the name of the plugin. Declaration string Name { get; } Property Value Type Description String | Improve this Doc View Source Version Gets the version of the plugin. Declaration string Version { get; } Property Value Type Description String Methods | Improve this Doc View Source OnApplicationQuit() Gets invoked when the application is closed. Declaration void OnApplicationQuit() | Improve this Doc View Source OnApplicationStart() Gets invoked when the application is started. Declaration void OnApplicationStart() | Improve this Doc View Source OnFixedUpdate() Gets invoked on ever physics update. Declaration void OnFixedUpdate() | Improve this Doc View Source OnLevelWasInitialized(Int32) Gets invoked after the first update cycle after a level was loaded. Declaration void OnLevelWasInitialized(int level) Parameters Type Name Description Int32 level | Improve this Doc View Source OnLevelWasLoaded(Int32) Gets invoked whenever a level is loaded. Declaration void OnLevelWasLoaded(int level) Parameters Type Name Description Int32 level | Improve this Doc View Source OnUpdate() Gets invoked on every graphic update. Declaration void OnUpdate() Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" + }, + "api/IPA.Old.IEnhancedPlugin.html": { + "href": "api/IPA.Old.IEnhancedPlugin.html", + "title": "Interface IEnhancedPlugin", + "keywords": "Interface IEnhancedPlugin An enhanced version of the standard IPA plugin. Inherited Members IPlugin.Name IPlugin.Version IPlugin.OnApplicationStart() IPlugin.OnApplicationQuit() IPlugin.OnLevelWasLoaded(Int32) IPlugin.OnLevelWasInitialized(Int32) IPlugin.OnUpdate() IPlugin.OnFixedUpdate() Namespace : IPA.Old Assembly : IPA.Loader.dll Syntax [Obsolete(\"When building plugins for Beat Saber, use IPA.IEnhancedPlugin\")] public interface IEnhancedPlugin : IPlugin Properties | Improve this Doc View Source Filter Gets a list of executables this plugin should be executed on (without the file ending) Declaration string[] Filter { get; } Property Value Type Description String [] Examples { \"PlayClub\", \"PlayClubStudio\" } Methods | Improve this Doc View Source OnLateUpdate() Called after Update. Declaration void OnLateUpdate() Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, 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(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" + }, + "api/IPA.Logging.Printers.GZFilePrinter.html": { + "href": "api/IPA.Logging.Printers.GZFilePrinter.html", + "title": "Class GZFilePrinter", + "keywords": "Class GZFilePrinter A LogPrinter abstract class that provides the utilities to write to a GZip file. Inheritance Object LogPrinter GZFilePrinter GlobalLogFilePrinter PluginLogFilePrinter PluginSubLogPrinter Implements IDisposable Inherited Members LogPrinter.Filter LogPrinter.Print(Logger.Level, DateTime, String, String) Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Logging.Printers Assembly : IPA.Loader.dll Syntax public abstract class GZFilePrinter : LogPrinter, IDisposable Fields | Improve this Doc View Source FileWriter The StreamWriter that writes to the GZip file. Declaration protected StreamWriter FileWriter Field Value Type Description StreamWriter the writer to the underlying filestream Methods | Improve this Doc View Source Dispose() Declaration public void Dispose() | Improve this Doc View Source Dispose(Boolean) Disposes the file printer. Declaration protected virtual void Dispose(bool disposing) Parameters Type Name Description Boolean disposing does nothing | Improve this Doc View Source EndPrint() Called at the end of any print session. Declaration public override sealed void EndPrint() Overrides LogPrinter.EndPrint() | Improve this Doc View Source GetFileInfo() Gets the FileInfo for the file to write to. Declaration protected abstract FileInfo GetFileInfo() Returns Type Description FileInfo the file to write to | Improve this Doc View Source StartPrint() Called at the start of any print session. Declaration public override sealed void StartPrint() Overrides LogPrinter.StartPrint() Implements System.IDisposable Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" }, "api/IPA.InitAttribute.html": { "href": "api/IPA.InitAttribute.html", "title": "Class InitAttribute", - "keywords": "Class InitAttribute Marks a method or a constructor as an inialization method. Inheritance Object Attribute InitAttribute 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.Constructor | AttributeTargets.Method, AllowMultiple = false, Inherited = false)] public sealed class InitAttribute : Attribute, _Attribute Remarks If more than one constructor is marked with this attribute, the one with the most parameters, whether or not they can be injected, will be used. Parameter injection is done with PluginInitInjector . 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 PluginInitInjector" + "keywords": "Class InitAttribute Marks a method or a constructor as an inialization method. Inheritance Object Attribute InitAttribute 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.Constructor | AttributeTargets.Method, AllowMultiple = false, Inherited = false)] public sealed class InitAttribute : Attribute, _Attribute Remarks If more than one constructor is marked with this attribute, the one with the most parameters, whether or not they can be injected, will be used. Parameter injection is done with PluginInitInjector . Implements System.Runtime.InteropServices._Attribute Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also PluginAttribute PluginInitInjector" }, "api/IPA.Config.html": { "href": "api/IPA.Config.html", @@ -107,92 +232,142 @@ "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[])" + "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(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" }, - "api/IPA.Config.Stores.GeneratedExtension.html": { - "href": "api/IPA.Config.Stores.GeneratedExtension.html", - "title": "Class GeneratedExtension", - "keywords": "Class GeneratedExtension A class providing an extension for Config to make it easy to use generated config stores. Inheritance Object GeneratedExtension Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores Assembly : IPA.Loader.dll Syntax public static class GeneratedExtension Fields | Improve this Doc View Source AssemblyVisibilityTarget The name of the assembly that internals must be visible to to allow internal protection. Declaration public const string AssemblyVisibilityTarget = \"IPA.Config.Generated\" Field Value Type Description String Methods | Improve this Doc View Source Generated(Config, Boolean) Creates a generated IConfigStore of type T , registers it to the Config object, and returns it. This also forces a synchronous config load via LoadSync() if loadSync is true . Declaration public static T Generated(this Config cfg, bool loadSync = true) where T : class Parameters Type Name Description Config cfg the Config to register to Boolean loadSync whether to synchronously load the content, or trigger an async load Returns Type Description T a generated instance of T as a special IConfigStore Type Parameters Name Description T the type to wrap Remarks T must be a public non- sealed class. It can also be internal, but in that case, then your assembly must have the following attribute to allow the generated code to reference it. [assembly: InternalsVisibleTo(IPA.Config.Stores.GeneratedExtension.AssemblyVisibilityTarget)] Only fields and properties that are public or protected will be considered, and only properties where both the getter and setter are public or protected are considered. Any fields or properties with an IgnoreAttribute applied to them are also ignored. Having properties be virtual is not strictly necessary, however it allows the generated type to keep track of changes and lock around them so that the config will auto-save. All of the attributes in the IPA.Config.Stores.Attributes namespace are handled as described by them. If the T declares a public or protected, virtual method Changed() , then that method may be called to artificially signal to the runtime that the content of the object has changed. That method will also be called after the write locks are released when a property is set anywhere in the owning tree. This will only be called on the outermost generated object of the config structure, even if the change being signaled is somewhere deep into the tree. TODO: is this a good idea? Similarly, T can declare a public or protected, virtual method OnReload() , which will be called on the filesystem reader thread after the object has been repopulated with new data values. It will be called after the write lock for this object is released. This will only be called on the outermost generated object of the config structure. Similarly, T can declare a public or protected, virtual method CopyFrom(ConfigType) (the first parameter is the type it is defined on), which may be called to copy the properties from another object of its type easily, and more importantly, as only one change. Its body will be executed after the values have been copied. TODO: describe details of generated stores" + "other_api/config/schema.html": { + "href": "other_api/config/schema.html", + "title": "Configuration File Schema", + "keywords": "Configuration File Schema { \"definitions\": { \"Debug_\": { \"type\": \"object\", \"properties\": { \"ShowCallSource\": { \"type\": \"boolean\" }, \"ShowDebug\": { \"type\": \"boolean\" }, \"CondenseModLogs\": { \"type\": \"boolean\" }, \"ShowHandledErrorStackTraces\": { \"type\": \"boolean\" }, \"HideMessagesForPerformance\": { \"type\": \"boolean\" }, \"HideLogThreshold\": { \"type\": \"integer\" }, \"ShowTrace\": { \"type\": \"boolean\" } }, \"required\": [ \"ShowCallSource\", \"ShowDebug\", \"CondenseModLogs\", \"ShowHandledErrorStackTraces\", \"HideMessagesForPerformance\", \"HideLogThreshold\", \"ShowTrace\" ] }, \"Updates_\": { \"type\": \"object\", \"properties\": { \"AutoUpdate\": { \"type\": \"boolean\" }, \"AutoCheckUpdates\": { \"type\": \"boolean\" } }, \"required\": [ \"AutoUpdate\", \"AutoCheckUpdates\" ] } }, \"type\": \"object\", \"properties\": { \"Regenerate\": { \"type\": \"boolean\" }, \"Updates\": { \"$ref\": \"#/definitions/Updates_\" }, \"Debug\": { \"$ref\": \"#/definitions/Debug_\" }, \"YeetMods\": { \"type\": \"boolean\" }, \"GameAssemblies\": { \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"LastGameVersion\": { \"type\": \"string\" } }, \"required\": [ \"Regenerate\", \"Updates\", \"Debug\", \"YeetMods\", \"GameAssemblies\" ] }" }, - "api/IPA.Config.Stores.Converters.NullableConverter-1.html": { - "href": "api/IPA.Config.Stores.Converters.NullableConverter-1.html", - "title": "Class NullableConverter", - "keywords": "Class NullableConverter A converter for a Nullable . Inheritance Object ValueConverter < Nullable > NullableConverter NullableConverter Implements IValueConverter Inherited Members ValueConverter>.IValueConverter.ToValue(Object, Object) ValueConverter>.IValueConverter.FromValue(Value, Object) ValueConverter>.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public class NullableConverter : ValueConverter, IValueConverter where T : struct Type Parameters Name Description T the underlying type of the Nullable Constructors | Improve this Doc View Source NullableConverter() Creates a converter with the default converter for the base type. Equivalent to new NullableConverter(Converter.Default) Declaration public NullableConverter() See Also NullableConverter(ValueConverter) Default | Improve this Doc View Source NullableConverter(ValueConverter) Creates a converter with the given underlying ValueConverter . Declaration public NullableConverter(ValueConverter underlying) Parameters Type Name Description ValueConverter underlying the undlerlying ValueConverter to use Methods | Improve this Doc View Source FromValue(Value, Object) Converts a Value tree to a value. Declaration public override T? FromValue(Value value, object parent) Parameters Type Name Description Value value the Value tree to convert Object parent the object which will own the created object Returns Type Description Nullable the object represented by value Overrides IPA.Config.Stores.ValueConverter>.FromValue(IPA.Config.Data.Value, System.Object) | Improve this Doc View Source ToValue(Nullable, Object) Converts a nullable T to a Value tree. Declaration public override Value ToValue(T? obj, object parent) Parameters Type Name Description Nullable obj the value to serialize Object parent the object which owns obj Returns Type Description Value a Value tree representing obj . Overrides IPA.Config.Stores.ValueConverter>.ToValue(System.Nullable, System.Object) Implements IValueConverter Extension Methods ReflectionUtil.SetField(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[])" + "other_api/index.html": { + "href": "other_api/index.html", + "title": "", + "keywords": "" }, - "api/IPA.Config.Stores.Converters.ListConverter-2.html": { - "href": "api/IPA.Config.Stores.Converters.ListConverter-2.html", - "title": "Class ListConverter", - "keywords": "Class ListConverter A ListConverter which default constructs a converter for use as the value converter. Inheritance Object ValueConverter < List > CollectionConverter > ListConverter ListConverter Implements IValueConverter Inherited Members ListConverter.Create(Int32, Object) CollectionConverter>.BaseConverter CollectionConverter>.Create(Int32, Object) CollectionConverter>.PopulateFromValue(List, List, Object) CollectionConverter>.FromValue(Value, Object) CollectionConverter>.ToValue(List, Object) ValueConverter>.ToValue(List, Object) ValueConverter>.FromValue(Value, Object) ValueConverter>.IValueConverter.ToValue(Object, Object) ValueConverter>.IValueConverter.FromValue(Value, Object) ValueConverter>.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public sealed class ListConverter : ListConverter, IValueConverter where TConverter : ValueConverter, new() Type Parameters Name Description T the value type of the collection TConverter the type of the converter to use for T Constructors | Improve this Doc View Source ListConverter() Creates an ListConverter using a default constructed TConverter element type. Equivalent to calling ListConverter(ValueConverter) with a default-constructed TConverter . Declaration public ListConverter() See Also ListConverter(ValueConverter) 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 ListConverter " + "articles/dev-resources/description.html": { + "href": "articles/dev-resources/description.html", + "title": "Demo Plugin", + "keywords": "Demo Plugin A little demo for the BSIPA modding introduction. WE CAN USE MARKDOWN!!!" }, - "api/IPA.Config.Stores.Converters.ISetConverter-1.html": { - "href": "api/IPA.Config.Stores.Converters.ISetConverter-1.html", - "title": "Class ISetConverter", - "keywords": "Class ISetConverter A CollectionConverter for an ISet , creating a HashSet when deserializing. Inheritance Object ValueConverter < ISet > CollectionConverter > ISetConverter ISetConverter Implements IValueConverter Inherited Members CollectionConverter>.BaseConverter CollectionConverter>.Create(Int32, Object) CollectionConverter>.PopulateFromValue(ISet, List, Object) CollectionConverter>.FromValue(Value, Object) CollectionConverter>.ToValue(ISet, Object) ValueConverter>.ToValue(ISet, Object) ValueConverter>.FromValue(Value, Object) ValueConverter>.IValueConverter.ToValue(Object, Object) ValueConverter>.IValueConverter.FromValue(Value, Object) ValueConverter>.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public class ISetConverter : CollectionConverter>, IValueConverter Type Parameters Name Description T the element type of the ISet Constructors | Improve this Doc View Source ISetConverter() Creates an ISetConverter using the default converter for T . Declaration public ISetConverter() See Also CollectionConverter() | Improve this Doc View Source ISetConverter(ValueConverter) Creates an ISetConverter using the specified underlying converter for values. Declaration public ISetConverter(ValueConverter underlying) Parameters Type Name Description ValueConverter underlying the underlying ValueConverter to use for the values Methods | Improve this Doc View Source Create(Int32, Object) Creates a new ISet (a HashSet ) for deserialization. Declaration protected override ISet Create(int size, object parent) Parameters Type Name Description Int32 size the size to initialize it to Object parent the object that will own the new object Returns Type Description ISet the new ISet Overrides IPA.Config.Stores.Converters.CollectionConverter>.Create(System.Int32, System.Object) 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 CollectionConverter " + "articles/start-user.html": { + "href": "articles/start-user.html", + "title": "Installing BSIPA", + "keywords": "Installing BSIPA Note This guide assumes that you are starting completely fresh. Grab a release from the GitHub Releases page . Make sure to download one of the BSIPA-*.zip s, as ModList.zip contains the Beat Saber mod for showing your mods in-game, not the loader itself. Note The specific ZIP you need to download varies on the game you will be patching. For example, if you are patching Beat Saber, you will need the file BSIPA-x64-Net4.zip . This is because Beat Saber is a 64 bit game running .NET 4. If you are patching Muse Dash, however, you nee the file BSIPA-x86-Net3.zip . Tip There are a few tricks for figuring out which file you need. If the game has a folder called MonoBleedingEdge in the install directory, then you need one of the Net4 builds. To determine which build to use, right click on the game executable, go to the Compatability tab, check the Run this program in compatability mode for checkbox, and look and see if the dropdown has any Windows XP emulation options. If it does, the application is 32 bit, and you need to get one of the x86 builds. Otherwise, get one of the x64 builds. Make sure to uncheck that checkbox before leaving the menu. Extract the zip into your game installation directory. There should now be a folder named IPA and a file named IPA.exe in the same folder as the game executable. For example, if you are installing BSIPA in Beat Saber, it might look like this after extraction: Run IPA.exe by double clicking it. A console window should pop up, and eventually, a gold message asking you to press a key will appear. Here is an example of a successful installation: Note In some cases, this may fail, something like this: In these cases, try dragging the game executable over IPA.exe . After installing, your game directory should look something like this: Note At this point it is recommended to run the game once before continuing, to ensure that things are installed correctly. The first run should create a UserData folder with Beat Saber IPA.json and Disabled Mods.json , as well as a Logs folder with several subfolders with their own files. If these are created, then the installation was very likely successful. Tip If you are not installing BSIPA on Beat Saber, you probably want to go to the config at UserData/Beat Saber IPA.json and set both of the following to false : { ... \"Updates\": { \"AutoUpdate\": false, \"AutoCheckUpdates\": false }, ... } Tip Depending on the game, you may have to set the config member GameAssemblies to the names of the assemblies that the game uses for BSIPA to virtualize them properly. For Beat Saber distrobutions, this will be set according to the version that it was built for by default. Otherwise, it will contain just Assembly-CSharp.dll since most games use that default. From here, just place all of your plugins in the Plugins folder, and you're all set! Many plugins will come in a zip such that the root of the zip represents the game install directory, so all you may have to do is extract the plugin into the game installation folder. Note For some reason, by default, Wine does not load DLLs in quite the same way that Windows does, causing issues with the injection. To make the injection work with Wine, winhttp has to have a DLL override set to native,builtin . This can be set either through Protontricks, or with the following .reg file. REGEDIT4 [HKEY_CURRENT_USER\\Software\\Wine\\DllOverrides] \"winhttp\"=\"native,builtin\" For Steam there's a per-game Wine prefix under compatdata . In this case SteamLibrary/steamapps/compatdata/620980/pfx/user.reg . Changes to this file will likely be ovewritten when the game updates or if local files are validated through Steam. Thats really all you have to do! The installation should persist across game updates for as long as winhttp.dll is present in the game directory, though your plugins will be moved to a different folder when it does update so things don't break horribly. Uninstalling Uninstalling is fairly simple, and can be done one of two ways: Drag the game executable over IPA.exe while holding Alt . Open a command prompt or Powershell terminal and run .\\IPA.exe -rn . (see The Command Line for what those options mean)" }, - "api/IPA.Config.Data.Value.html": { - "href": "api/IPA.Config.Data.Value.html", - "title": "Class Value", - "keywords": "Class Value A base value type for config data abstract representations, to be serialized with an IConfigProvider . If a Value is null , then that represents just that: a null in whatever serialization is being used. Also contains factory functions for all derived types. Inheritance Object Value Boolean FloatingPoint Integer List Map Text Inherited Members Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Data Assembly : IPA.Loader.dll Syntax public abstract class Value Methods | Improve this Doc View Source Bool(Boolean) Creates a new Boolean wrapping a Boolean . Declaration public static Boolean Bool(bool val) Parameters Type Name Description Boolean val the value to wrap Returns Type Description Boolean a Boolean wrapping val See Also From(Boolean) | Improve this Doc View Source Float(Decimal) Creates a new FloatingPoint wrapping a Decimal . Declaration public static FloatingPoint Float(decimal val) Parameters Type Name Description Decimal val the value to wrap Returns Type Description FloatingPoint a FloatingPoint wrapping val See Also From(Decimal) | Improve this Doc View Source From(Boolean) Creates a new Value wrapping a Boolean . Declaration public static Boolean From(bool val) Parameters Type Name Description Boolean val the value to wrap Returns Type Description Boolean a Boolean wrapping val See Also Bool(Boolean) | Improve this Doc View Source From(IDictionary) Creates a new Map holding the content of an IDictionary of String to Value . Declaration public static Map From(IDictionary vals) Parameters Type Name Description IDictionary < String , Value > vals the dictionary of Value s to initialize the Map wtih Returns Type Description Map a Map containing the content of vals See Also Map() From(IEnumerable>) | Improve this Doc View Source From(IEnumerable) Creates a new List holding the content of an IEnumerable of Value . Declaration public static List From(IEnumerable vals) Parameters Type Name Description IEnumerable < Value > vals the Value s to initialize the List with Returns Type Description List a List containing the content of vals See Also List() | Improve this Doc View Source From(IEnumerable>) Creates a new Map holding the content of an IEnumerable of KeyValuePair of String to Value . Declaration public static Map From(IEnumerable> vals) Parameters Type Name Description IEnumerable < KeyValuePair < String , Value >> vals the enumerable of KeyValuePair of name to Value Returns Type Description Map a Map containing the content of vals See Also Map() From(IDictionary) | Improve this Doc View Source From(Decimal) Creates a new Value wrapping a Double . Declaration public static FloatingPoint From(decimal val) Parameters Type Name Description Decimal val the value to wrap Returns Type Description FloatingPoint a FloatingPoint wrapping val See Also Float(Decimal) | Improve this Doc View Source From(Int64) Creates a new Value wrapping a Int64 . Declaration public static Integer From(long val) Parameters Type Name Description Int64 val the value to wrap Returns Type Description Integer a Integer wrapping val See Also Integer(Int64) | Improve this Doc View Source From(String) Creates a new Value representing a String . Declaration public static Text From(string val) Parameters Type Name Description String val the value to wrap Returns Type Description Text a Text wrapping val See Also Text(String) | Improve this Doc View Source Integer(Int64) Creates a new Integer wrapping a Int64 . Declaration public static Integer Integer(long val) Parameters Type Name Description Int64 val the value to wrap Returns Type Description Integer a Integer wrapping val See Also From(Int64) | Improve this Doc View Source List() Creates an empty List() . Declaration public static List List() Returns Type Description List an empty List() See Also From(IEnumerable) | Improve this Doc View Source Map() Creates an empty Map() . Declaration public static Map Map() Returns Type Description Map an empty Map() See Also From(IDictionary) From(IEnumerable>) | Improve this Doc View Source Null() Creates a Null Value . Declaration public static Value Null() Returns Type Description Value null | Improve this Doc View Source Text(String) Creates a new Text object wrapping a String . Declaration public static Text Text(string val) Parameters Type Name Description String val the value to wrap Returns Type Description Text a Text wrapping val See Also From(String) | Improve this Doc View Source ToString() Converts this Value into a human-readable format. Declaration public abstract override string ToString() Returns Type Description String a human-readable string containing the value provided Overrides Object.ToString() Extension Methods ReflectionUtil.SetField(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[])" + "articles/start-dev.html": { + "href": "articles/start-dev.html", + "title": "Making your own mod", + "keywords": "Making a mod Overview What follows is a very barebones, and frankly not very useful plugin class, even as a starting point, but it should be enough to give a decent idea of how to do quick upgrades of existing mods for those who want to. using System; using IPA; using IPA.Logging; namespace Demo { [Plugin(RuntimeOptions.SingleStartInit)] internal class Plugin { public static Logger log { get; private set; } [Init] public Plugin(Logger logger) { log = logger; log.Debug(\"Basic plugin running!\"); // setup that does not require game code // this is only called once ever, so do once-ever initialization } [OnStart] public void OnStart() { // setup that requires game code } [OnExit] public void OnExit() { // teardown } } } There are basically 4 major concepts here: Logger , the logging system. PluginAttribute , which declares that this class is a plugin and how it should behave. InitAttribute , which declares the constructor (and optionally other methods) as being used for initialization. The lifecycle event attributes OnStartAttribute and OnExitAttribute . 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: 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(); 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. At this point, your main plugin file should look something like this: using System; using IPA; using IPA.Logging; using IPA.Config; using IPA.Config.Stores; namespace Demo { [Plugin(RuntimeOptions.SingleStartInit)] internal class Plugin { public static Logger log { get; private set; } [Init] public Plugin(Logger logger, Config conf) { log = logger; PluginConfig.Instance = conf.Generated(); log.Debug(\"Config loaded\"); // setup that does not require game code } [OnStart] public void OnStart() { // setup that requires game code } [OnExit] public void OnExit() { // teardown } } } 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 . 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))] public List ListValue { get; set; } = new List(); This uses a converter that is provided with BSIPA for List 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 . Lets start by looking at the definition for such a member, then deciphering what exactly it means: [UseConverter(typeof(CollectionConverter>))] public HashSet SetValue { get; set; } = new HashSet(); The converter we're using here is CollectionConverter , a base type for converters of all kinds of collections. In fact, the ListConverter is derived from this, and uses it for most of its implementation. If a type implements ICollection , CollectionConverter can convert it. It, like most other BSIPA provided aggregate converters, provides a type argument overload CollectionConverter to compose other converters with it to handle unusual element types. Now after all that, your plugin class has not changed, and your config class should look something like this: using System.Collections.Generic; using IPA.Config.Stores; using IPA.Config.Stores.Attributes; using IPA.Config.Stores.Converters; namespace Demo { public class PluginConfig { public static PluginConfig Instance { get; set; } public class SubThingsObject { public double DoubleValue { get; set; } = 2.718281828459045; } public int IntValue { get; set; } = 42; public float FloatValue { get; set; } = 3.14159f; [NonNullable] public SubThingsObject SubThings { get; set; } = new SubThingsObject(); [UseConverter(typeof(ListConverter))] public List ListValue { get; set; } = new List(); [UseConverter(typeof(CollectionConverter>))] public HashSet SetValue { get; set; } = new HashSet(); } }" }, - "api/IPA.Config.Data.Map.html": { - "href": "api/IPA.Config.Data.Map.html", - "title": "Class Map", - "keywords": "Class Map A ordered map of String to Value for serialization by an IConfigProvider . Use Map() or From(IDictionary) to create. Inheritance Object Value Map Implements IDictionary < String , Value > ICollection < KeyValuePair < String , Value >> IEnumerable < KeyValuePair < String , Value >> IEnumerable Inherited Members Value.Null() Value.List() Value.Map() Value.From(String) Value.Text(String) Value.From(Int64) Value.Integer(Int64) Value.From(Decimal) Value.Float(Decimal) Value.From(Boolean) Value.Bool(Boolean) Value.From(IEnumerable) Value.From(IDictionary) Value.From(IEnumerable>) Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Data Assembly : IPA.Loader.dll Syntax public sealed class Map : Value, IDictionary, ICollection>, IEnumerable>, IEnumerable Properties | Improve this Doc View Source Count Gets the number of key-value pairs in this Map . Declaration public int Count { get; } Property Value Type Description Int32 See Also Count | Improve this Doc View Source Item[String] Accesses the Value at key in the map. Declaration public Value this[string key] { get; set; } Parameters Type Name Description String key the key to get the value associated with Property Value Type Description Value the value associated with the key See Also Item [TKey] | Improve this Doc View Source Keys Gets a collection of the keys for the Map . Declaration public ICollection Keys { get; } Property Value Type Description ICollection < String > See Also Keys | Improve this Doc View Source Values Gets a collection of the values in the Map . Declaration public ICollection Values { get; } Property Value Type Description ICollection < Value > Remarks Unlike all other iterables given by Map , this does not guarantee that order is maintained. See Also Values Methods | Improve this Doc View Source Add(String, Value) Adds a new Value with a given key. Declaration public void Add(string key, Value value) Parameters Type Name Description String key the key to put the value at Value value the Value to add See Also Add (TKey, TValue) | Improve this Doc View Source Clear() Clears the Map of its key-value pairs. Declaration public void Clear() See Also Clear () | Improve this Doc View Source ContainsKey(String) Checks if the Map contains a given key . Declaration public bool ContainsKey(string key) Parameters Type Name Description String key the key to check for Returns Type Description Boolean true if the key exists, otherwise false See Also ContainsKey (TKey) | Improve this Doc View Source GetEnumerator() Enumerates the Map 's key-value pairs. Declaration public IEnumerator> GetEnumerator() Returns Type Description IEnumerator < KeyValuePair < String , Value >> an IEnumerator of key-value pairs in this Map See Also GetEnumerator () | Improve this Doc View Source Remove(String) Removes the object associated with a key in this Map . Declaration public bool Remove(string key) Parameters Type Name Description String key the key to remove Returns Type Description Boolean true if the key existed, false otherwise See Also Remove (TKey) | Improve this Doc View Source ToString() Converts this Value into a human-readable format. Declaration public override string ToString() Returns Type Description String a JSON-like set of key-value pairs Overrides Value.ToString() | Improve this Doc View Source TryGetValue(String, out Value) Gets the value associated with the specified key. Declaration public bool TryGetValue(string key, out Value value) Parameters Type Name Description String key the key of the value to get Value value the target location of the retrieved object Returns Type Description Boolean true if the key was found and value set, false otherwise See Also TryGetValue (TKey, TValue) Explicit Interface Implementations | Improve this Doc View Source ICollection>.Add(KeyValuePair) Declaration void ICollection>.Add(KeyValuePair item) Parameters Type Name Description KeyValuePair < String , Value > item | Improve this Doc View Source ICollection>.Contains(KeyValuePair) Declaration bool ICollection>.Contains(KeyValuePair item) Parameters Type Name Description KeyValuePair < String , Value > item Returns Type Description Boolean | Improve this Doc View Source ICollection>.CopyTo(KeyValuePair[], Int32) Declaration void ICollection>.CopyTo(KeyValuePair[] array, int arrayIndex) Parameters Type Name Description KeyValuePair < String , Value >[] array Int32 arrayIndex | Improve this Doc View Source ICollection>.IsReadOnly Declaration bool ICollection>.IsReadOnly { get; } Returns Type Description Boolean | Improve this Doc View Source ICollection>.Remove(KeyValuePair) Declaration bool ICollection>.Remove(KeyValuePair item) Parameters Type Name Description KeyValuePair < String , Value > item Returns Type Description Boolean | Improve this Doc View Source IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IDictionary System.Collections.Generic.ICollection System.Collections.Generic.IEnumerable System.Collections.IEnumerable Extension Methods EnumerableExtensions.Prepend(IEnumerable, T) EnumerableExtensions.Append(IEnumerable, T) EnumerableExtensions.NonNull(IEnumerable, Func) ReflectionUtil.SetField(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[])" + "articles/index.html": { + "href": "articles/index.html", + "title": "Getting Started", + "keywords": "Getting Started Starting out is quite simple. Just follow one of the following guides: Installing BSIPA Making your own mod Or, if you want to contribute, see Contributing ." }, - "api/IPA.Config.Data.Integer.html": { - "href": "api/IPA.Config.Data.Integer.html", - "title": "Class Integer", - "keywords": "Class Integer A Value representing an integer. This may hold a Int64 's worth of data. Inheritance Object Value Integer Inherited Members Value.Null() Value.List() Value.Map() Value.From(String) Value.Text(String) Value.From(Int64) Value.Integer(Int64) Value.From(Decimal) Value.Float(Decimal) Value.From(Boolean) Value.Bool(Boolean) Value.From(IEnumerable) Value.From(IDictionary) Value.From(IEnumerable>) Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Data Assembly : IPA.Loader.dll Syntax public sealed class Integer : Value Properties | Improve this Doc View Source Value The actual value of the Integer object. Declaration public long Value { get; set; } Property Value Type Description Int64 Methods | Improve this Doc View Source AsFloat() Coerces this Integer into a FloatingPoint . Declaration public FloatingPoint AsFloat() Returns Type Description FloatingPoint a FloatingPoint representing the closest approximation of Value | Improve this Doc View Source ToString() Converts this Value into a human-readable format. Declaration public override string ToString() Returns Type Description String the result of Value.ToString() Overrides Value.ToString() Extension Methods ReflectionUtil.SetField(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[])" + "articles/contributing.html": { + "href": "articles/contributing.html", + "title": "Contributing", + "keywords": "Contributing Prerequisites Microsoft Visual Studio 2019 or later (2017 may work, no guarantees) Tools for C/C++ (MSVC) v141 .NET 4.6.1 SDK and .NET 4.7.2 SDK Beat Saber (if developing for .NET 4.5+) Muse Dash (if developing for .NET 3.5) Building Clone with git clone https://github.com/beat-saber-modding-group/BeatSaber-IPA-Reloaded.git --recursive Create a file, bsinstalldir.txt in the solution root. Do NOT create this in Visual Studio; VS adds a BOM at the begginning of the file that the tools used cannot read. It should contain the path to your Beat Saber installation, using forward slashes with a trailing slash. e.g. C:/Program Files (x86)/Steam/steamapps/common/Beat Saber/ If you intend to be doing .NET 3.5 centric development, you must put your Muse Dash installation folder in a file named mdinstalldir.txt that is otherwise identical to bsinstalldir.txt . Open BSIPA.sln in Visual Studio. Choose the configuration that you intend to target during development. Rebuild all. When you make a change somewhere in BSIPA itself, right click on BSIPA-Meta and click Build or Rebuild . This sets up the output in path/to/solution/BSIPA-Meta/bin/ to be what should be copied to the game directory. When making a change to Mod List, you only need to build Mod List itself. Install by copying everything in path/to/solution/BSIPA-ModList/bin/ to your game directory. When building a Debug build, all referenced assemblies from Beat Saber will be copied from the install directory provided in bsinstalldir.txt into Refs/ . Any new references should reference the copy in there. When building for Release, it just uses the files already in Refs/ ." }, - "api/IPA.Config.Data.Boolean.html": { - "href": "api/IPA.Config.Data.Boolean.html", - "title": "Class Boolean", - "keywords": "Class Boolean A Value representing a boolean value. Inheritance Object Value Boolean 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 Boolean : Value Properties | Improve this Doc View Source Value The actual value fo this Boolean object. Declaration public bool Value { get; set; } Property Value Type Description Boolean Methods | Improve this Doc View Source ToString() Converts this Value into a human-readable format. Declaration public override string ToString() Returns Type Description String the result of Value.ToString().ToLower() 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[])" + "articles/command-line.html": { + "href": "articles/command-line.html", + "title": "The Command Line", + "keywords": "The Command Line BSIPA has 2 command lines: the installer, and the game. Their documentation is below. The Installer ( IPA.exe ) The Game The installer has quite a few options, which are documented inline with the -h or --help flag. This is what it currently looks like: usage: IPA.exe [FLAGS] [ARGUMENTS] flags: -h, --help prints this message -w, --waitfor=PID waits for the specified PID to exit -f, --force forces the operation to go through -r, --revert reverts the IPA installation -n, --nowait doesn't wait for user input after the operation -s, --start=ARGUMENTS uses the specified arguments to start the game after the patch/unpatch -l, --launch uses positional parameters as arguments to start the game after patch/unpatch -R, --no-revert prevents a normal installation from first reverting The game also gets quite a few command line options, though there isn't anything as convenient as a help page for them. Here's a quick list of what they are and what they do. --verbose Makes a console appear with log information at startup. --debug Enables the loading of debug information in Mono. The debugging information must be in the portable PDB format, in the same location as the DLL that it's for. This option also forces BSIPA to show all debug messages in the console, as well as where they were called. This overrides the config settings Debug.ShowDebug and Debug.ShowCallSource . --trace Enables trace level messages. By default, they do not ever enter the message queue, and thus cost almost nothing. When this or the config option is used, they are added and logged with the same rules as Debug messages. This overrides the config setting Debug.ShowTrace . --mono-debug Enables the built-in Mono soft debugger engine. By default, it acts as a client, and requires that there be a soft debugger server running on port 10000 on localhost . Implies --debug . --server Does nothing on its own. When paired with --mono-debug , this option makes the Mono soft debugger act in server mode. It begins listening on port 10000 on any address, and will pause startup (with no window) until a debugger is connected. I recommend using SDB, but that is a command line debugger and a lot of people don't care for those. --no-yeet Disables mod yeeting. By default, whenever BSIPA detects that the game is now running a newer version than previous runs, it will move all mods to another folder and not load them. (They still get checked for updates though.) When this is enabled, that behaviour is disabled. Overrides the config setting YeetMods . --condense-logs Reduces the number of log files BSIPA will output for a given session. By default, BSIPA will create a subfolder in the Logs folder for each mod sublog, as well as each mod. This disables that behaviour, and restricts it to only create a global log and mod logs. Overrides the config setting Debug.CondenseModLogs . --no-updates Disables automatic updating. By default, BSIPA will check BeatMods for all of the loaded mods to see if there is a new version avaliable. If there is, it will be downloaded and installed on the next run. This flag disables that behaviour. Overrides the config settings Updates.AutoCheckUpdates and Updates.AutoUpdate ." }, - "api/IPA.Config.Config.html": { - "href": "api/IPA.Config.Config.html", - "title": "Class Config", - "keywords": "Class Config An abstraction of a config file on disk, which handles synchronizing between a memory representation and the disk representation. Inheritance Object Config Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config Assembly : IPA.Loader.dll Syntax public class Config Properties | Improve this Doc View Source Name Gets the name associated with this Config object. Declaration public string Name { get; } Property Value Type Description String | Improve this Doc View Source Provider Gets the IConfigProvider associated with this Config object. Declaration public IConfigProvider Provider { get; } Property Value Type Description IConfigProvider Methods | Improve this Doc View Source GetConfigFor(String, String[]) Gets a Config object using the specified list of preferred config types. Declaration public static Config GetConfigFor(string configName, params string[] extensions) Parameters Type Name Description String configName the name of the mod for this config String [] extensions the preferred config types to try to get Returns Type Description Config a Config using the requested format, or of type JSON. | Improve this Doc View Source LoadAsync() Forces an asynchronous load from disk. Declaration public Task LoadAsync() Returns Type Description Task | Improve this Doc View Source LoadSync() Forces a synchronous load from disk. Declaration public void LoadSync() | Improve this Doc View Source Register(Type) Registers a IConfigProvider to use for configs. Declaration public static void Register(Type type) Parameters Type Name Description Type type the type to register | Improve this Doc View Source Register() Registers a IConfigProvider to use for configs. Declaration public static void Register() where T : IConfigProvider Type Parameters Name Description T the type to register | Improve this Doc View Source SetStore(IConfigStore) Sets this object's IConfigStore . Can only be called once. Declaration public void SetStore(IConfigStore store) Parameters Type Name Description IConfigStore store the IConfigStore to add to this instance Exceptions Type Condition InvalidOperationException If this was called before. Extension Methods ReflectionUtil.SetField(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[]) GeneratedExtension.Generated(Config, Boolean)" + "api/index.html": { + "href": "api/index.html", + "title": "BSIPA API Documentation", + "keywords": "BSIPA API Documentation Welcome to the full class documentation! To see guides, head over to the Articles tab . Select a namespace and a class on the left to get started." }, - "api/IPA.Config.Config.NameAttribute.html": { - "href": "api/IPA.Config.Config.NameAttribute.html", - "title": "Class Config.NameAttribute", - "keywords": "Class Config.NameAttribute Specifies a preferred config name, instead of using the plugin's name. Inheritance Object Attribute Config.NameAttribute Implements _Attribute Inherited Members Attribute.GetCustomAttributes(MemberInfo, Type) Attribute.GetCustomAttributes(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(MemberInfo) Attribute.GetCustomAttributes(MemberInfo, Boolean) Attribute.IsDefined(MemberInfo, Type) Attribute.IsDefined(MemberInfo, Type, Boolean) Attribute.GetCustomAttribute(MemberInfo, Type) Attribute.GetCustomAttribute(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo) Attribute.GetCustomAttributes(ParameterInfo, Type) Attribute.GetCustomAttributes(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo, Boolean) Attribute.IsDefined(ParameterInfo, Type) Attribute.IsDefined(ParameterInfo, Type, Boolean) Attribute.GetCustomAttribute(ParameterInfo, Type) Attribute.GetCustomAttribute(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(Module, Type) Attribute.GetCustomAttributes(Module) Attribute.GetCustomAttributes(Module, Boolean) Attribute.GetCustomAttributes(Module, Type, Boolean) Attribute.IsDefined(Module, Type) Attribute.IsDefined(Module, Type, Boolean) Attribute.GetCustomAttribute(Module, Type) Attribute.GetCustomAttribute(Module, Type, Boolean) Attribute.GetCustomAttributes(Assembly, Type) Attribute.GetCustomAttributes(Assembly, Type, Boolean) Attribute.GetCustomAttributes(Assembly) Attribute.GetCustomAttributes(Assembly, Boolean) Attribute.IsDefined(Assembly, Type) Attribute.IsDefined(Assembly, Type, Boolean) Attribute.GetCustomAttribute(Assembly, Type) Attribute.GetCustomAttribute(Assembly, Type, Boolean) Attribute.Equals(Object) Attribute.GetHashCode() Attribute.Match(Object) Attribute.IsDefaultAttribute() Attribute._Attribute.GetTypeInfoCount(UInt32) Attribute._Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) Attribute._Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) Attribute._Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) Attribute.TypeId Object.ToString() Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config Assembly : IPA.Loader.dll Syntax [AttributeUsage(AttributeTargets.Parameter)] public sealed class NameAttribute : Attribute, _Attribute Constructors | Improve this Doc View Source NameAttribute(String) Constructs the attribute with a specific name. Declaration public NameAttribute(string name) Parameters Type Name Description String name the name to use for the config. Properties | Improve this Doc View Source Name The name to use for the config. Declaration public string Name { get; } Property Value Type Description String the name to use for the config 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[])" + "index.html": { + "href": "index.html", + "title": "BSIPA - Home", + "keywords": "BSIPA - The Unity mod injector for the new age (pending confirmation). Assuming, that is, that Unity 2017 is \"new age\". How To Install See Installing How To Uninstall See Uninstalling Arguments See The Command Line . How To Develop See Developing for more information. How To Keep The Game Patched BSIPA will automatically repatch the game when it updates, as long as winhttp.dll is present in the install directory." }, - "api/BSIPA_ModList.UI.ViewControllers.html": { - "href": "api/BSIPA_ModList.UI.ViewControllers.html", - "title": "", - "keywords": "Classes MarkdownView A UI component that renders CommonMark Markdown in-game." + "api/IPA.Utilities.PropertyAccessor-2.html": { + "href": "api/IPA.Utilities.PropertyAccessor-2.html", + "title": "Class PropertyAccessor", + "keywords": "Class PropertyAccessor A type containing utilities for accessing non-public properties of an object. Inheritance Object PropertyAccessor Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Utilities Assembly : IPA.Loader.dll Syntax public static class PropertyAccessor Type Parameters Name Description T the type that the properties are on U the type of the property to access Methods | Improve this Doc View Source Get(T, String) Gets the value of the property identified by name on obj . Declaration public static U Get(T obj, string name) Parameters Type Name Description T obj the instance to access String name the name of the property Returns Type Description U the value of the property Exceptions Type Condition MissingMemberException when the property does not exist See Also Get(ref T, String) GetGetter(String) | Improve this Doc View Source Get(ref T, String) Gets the value of the property identified by name on obj . Declaration public static U Get(ref T obj, string name) Parameters Type Name Description T obj the instance to access String name the name of the property Returns Type Description U the value of the property Remarks The only reason to use this over Get(T, String) is if you are using a value type because it avoids a copy. Exceptions Type Condition MissingMemberException when the property does not exist See Also Get(T, String) GetGetter(String) | Improve this Doc View Source GetGetter(String) Gets a PropertyAccessor.Getter for the property identified by name . Declaration public static PropertyAccessor.Getter GetGetter(string name) Parameters Type Name Description String name the name of the property Returns Type Description PropertyAccessor.Getter <> a PropertyAccessor.Getter that can access that property Exceptions Type Condition MissingMemberException when the property does not exist | Improve this Doc View Source GetSetter(String) Gets a PropertyAccessor.Setter for the property identified by name . Declaration public static PropertyAccessor.Setter GetSetter(string name) Parameters Type Name Description String name the name of the property Returns Type Description PropertyAccessor.Setter <> a PropertyAccessor.Setter that can access that property Exceptions Type Condition MissingMemberException when the property does not exist | Improve this Doc View Source Set(T, String, U) Sets the value of the property identified by name on obj . Declaration public static void Set(T obj, string name, U val) Parameters Type Name Description T obj the instance to access String name the name of the property U val the new value of the property Remarks This overload cannot be safely used for value types. Use Set(ref T, String, U) instead. Exceptions Type Condition MissingMemberException when the property does not exist See Also Set(ref T, String, U) GetSetter(String) | Improve this Doc View Source Set(ref T, String, U) Sets the value of the property identified by name on obj . Declaration public static void Set(ref T obj, string name, U val) Parameters Type Name Description T obj the instance to access String name the name of the property U val the new value of the property Remarks This overload must be used for value types. Exceptions Type Condition MissingMemberException when the property does not exist See Also Set(T, String, U) GetSetter(String)" }, - "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.PropertyAccessor-2.Setter.html": { + "href": "api/IPA.Utilities.PropertyAccessor-2.Setter.html", + "title": "Delegate PropertyAccessor.Setter", + "keywords": "Delegate PropertyAccessor.Setter A setter for a property. Namespace : IPA.Utilities Assembly : IPA.Loader.dll Syntax public delegate void Setter(T obj, U val); Parameters Type Name Description T obj the object it is a member of U val the new property value Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" + }, + "api/IPA.Utilities.PropertyAccessor-2.Getter.html": { + "href": "api/IPA.Utilities.PropertyAccessor-2.Getter.html", + "title": "Delegate PropertyAccessor.Getter", + "keywords": "Delegate PropertyAccessor.Getter A getter for a property. Namespace : IPA.Utilities Assembly : IPA.Loader.dll Syntax public delegate U Getter(T obj); Parameters Type Name Description T obj the object it is a member of Returns Type Description U the value of the property Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" + }, + "api/IPA.Utilities.Async.Synchronization.ReaderWriterLockSlimUpgradableReadLocker.html": { + "href": "api/IPA.Utilities.Async.Synchronization.ReaderWriterLockSlimUpgradableReadLocker.html", + "title": "Struct Synchronization.ReaderWriterLockSlimUpgradableReadLocker", + "keywords": "Struct Synchronization.ReaderWriterLockSlimUpgradableReadLocker A locker for an upgradable read lock on a ReaderWriterLockSlim that automatically releases when it is disposed. Create this with LockReadUpgradable(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 ReaderWriterLockSlimUpgradableReadLocker : IDisposable Methods | Improve this Doc View Source Upgrade() Creates a locker for a write lock on the ReaderWriterLockSlim associated with this locker, upgrading the current thread's lock. Declaration public Synchronization.ReaderWriterLockSlimWriteLocker Upgrade() Returns Type Description Synchronization.ReaderWriterLockSlimWriteLocker a locker for the new write lock See Also Synchronization Explicit Interface Implementations | Improve this Doc View Source IDisposable.Dispose() Declaration void IDisposable.Dispose() Implements System.IDisposable Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also Synchronization LockReadUpgradable(ReaderWriterLockSlim)" + }, + "api/IPA.Utilities.Async.Synchronization.ReaderWriterLockSlimReadLocker.html": { + "href": "api/IPA.Utilities.Async.Synchronization.ReaderWriterLockSlimReadLocker.html", + "title": "Struct Synchronization.ReaderWriterLockSlimReadLocker", + "keywords": "Struct Synchronization.ReaderWriterLockSlimReadLocker A locker for a read lock on a ReaderWriterLockSlim that automatically releases when it is disposed. Create this with LockRead(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 ReaderWriterLockSlimReadLocker : IDisposable Explicit Interface Implementations | Improve this Doc View Source IDisposable.Dispose() Declaration void IDisposable.Dispose() Implements System.IDisposable Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also Synchronization LockRead(ReaderWriterLockSlim)" + }, + "api/IPA.Utilities.Async.Synchronization.MutexLocker.html": { + "href": "api/IPA.Utilities.Async.Synchronization.MutexLocker.html", + "title": "Struct Synchronization.MutexLocker", + "keywords": "Struct Synchronization.MutexLocker A locker for a Mutex that automatically releases when it is disposed. Create this with Lock(Mutex) . 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 MutexLocker : IDisposable Explicit Interface Implementations | Improve this Doc View Source IDisposable.Dispose() Declaration void IDisposable.Dispose() Implements System.IDisposable Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also Synchronization Lock(Mutex)" + }, + "api/IPA.Utilities.Async.SingleThreadTaskScheduler.html": { + "href": "api/IPA.Utilities.Async.SingleThreadTaskScheduler.html", + "title": "Class SingleThreadTaskScheduler", + "keywords": "Class SingleThreadTaskScheduler A single-threaded task scheduler that runs all of its tasks on the same thread. Inheritance Object TaskScheduler SingleThreadTaskScheduler Implements IDisposable Inherited Members TaskScheduler.TryDequeue(Task) TaskScheduler.FromCurrentSynchronizationContext() TaskScheduler.TryExecuteTask(Task) TaskScheduler.MaximumConcurrencyLevel TaskScheduler.Default TaskScheduler.Current TaskScheduler.Id TaskScheduler.UnobservedTaskException Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Utilities.Async Assembly : IPA.Loader.dll Syntax public class SingleThreadTaskScheduler : TaskScheduler, IDisposable Properties | Improve this Doc View Source IsRunning Gets whether or not the underlying thread has been started. Declaration public bool IsRunning { get; } Property Value Type Description Boolean Exceptions Type Condition InvalidOperationException Thrown if this object has already been disposed. Methods | Improve this Doc View Source Dispose() Disposes this object. This puts the object into an unusable state. Declaration public void Dispose() | Improve this Doc View Source Dispose(Boolean) Disposes this object. Declaration protected virtual void Dispose(bool disposing) Parameters Type Name Description Boolean disposing whether or not to dispose managed objects | Improve this Doc View Source Exit() Terminates the runner thread, and waits for the currently running task to complete. Declaration public IEnumerable Exit() Returns Type Description IEnumerable < Task > an IEnumerable of Task s that did not execute Remarks After this method returns, this object has been disposed and is no longer in a valid state. Exceptions Type Condition InvalidOperationException Thrown if this object has already been disposed. | Improve this Doc View Source GetScheduledTasks() Throws a NotSupportedException . Declaration protected override IEnumerable GetScheduledTasks() Returns Type Description IEnumerable < Task > nothing Overrides TaskScheduler.GetScheduledTasks() Exceptions Type Condition NotSupportedException Always. | Improve this Doc View Source Join() Waits for the runner thread to complete all tasks in the queue, then exits. Declaration public void Join() Remarks After this method returns, this object has been disposed and is no longer in a valid state. Exceptions Type Condition InvalidOperationException Thrown if this object has already been disposed. | Improve this Doc View Source QueueTask(Task) Queues a given Task to this scheduler. The Task must> be scheduled for this TaskScheduler by the runtime. Declaration protected override void QueueTask(Task task) Parameters Type Name Description Task task the Task to queue Overrides TaskScheduler.QueueTask(Task) Exceptions Type Condition InvalidOperationException Thrown if this object has already been disposed. | Improve this Doc View Source Start() Starts the thread that executes tasks scheduled with this TaskScheduler Declaration public void Start() Exceptions Type Condition InvalidOperationException Thrown if this object has already been disposed. | Improve this Doc View Source TryExecuteTaskInline(Task, Boolean) Rejects any attempts to execute a task inline. Declaration protected override bool TryExecuteTaskInline(Task task, bool taskWasPreviouslyQueued) Parameters Type Name Description Task task the task to attempt to execute Boolean taskWasPreviouslyQueued whether the task was previously queued to this scheduler Returns Type Description Boolean false Overrides TaskScheduler.TryExecuteTaskInline(Task, Boolean) Remarks This task scheduler always runs its tasks on the thread that it manages, therefore it doesn't make sense to run it inline. Exceptions Type Condition InvalidOperationException Thrown if this object has already been disposed. Implements System.IDisposable Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" + }, + "api/IPA.PluginAttribute.html": { + "href": "api/IPA.PluginAttribute.html", + "title": "Class PluginAttribute", + "keywords": "Class PluginAttribute Marks a class as being a BSIPA plugin. Inheritance Object Attribute PluginAttribute Implements _Attribute Inherited Members Attribute.GetCustomAttributes(MemberInfo, Type) Attribute.GetCustomAttributes(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(MemberInfo) Attribute.GetCustomAttributes(MemberInfo, Boolean) Attribute.IsDefined(MemberInfo, Type) Attribute.IsDefined(MemberInfo, Type, Boolean) Attribute.GetCustomAttribute(MemberInfo, Type) Attribute.GetCustomAttribute(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo) Attribute.GetCustomAttributes(ParameterInfo, Type) Attribute.GetCustomAttributes(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo, Boolean) Attribute.IsDefined(ParameterInfo, Type) Attribute.IsDefined(ParameterInfo, Type, Boolean) Attribute.GetCustomAttribute(ParameterInfo, Type) Attribute.GetCustomAttribute(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(Module, Type) Attribute.GetCustomAttributes(Module) Attribute.GetCustomAttributes(Module, Boolean) Attribute.GetCustomAttributes(Module, Type, Boolean) Attribute.IsDefined(Module, Type) Attribute.IsDefined(Module, Type, Boolean) Attribute.GetCustomAttribute(Module, Type) Attribute.GetCustomAttribute(Module, Type, Boolean) Attribute.GetCustomAttributes(Assembly, Type) Attribute.GetCustomAttributes(Assembly, Type, Boolean) Attribute.GetCustomAttributes(Assembly) Attribute.GetCustomAttributes(Assembly, Boolean) Attribute.IsDefined(Assembly, Type) Attribute.IsDefined(Assembly, Type, Boolean) Attribute.GetCustomAttribute(Assembly, Type) Attribute.GetCustomAttribute(Assembly, Type, Boolean) Attribute.Equals(Object) Attribute.GetHashCode() Attribute.Match(Object) Attribute.IsDefaultAttribute() Attribute._Attribute.GetTypeInfoCount(UInt32) Attribute._Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) Attribute._Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) Attribute._Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) Attribute.TypeId Object.ToString() Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetType() Object.MemberwiseClone() Namespace : IPA Assembly : IPA.Loader.dll Syntax [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)] public sealed class PluginAttribute : Attribute, _Attribute Constructors | Improve this Doc View Source PluginAttribute(RuntimeOptions) Initializes a PluginAttribute with the given RuntimeOptions to indicate the runtime capabilities of the plugin. Declaration public PluginAttribute(RuntimeOptions runtimeOptions) Parameters Type Name Description RuntimeOptions runtimeOptions the options to use for this plugin Properties | Improve this Doc View Source RuntimeOptions The RuntimeOptions passed into the constructor of this attribute. Declaration public RuntimeOptions RuntimeOptions { get; } Property Value Type Description RuntimeOptions Implements System.Runtime.InteropServices._Attribute Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also InitAttribute OnEnableAttribute OnDisableAttribute OnStartAttribute OnExitAttribute" }, "api/IPA.OnStartAttribute.html": { "href": "api/IPA.OnStartAttribute.html", "title": "Class OnStartAttribute", - "keywords": "Class OnStartAttribute Indicates that the target method should be called when the game starts. Inheritance Object Attribute OnStartAttribute Implements _Attribute Inherited Members Attribute.GetCustomAttributes(MemberInfo, Type) Attribute.GetCustomAttributes(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(MemberInfo) Attribute.GetCustomAttributes(MemberInfo, Boolean) Attribute.IsDefined(MemberInfo, Type) Attribute.IsDefined(MemberInfo, Type, Boolean) Attribute.GetCustomAttribute(MemberInfo, Type) Attribute.GetCustomAttribute(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo) Attribute.GetCustomAttributes(ParameterInfo, Type) Attribute.GetCustomAttributes(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo, Boolean) Attribute.IsDefined(ParameterInfo, Type) Attribute.IsDefined(ParameterInfo, Type, Boolean) Attribute.GetCustomAttribute(ParameterInfo, Type) Attribute.GetCustomAttribute(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(Module, Type) Attribute.GetCustomAttributes(Module) Attribute.GetCustomAttributes(Module, Boolean) Attribute.GetCustomAttributes(Module, Type, Boolean) Attribute.IsDefined(Module, Type) Attribute.IsDefined(Module, Type, Boolean) Attribute.GetCustomAttribute(Module, Type) Attribute.GetCustomAttribute(Module, Type, Boolean) Attribute.GetCustomAttributes(Assembly, Type) Attribute.GetCustomAttributes(Assembly, Type, Boolean) Attribute.GetCustomAttributes(Assembly) Attribute.GetCustomAttributes(Assembly, Boolean) Attribute.IsDefined(Assembly, Type) Attribute.IsDefined(Assembly, Type, Boolean) Attribute.GetCustomAttribute(Assembly, Type) Attribute.GetCustomAttribute(Assembly, Type, Boolean) Attribute.Equals(Object) Attribute.GetHashCode() Attribute.Match(Object) Attribute.IsDefaultAttribute() Attribute._Attribute.GetTypeInfoCount(UInt32) Attribute._Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) Attribute._Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) Attribute._Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) Attribute.TypeId Object.ToString() Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetType() Object.MemberwiseClone() Namespace : IPA Assembly : IPA.Loader.dll Syntax [AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = false)] public sealed class OnStartAttribute : Attribute, _Attribute, IEdgeLifecycleAttribute Remarks This attribute is interchangable with OnEnableAttribute , and is treated identically. They are seperate to allow plugin code to more clearly describe the intent of the methods. Typically, this will be used when the RuntimeOptions parameter of the plugins's PluginAttribute is SingleStartInit . 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" + "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(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also PluginAttribute OnEnableAttribute" }, "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" + "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(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also PluginAttribute OnDisableAttribute" }, "api/IPA.OnEnableAttribute.html": { "href": "api/IPA.OnEnableAttribute.html", "title": "Class OnEnableAttribute", - "keywords": "Class OnEnableAttribute Indicates that the target method should be called when the plugin is enabled. Inheritance Object Attribute OnEnableAttribute 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 OnEnableAttribute : Attribute, _Attribute, IEdgeLifecycleAttribute Remarks This attribute is interchangable with OnStartAttribute , 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 DynamicInit . 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 OnStartAttribute" + "keywords": "Class OnEnableAttribute Indicates that the target method should be called when the plugin is enabled. Inheritance Object Attribute OnEnableAttribute 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 OnEnableAttribute : Attribute, _Attribute, IEdgeLifecycleAttribute Remarks This attribute is interchangable with OnStartAttribute , 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 DynamicInit . Implements System.Runtime.InteropServices._Attribute Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also PluginAttribute OnStartAttribute" + }, + "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", + "title": "Class StandardLogger", + "keywords": "Class StandardLogger The default (and standard) Logger implementation. Inheritance Object Logger StandardLogger Inherited Members Logger.LogFormat Logger.Log(Logger.Level, Exception) Logger.Trace(String) Logger.Trace(Exception) Logger.Debug(Exception) Logger.Info(String) Logger.Info(Exception) Logger.Notice(String) Logger.Notice(Exception) Logger.Warn(String) Logger.Warn(Exception) Logger.Error(String) Logger.Error(Exception) Logger.Critical(String) Logger.Critical(Exception) 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 class StandardLogger : Logger Remarks StandardLogger uses a multi-threaded approach to logging. All actual I/O is done on another thread, where all messaged are guaranteed to be logged in the order they appeared. It is up to the printers to format them. This logger supports child loggers. Use GetChildLogger(Logger, String) to safely get a child. The modification of printers on a parent are reflected down the chain. Properties | Improve this Doc View Source ConsoleWriter The TextWriter for writing directly to the console window, or stdout if no window open. Declaration public static TextWriter ConsoleWriter { get; } Property Value Type Description TextWriter a TextWriter for the current primary text output | Improve this Doc View Source PrintFilter All levels defined by this filter will be sent to loggers. All others will be ignored. Declaration public static Logger.LogLevel PrintFilter { get; } Property Value Type Description Logger.LogLevel the global filter level Methods | Improve this Doc View Source AddPrinter(LogPrinter) Adds a log printer to the logger. Declaration public void AddPrinter(LogPrinter printer) Parameters Type Name Description LogPrinter printer the printer to add | Improve this Doc View Source Debug(String) An override to Debug(String) which shows the method that called it. Declaration public override void Debug(string message) Parameters Type Name Description String message the message to log Overrides Logger.Debug(String) See Also Log ( Logger.Level , String ) | Improve this Doc View Source Log(Logger.Level, String) Logs a specific message at a given level. Declaration public override void Log(Logger.Level level, string message) Parameters Type Name Description Logger.Level level the message level String message the message to log Overrides Logger.Log(Logger.Level, String) Extension Methods LoggerExtensions.GetChildLogger(Logger, String) ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" + }, + "api/IPA.Logging.Printers.html": { + "href": "api/IPA.Logging.Printers.html", + "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(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" }, - "api/IPA.Logging.html": { - "href": "api/IPA.Logging.html", - "title": "", - "keywords": "Classes Logger The logger base class. Provides the format for console logs. LoggerExtensions A class providing extensions for various loggers. LogPrinter The log printer's base class. StandardLogger The default (and standard) Logger implementation. Enums Logger.Level An enum specifying the level of the message. Resembles Syslog. Logger.LogLevel An enum providing log level filters." + "api/IPA.Logging.Printers.ColoredConsolePrinter.html": { + "href": "api/IPA.Logging.Printers.ColoredConsolePrinter.html", + "title": "Class ColoredConsolePrinter", + "keywords": "Class ColoredConsolePrinter Prints a pretty message to the console. Inheritance Object LogPrinter ColoredConsolePrinter Inherited Members LogPrinter.StartPrint() LogPrinter.EndPrint() Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Logging.Printers Assembly : IPA.Loader.dll Syntax public class ColoredConsolePrinter : LogPrinter Properties | Improve this Doc View Source Color The color to print messages as. Declaration public ConsoleColor Color { get; set; } Property Value Type Description ConsoleColor the color to print this message as | Improve this Doc View Source Filter A filter for this specific printer. Declaration public override Logger.LogLevel Filter { get; set; } Property Value Type Description Logger.LogLevel the filter to apply to this printer Overrides LogPrinter.Filter Methods | Improve this Doc View Source Print(Logger.Level, DateTime, String, String) Prints an entry to the console window. Declaration public override void Print(Logger.Level level, DateTime time, string logName, string message) Parameters Type Name Description Logger.Level level the Logger.Level of the message DateTime time the DateTime the message was recorded at String logName the name of the log that sent the message String message the message to print Overrides LogPrinter.Print(Logger.Level, DateTime, String, String) Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" }, "api/IPA.Logging.LogPrinter.html": { "href": "api/IPA.Logging.LogPrinter.html", "title": "Class LogPrinter", - "keywords": "Class LogPrinter The log printer's base class. Inheritance Object LogPrinter ColoredConsolePrinter ColorlessConsolePrinter GZFilePrinter Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Logging Assembly : IPA.Loader.dll Syntax public abstract class LogPrinter Properties | Improve this Doc View Source Filter Provides a filter for which log levels to allow through. Declaration public abstract Logger.LogLevel Filter { get; set; } Property Value Type Description Logger.LogLevel the level to filter to Methods | Improve this Doc View Source EndPrint() Called after the last print in a group. May be called multiple times. Use this to dispose file handles and the like. Declaration public virtual void EndPrint() | Improve this Doc View Source Print(Logger.Level, DateTime, String, String) Prints a provided message from a given log at the specified time. Declaration public abstract void Print(Logger.Level level, DateTime time, string logName, string message) Parameters Type Name Description Logger.Level level the log level DateTime time the time the message was composed String logName the name of the log that created this message String message the message | Improve this Doc View Source StartPrint() Called before the first print in a group. May be called multiple times. Use this to create file handles and the like. Declaration public virtual void StartPrint() Extension Methods ReflectionUtil.SetField(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[])" + "keywords": "Class LogPrinter The log printer's base class. Inheritance Object LogPrinter ColoredConsolePrinter ColorlessConsolePrinter GZFilePrinter Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Logging Assembly : IPA.Loader.dll Syntax public abstract class LogPrinter Properties | Improve this Doc View Source Filter Provides a filter for which log levels to allow through. Declaration public abstract Logger.LogLevel Filter { get; set; } Property Value Type Description Logger.LogLevel the level to filter to Methods | Improve this Doc View Source EndPrint() Called after the last print in a group. May be called multiple times. Use this to dispose file handles and the like. Declaration public virtual void EndPrint() | Improve this Doc View Source Print(Logger.Level, DateTime, String, String) Prints a provided message from a given log at the specified time. Declaration public abstract void Print(Logger.Level level, DateTime time, string logName, string message) Parameters Type Name Description Logger.Level level the log level DateTime time the time the message was composed String logName the name of the log that created this message String message the message | Improve this Doc View Source StartPrint() Called before the first print in a group. May be called multiple times. Use this to create file handles and the like. Declaration public virtual void StartPrint() Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" }, "api/IPA.Logging.LoggerExtensions.html": { "href": "api/IPA.Logging.LoggerExtensions.html", @@ -202,12 +377,12 @@ "api/IPA.Logging.Logger.html": { "href": "api/IPA.Logging.Logger.html", "title": "Class Logger", - "keywords": "Class Logger The logger base class. Provides the format for console logs. Inheritance Object Logger StandardLogger Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Logging Assembly : IPA.Loader.dll Syntax public abstract class Logger Properties | Improve this Doc View Source LogFormat The standard format for log messages. Declaration public static string LogFormat { get; protected set; } Property Value Type Description String the format for the standard loggers to print in Methods | Improve this Doc View Source Critical(Exception) Sends an exception as a critical message. Equivalent to Log(Level.Critical, e); Declaration public virtual void Critical(Exception e) Parameters Type Name Description Exception e the exception to log See Also Log(Logger.Level, Exception) | Improve this Doc View Source Critical(String) Sends a critical message. Equivalent to Log(Level.Critical, message); Declaration public virtual void Critical(string message) Parameters Type Name Description String message the message to log See Also Log(Logger.Level, String) | Improve this Doc View Source Debug(Exception) Sends an exception as a debug message. Equivalent to Log(Level.Debug, e); Declaration public virtual void Debug(Exception e) Parameters Type Name Description Exception e the exception to log See Also Log(Logger.Level, Exception) | Improve this Doc View Source Debug(String) Sends a debug message. Equivalent to Log(Level.Debug, message); Declaration public virtual void Debug(string message) Parameters Type Name Description String message the message to log See Also Log(Logger.Level, String) | Improve this Doc View Source Error(Exception) Sends an exception as an error message. Equivalent to Log(Level.Error, e); Declaration public virtual void Error(Exception e) Parameters Type Name Description Exception e the exception to log See Also Log(Logger.Level, Exception) | Improve this Doc View Source Error(String) Sends an error message. Equivalent to Log(Level.Error, message); Declaration public virtual void Error(string message) Parameters Type Name Description String message the message to log See Also Log(Logger.Level, String) | Improve this Doc View Source Info(Exception) Sends an exception as an info message. Equivalent to Log(Level.Info, e); Declaration public virtual void Info(Exception e) Parameters Type Name Description Exception e the exception to log See Also Log(Logger.Level, Exception) | Improve this Doc View Source Info(String) Sends an info message. Equivalent to Log(Level.Info, message); Declaration public virtual void Info(string message) Parameters Type Name Description String message the message to log See Also Log(Logger.Level, String) | Improve this Doc View Source Log(Logger.Level, Exception) A basic log function taking an exception to log. Declaration public virtual void Log(Logger.Level level, Exception e) Parameters Type Name Description Logger.Level level the level of the message Exception e the exception to log | Improve this Doc View Source Log(Logger.Level, String) A basic log function. Declaration public abstract void Log(Logger.Level level, string message) Parameters Type Name Description Logger.Level level the level of the message String message the message to log | Improve this Doc View Source Notice(Exception) Sends an exception as a notice message. Equivalent to Log(Level.Notice, e); Declaration public virtual void Notice(Exception e) Parameters Type Name Description Exception e the exception to log See Also Log(Logger.Level, Exception) | Improve this Doc View Source Notice(String) Sends a notice message. Equivalent to Log(Level.Notice, message); Declaration public virtual void Notice(string message) Parameters Type Name Description String message the message to log See Also Log(Logger.Level, String) | Improve this Doc View Source Trace(Exception) Sends an exception as a trace message. Equivalent to Log(Level.Trace, e); Declaration public virtual void Trace(Exception e) Parameters Type Name Description Exception e the exception to log See Also Log(Logger.Level, Exception) | Improve this Doc View Source Trace(String) Sends a trace message. Equivalent to Log(Level.Trace, message); Declaration public virtual void Trace(string message) Parameters Type Name Description String message the message to log See Also Log(Logger.Level, String) | Improve this Doc View Source Warn(Exception) Sends an exception as a warning message. Equivalent to Log(Level.Warning, e); Declaration public virtual void Warn(Exception e) Parameters Type Name Description Exception e the exception to log See Also Log(Logger.Level, Exception) | Improve this Doc View Source Warn(String) Sends a warning message. Equivalent to Log(Level.Warning, message); Declaration public virtual void Warn(string message) Parameters Type Name Description String message the message to log See Also Log(Logger.Level, String) Extension Methods LoggerExtensions.GetChildLogger(Logger, String) 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[])" + "keywords": "Class Logger The logger base class. Provides the format for console logs. Inheritance Object Logger StandardLogger Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Logging Assembly : IPA.Loader.dll Syntax public abstract class Logger Properties | Improve this Doc View Source LogFormat The standard format for log messages. Declaration public static string LogFormat { get; protected set; } Property Value Type Description String the format for the standard loggers to print in Methods | Improve this Doc View Source Critical(Exception) Sends an exception as a critical message. Equivalent to Log(Level.Critical, e); Declaration public virtual void Critical(Exception e) Parameters Type Name Description Exception e the exception to log See Also Log(Logger.Level, Exception) | Improve this Doc View Source Critical(String) Sends a critical message. Equivalent to Log(Level.Critical, message); Declaration public virtual void Critical(string message) Parameters Type Name Description String message the message to log See Also Log(Logger.Level, String) | Improve this Doc View Source Debug(Exception) Sends an exception as a debug message. Equivalent to Log(Level.Debug, e); Declaration public virtual void Debug(Exception e) Parameters Type Name Description Exception e the exception to log See Also Log(Logger.Level, Exception) | Improve this Doc View Source Debug(String) Sends a debug message. Equivalent to Log(Level.Debug, message); Declaration public virtual void Debug(string message) Parameters Type Name Description String message the message to log See Also Log(Logger.Level, String) | Improve this Doc View Source Error(Exception) Sends an exception as an error message. Equivalent to Log(Level.Error, e); Declaration public virtual void Error(Exception e) Parameters Type Name Description Exception e the exception to log See Also Log(Logger.Level, Exception) | Improve this Doc View Source Error(String) Sends an error message. Equivalent to Log(Level.Error, message); Declaration public virtual void Error(string message) Parameters Type Name Description String message the message to log See Also Log(Logger.Level, String) | Improve this Doc View Source Info(Exception) Sends an exception as an info message. Equivalent to Log(Level.Info, e); Declaration public virtual void Info(Exception e) Parameters Type Name Description Exception e the exception to log See Also Log(Logger.Level, Exception) | Improve this Doc View Source Info(String) Sends an info message. Equivalent to Log(Level.Info, message); Declaration public virtual void Info(string message) Parameters Type Name Description String message the message to log See Also Log(Logger.Level, String) | Improve this Doc View Source Log(Logger.Level, Exception) A basic log function taking an exception to log. Declaration public virtual void Log(Logger.Level level, Exception e) Parameters Type Name Description Logger.Level level the level of the message Exception e the exception to log | Improve this Doc View Source Log(Logger.Level, String) A basic log function. Declaration public abstract void Log(Logger.Level level, string message) Parameters Type Name Description Logger.Level level the level of the message String message the message to log | Improve this Doc View Source Notice(Exception) Sends an exception as a notice message. Equivalent to Log(Level.Notice, e); Declaration public virtual void Notice(Exception e) Parameters Type Name Description Exception e the exception to log See Also Log(Logger.Level, Exception) | Improve this Doc View Source Notice(String) Sends a notice message. Equivalent to Log(Level.Notice, message); Declaration public virtual void Notice(string message) Parameters Type Name Description String message the message to log See Also Log(Logger.Level, String) | Improve this Doc View Source Trace(Exception) Sends an exception as a trace message. Equivalent to Log(Level.Trace, e); Declaration public virtual void Trace(Exception e) Parameters Type Name Description Exception e the exception to log See Also Log(Logger.Level, Exception) | Improve this Doc View Source Trace(String) Sends a trace message. Equivalent to Log(Level.Trace, message); Declaration public virtual void Trace(string message) Parameters Type Name Description String message the message to log See Also Log(Logger.Level, String) | Improve this Doc View Source Warn(Exception) Sends an exception as a warning message. Equivalent to Log(Level.Warning, e); Declaration public virtual void Warn(Exception e) Parameters Type Name Description Exception e the exception to log See Also Log(Logger.Level, Exception) | Improve this Doc View Source Warn(String) Sends a warning message. Equivalent to Log(Level.Warning, message); Declaration public virtual void Warn(string message) Parameters Type Name Description String message the message to log See Also Log(Logger.Level, String) Extension Methods LoggerExtensions.GetChildLogger(Logger, String) ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" }, "api/IPA.Loader.PluginMetadata.html": { "href": "api/IPA.Loader.PluginMetadata.html", "title": "Class PluginMetadata", - "keywords": "Class PluginMetadata A class which describes a loaded plugin. Inheritance Object PluginMetadata Inherited Members Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Loader Assembly : IPA.Loader.dll Syntax public class PluginMetadata Properties | Improve this Doc View Source Assembly The assembly the plugin was loaded from. Declaration public Assembly Assembly { get; } Property Value Type Description Assembly the loaded Assembly that contains the plugin main type | Improve this Doc View Source Features The features this plugin requests. Declaration public IReadOnlyList Features { get; } Property Value Type Description IReadOnlyList < Feature > the list of features requested by the plugin | Improve this Doc View Source File The file the plugin was loaded from. Declaration public FileInfo File { get; } Property Value Type Description FileInfo the file the plugin was loaded from | Improve this Doc View Source Id The BeatMods ID of the plugin, or null if it doesn't have one. Declaration public string Id { get; } Property Value Type Description String the updater ID of the plugin | Improve this Doc View Source IsBare Whether or not this metadata object represents a bare manifest. Declaration public bool IsBare { get; } Property Value Type Description Boolean true if it is bare, false otherwise | Improve this Doc View Source Name The human readable name of the plugin. Declaration public string Name { get; } Property Value Type Description String the name of the plugin | Improve this Doc View Source PluginType The TypeDefinition for the main type of the plugin. Declaration public TypeDefinition PluginType { get; } Property Value Type Description Mono.Cecil.TypeDefinition the Cecil definition for the plugin main type | Improve this Doc View Source RuntimeOptions The RuntimeOptions that the plugin specified in its PluginAttribute . Declaration public RuntimeOptions RuntimeOptions { get; } Property Value Type Description RuntimeOptions | Improve this Doc View Source Version The version of the plugin. Declaration public Version Version { get; } Property Value Type Description SemVer.Version the version of the plugin Methods | Improve this Doc View Source ToString() Gets all of the metadata as a readable string. Declaration public override string ToString() Returns Type Description String the readable printable metadata string Overrides Object.ToString() Extension Methods ReflectionUtil.SetField(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[])" + "keywords": "Class PluginMetadata A class which describes a loaded plugin. Inheritance Object PluginMetadata Inherited Members Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Loader Assembly : IPA.Loader.dll Syntax public class PluginMetadata Properties | Improve this Doc View Source Assembly The assembly the plugin was loaded from. Declaration public Assembly Assembly { get; } Property Value Type Description Assembly the loaded Assembly that contains the plugin main type | Improve this Doc View Source Features The features this plugin requests. Declaration public IReadOnlyList Features { get; } Property Value Type Description IReadOnlyList < Feature > the list of features requested by the plugin | Improve this Doc View Source File The file the plugin was loaded from. Declaration public FileInfo File { get; } Property Value Type Description FileInfo the file the plugin was loaded from | Improve this Doc View Source Id The BeatMods ID of the plugin, or null if it doesn't have one. Declaration public string Id { get; } Property Value Type Description String the updater ID of the plugin | Improve this Doc View Source IsBare Whether or not this metadata object represents a bare manifest. Declaration public bool IsBare { get; } Property Value Type Description Boolean true if it is bare, false otherwise | Improve this Doc View Source Name The human readable name of the plugin. Declaration public string Name { get; } Property Value Type Description String the name of the plugin | Improve this Doc View Source PluginType The TypeDefinition for the main type of the plugin. Declaration public TypeDefinition PluginType { get; } Property Value Type Description Mono.Cecil.TypeDefinition the Cecil definition for the plugin main type | Improve this Doc View Source RuntimeOptions The RuntimeOptions that the plugin specified in its PluginAttribute . Declaration public RuntimeOptions RuntimeOptions { get; } Property Value Type Description RuntimeOptions | Improve this Doc View Source Version The version of the plugin. Declaration public Version Version { get; } Property Value Type Description SemVer.Version the version of the plugin Methods | Improve this Doc View Source ToString() Gets all of the metadata as a readable string. Declaration public override string ToString() Returns Type Description String the readable printable metadata string Overrides Object.ToString() Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" }, "api/IPA.Loader.PluginManager.html": { "href": "api/IPA.Loader.PluginManager.html", @@ -217,82 +392,57 @@ "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[])" + "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(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, 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[])" + "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(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" }, "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[])" - }, - "articles/dev-resources/description.html": { - "href": "articles/dev-resources/description.html", - "title": "Demo Plugin", - "keywords": "Demo Plugin A little demo for the BSIPA modding introduction. WE CAN USE MARKDOWN!!!" - }, - "articles/start-user.html": { - "href": "articles/start-user.html", - "title": "Installing BSIPA", - "keywords": "Installing BSIPA Note This guide assumes that you are starting completely fresh. Grab a release from the GitHub Releases page . Make sure to download one of the BSIPA-*.zip s, as ModList.zip contains the Beat Saber mod for showing your mods in-game, not the loader itself. Note The specific ZIP you need to download varies on the game you will be patching. For example, if you are patching Beat Saber, you will need the file BSIPA-x64-Net4.zip . This is because Beat Saber is a 64 bit game running .NET 4. If you are patching Muse Dash, however, you nee the file BSIPA-x86-Net3.zip . Tip There are a few tricks for figuring out which file you need. If the game has a folder called MonoBleedingEdge in the install directory, then you need one of the Net4 builds. To determine which build to use, right click on the game executable, go to the Compatability tab, check the Run this program in compatability mode for checkbox, and look and see if the dropdown has any Windows XP emulation options. If it does, the application is 32 bit, and you need to get one of the x86 builds. Otherwise, get one of the x64 builds. Make sure to uncheck that checkbox before leaving the menu. Extract the zip into your game installation directory. There should now be a folder named IPA and a file named IPA.exe in the same folder as the game executable. For example, if you are installing BSIPA in Beat Saber, it might look like this after extraction: Run IPA.exe by double clicking it. A console window should pop up, and eventually, a gold message asking you to press a key will appear. Here is an example of a successful installation: Note In some cases, this may fail, something like this: In these cases, try dragging the game executable over IPA.exe . After installing, your game directory should look something like this: Note At this point it is recommended to run the game once before continuing, to ensure that things are installed correctly. The first run should create a UserData folder with Beat Saber IPA.json and Disabled Mods.json , as well as a Logs folder with several subfolders with their own files. If these are created, then the installation was very likely successful. Tip If you are not installing BSIPA on Beat Saber, you probably want to go to the config at UserData/Beat Saber IPA.json and set both of the following to false : { ... \"Updates\": { \"AutoUpdate\": false, \"AutoCheckUpdates\": false }, ... } Tip Depending on the game, you may have to set the config member GameAssemblies to the names of the assemblies that the game uses for BSIPA to virtualize them properly. For Beat Saber distrobutions, this will be set according to the version that it was built for by default. Otherwise, it will contain just Assembly-CSharp.dll since most games use that default. From here, just place all of your plugins in the Plugins folder, and you're all set! Many plugins will come in a zip such that the root of the zip represents the game install directory, so all you may have to do is extract the plugin into the game installation folder. Note For some reason, by default, Wine does not load DLLs in quite the same way that Windows does, causing issues with the injection. To make the injection work with Wine, winhttp has to have a DLL override set to native,builtin . This can be set either through Protontricks, or with the following .reg file. REGEDIT4 [HKEY_CURRENT_USER\\Software\\Wine\\DllOverrides] \"winhttp\"=\"native,builtin\" For Steam there's a per-game Wine prefix under compatdata . In this case SteamLibrary/steamapps/compatdata/620980/pfx/user.reg . Changes to this file will likely be ovewritten when the game updates or if local files are validated through Steam. Thats really all you have to do! The installation should persist across game updates for as long as winhttp.dll is present in the game directory, though your plugins will be moved to a different folder when it does update so things don't break horribly. Uninstalling Uninstalling is fairly simple, and can be done one of two ways: Drag the game executable over IPA.exe while holding Alt . Open a command prompt or Powershell terminal and run .\\IPA.exe -rn . (see The Command Line for what those options mean)" - }, - "articles/start-dev.html": { - "href": "articles/start-dev.html", - "title": "Making your own mod", - "keywords": "Making a mod Overview What follows is a very barebones, and frankly not very useful plugin class, even as a starting point, but it should be enough to give a decent idea of how to do quick upgrades of existing mods for those who want to. using System; using IPA; using IPA.Logging; namespace Demo { [Plugin(RuntimeOptions.SingleStartInit)] internal class Plugin { public static Logger log { get; private set; } [Init] public Plugin(Logger logger) { log = logger; log.Debug(\"Basic plugin running!\"); // setup that does not require game code // this is only called once ever, so do once-ever initialization } [OnStart] public void OnStart() { // setup that requires game code } [OnExit] public void OnExit() { // teardown } } } There are basically 4 major concepts here: Logger , the logging system. PluginAttribute , which declares that this class is a plugin and how it should behave. InitAttribute , which declares the constructor (and optionally other methods) as being used for initialization. The lifecycle event attributes OnStartAttribute and OnExitAttribute . 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: 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(); 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. At this point, your main plugin file should look something like this: using System; using IPA; using IPA.Logging; using IPA.Config; using IPA.Config.Stores; namespace Demo { [Plugin(RuntimeOptions.SingleStartInit)] internal class Plugin { public static Logger log { get; private set; } [Init] public Plugin(Logger logger, Config conf) { log = logger; PluginConfig.Instance = conf.Generated(); log.Debug(\"Config loaded\"); // setup that does not require game code } [OnStart] public void OnStart() { // setup that requires game code } [OnExit] public void OnExit() { // teardown } } } 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 . 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))] public List ListValue { get; set; } = new List(); This uses a converter that is provided with BSIPA for List 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 . Lets start by looking at the definition for such a member, then deciphering what exactly it means: [UseConverter(typeof(CollectionConverter>))] public HashSet SetValue { get; set; } = new HashSet(); The converter we're using here is CollectionConverter , a base type for converters of all kinds of collections. In fact, the ListConverter is derived from this, and uses it for most of its implementation. If a type implements ICollection , CollectionConverter can convert it. It, like most other BSIPA provided aggregate converters, provides a type argument overload CollectionConverter to compose other converters with it to handle unusual element types. Now after all that, your plugin class has not changed, and your config class should look something like this: using System.Collections.Generic; using IPA.Config.Stores; using IPA.Config.Stores.Attributes; using IPA.Config.Stores.Converters; namespace Demo { public class PluginConfig { public static PluginConfig Instance { get; set; } public class SubThingsObject { public double DoubleValue { get; set; } = 2.718281828459045; } public int IntValue { get; set; } = 42; public float FloatValue { get; set; } = 3.14159f; [NonNullable] public SubThingsObject SubThings { get; set; } = new SubThingsObject(); [UseConverter(typeof(ListConverter))] public List ListValue { get; set; } = new List(); [UseConverter(typeof(CollectionConverter>))] public HashSet SetValue { get; set; } = new HashSet(); } }" - }, - "api/index.html": { - "href": "api/index.html", - "title": "BSIPA API Documentation", - "keywords": "BSIPA API Documentation Welcome to the full class documentation! To see guides, head over to the Articles tab . Select a namespace and a class on the left to get started." - }, - "other_api/config/schema.html": { - "href": "other_api/config/schema.html", - "title": "Configuration File Schema", - "keywords": "Configuration File Schema { \"definitions\": { \"Debug_\": { \"type\": \"object\", \"properties\": { \"ShowCallSource\": { \"type\": \"boolean\" }, \"ShowDebug\": { \"type\": \"boolean\" }, \"CondenseModLogs\": { \"type\": \"boolean\" }, \"ShowHandledErrorStackTraces\": { \"type\": \"boolean\" }, \"HideMessagesForPerformance\": { \"type\": \"boolean\" }, \"HideLogThreshold\": { \"type\": \"integer\" }, \"ShowTrace\": { \"type\": \"boolean\" } }, \"required\": [ \"ShowCallSource\", \"ShowDebug\", \"CondenseModLogs\", \"ShowHandledErrorStackTraces\", \"HideMessagesForPerformance\", \"HideLogThreshold\", \"ShowTrace\" ] }, \"Updates_\": { \"type\": \"object\", \"properties\": { \"AutoUpdate\": { \"type\": \"boolean\" }, \"AutoCheckUpdates\": { \"type\": \"boolean\" } }, \"required\": [ \"AutoUpdate\", \"AutoCheckUpdates\" ] } }, \"type\": \"object\", \"properties\": { \"Regenerate\": { \"type\": \"boolean\" }, \"Updates\": { \"$ref\": \"#/definitions/Updates_\" }, \"Debug\": { \"$ref\": \"#/definitions/Debug_\" }, \"YeetMods\": { \"type\": \"boolean\" }, \"GameAssemblies\": { \"type\": \"array\", \"items\": { \"type\": \"string\" } }, \"LastGameVersion\": { \"type\": \"string\" } }, \"required\": [ \"Regenerate\", \"Updates\", \"Debug\", \"YeetMods\", \"GameAssemblies\" ] }" + "api/IPA.Config.Stores.Converters.CustomObjectConverter-1.html": { + "href": "api/IPA.Config.Stores.Converters.CustomObjectConverter-1.html", + "title": "Class CustomObjectConverter", + "keywords": "Class CustomObjectConverter A ValueConverter for objects normally serialized to config via Generated(Config, Boolean) . Inheritance Object ValueConverter CustomObjectConverter Implements IValueConverter Inherited Members ValueConverter.IValueConverter.ToValue(Object, Object) ValueConverter.IValueConverter.FromValue(Value, Object) ValueConverter.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public class CustomObjectConverter : ValueConverter, IValueConverter where T : class Type Parameters Name Description T the same type parameter that would be passed into Generated(Config, Boolean) Methods | Improve this Doc View Source Deserialize(Value, Object) Deserializes value into a T with the given parent . Declaration public static T Deserialize(Value value, object parent) Parameters Type Name Description Value value the Value to deserialize Object parent the parent object that will own the deserialized value Returns Type Description T the deserialized value See Also FromValue ( Value , Object ) | Improve this Doc View Source FromValue(Value, Object) Deserializes value into a T with the given parent . Declaration public override T FromValue(Value value, object parent) Parameters Type Name Description Value value the Value to deserialize Object parent the parent object that will own the deserialized value Returns Type Description T the deserialized value Overrides IPA.Config.Stores.ValueConverter.FromValue(IPA.Config.Data.Value, System.Object) See Also FromValue ( Value , Object ) | Improve this Doc View Source Serialize(T, Object) Serializes obj into a Value structure, given parent . Declaration public static Value Serialize(T obj, object parent) Parameters Type Name Description T obj the object to serialize Object parent the parent object that owns obj Returns Type Description Value the Value tree that represents obj See Also ToValue (T, Object ) | Improve this Doc View Source ToValue(T, Object) Serializes obj into a Value structure, given parent . Declaration public override Value ToValue(T obj, object parent) Parameters Type Name Description T obj the object to serialize Object parent the parent object that owns obj Returns Type Description Value the Value tree that represents obj Overrides IPA.Config.Stores.ValueConverter.ToValue(T, System.Object) See Also ToValue (T, Object ) Implements IValueConverter Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also Generated ( Config , Boolean )" }, - "other_api/index.html": { - "href": "other_api/index.html", - "title": "", - "keywords": "" + "api/IPA.Config.Stores.Converters.CollectionConverter-3.html": { + "href": "api/IPA.Config.Stores.Converters.CollectionConverter-3.html", + "title": "Class CollectionConverter", + "keywords": "Class CollectionConverter A CollectionConverter which default constructs a converter for use as the value converter. Inheritance Object ValueConverter CollectionConverter CollectionConverter Implements IValueConverter Inherited Members CollectionConverter.BaseConverter CollectionConverter.Create(Int32, Object) CollectionConverter.PopulateFromValue(TCollection, List, Object) CollectionConverter.FromValue(Value, Object) CollectionConverter.ToValue(TCollection, Object) ValueConverter.ToValue(TCollection, Object) ValueConverter.FromValue(Value, Object) ValueConverter.IValueConverter.ToValue(Object, Object) ValueConverter.IValueConverter.FromValue(Value, Object) ValueConverter.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public sealed class CollectionConverter : CollectionConverter, IValueConverter where TCollection : ICollection where TConverter : ValueConverter, new() Type Parameters Name Description T the value type of the collection TCollection the type of the colleciton TConverter the type of the converter to use for T Constructors | Improve this Doc View Source CollectionConverter() Creates a CollectionConverter using a default constructed TConverter element type. Equivalent to calling CollectionConverter(ValueConverter) with a default-constructed TConverter . Declaration public CollectionConverter() See Also CollectionConverter(ValueConverter) Implements IValueConverter Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also CollectionConverter " }, - "articles/index.html": { - "href": "articles/index.html", - "title": "Getting Started", - "keywords": "Getting Started Starting out is quite simple. Just follow one of the following guides: Installing BSIPA Making your own mod Or, if you want to contribute, see Contributing ." + "api/IPA.Config.Stores.Converters.CollectionConverter-2.html": { + "href": "api/IPA.Config.Stores.Converters.CollectionConverter-2.html", + "title": "Class CollectionConverter", + "keywords": "Class CollectionConverter A base class for all ICollection type converters, providing most of the functionality. Inheritance Object ValueConverter CollectionConverter CollectionConverter IListConverter ISetConverter ListConverter Implements IValueConverter Inherited Members ValueConverter.IValueConverter.ToValue(Object, Object) ValueConverter.IValueConverter.FromValue(Value, Object) ValueConverter.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public class CollectionConverter : ValueConverter, IValueConverter where TCollection : ICollection Type Parameters Name Description T the type of the items in the collection TCollection the instantiated type of collection Constructors | Improve this Doc View Source CollectionConverter() Creates a CollectionConverter using the default converter for the element type. Equivalent to calling CollectionConverter(ValueConverter) with Default . Declaration public CollectionConverter() See Also CollectionConverter(ValueConverter) | Improve this Doc View Source CollectionConverter(ValueConverter) Creates a CollectionConverter using the specified underlying converter. Declaration public CollectionConverter(ValueConverter underlying) Parameters Type Name Description ValueConverter underlying the ValueConverter to use to convert the values Properties | Improve this Doc View Source BaseConverter Gets the converter for the collection's value type. Declaration protected ValueConverter BaseConverter { get; } Property Value Type Description ValueConverter Methods | Improve this Doc View Source Create(Int32, Object) Creates a collection of type TCollection using the size and parent . Declaration protected virtual TCollection Create(int size, object parent) Parameters Type Name Description Int32 size the initial size of the collecion Object parent the object that will own the new collection Returns Type Description TCollection a new instance of TCollection See Also FromValue ( Value , Object ) | Improve this Doc View Source FromValue(Value, Object) Deserializes a List in value into a new TCollection owned by parent . Declaration public override TCollection FromValue(Value value, object parent) Parameters Type Name Description Value value the List to convert to a TCollection Object parent the object that will own the resulting TCollection Returns Type Description TCollection a new TCollection holding the deserialized content of value Overrides IPA.Config.Stores.ValueConverter.FromValue(IPA.Config.Data.Value, System.Object) See Also FromValue ( Value , Object ) | Improve this Doc View Source PopulateFromValue(TCollection, List, Object) Populates the colleciton col with the deserialized values from list with the parent parent . Declaration protected void PopulateFromValue(TCollection col, List list, object parent) Parameters Type Name Description TCollection col the collection to populate List list the values to populate it with Object parent the object that will own the new objects See Also FromValue ( Value , Object ) | Improve this Doc View Source ToValue(TCollection, Object) Serializes a TCollection into a List . Declaration public override Value ToValue(TCollection obj, object parent) Parameters Type Name Description TCollection obj the TCollection to serialize Object parent the object owning obj Returns Type Description Value the List that obj was serialized into Overrides IPA.Config.Stores.ValueConverter.ToValue(TCollection, System.Object) See Also ToValue (T, Object ) Implements IValueConverter Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" }, - "articles/contributing.html": { - "href": "articles/contributing.html", - "title": "Contributing", - "keywords": "Contributing Prerequisites Microsoft Visual Studio 2019 or later (2017 may work, no guarantees) Tools for C/C++ (MSVC) v141 .NET 4.6.1 SDK and .NET 4.7.2 SDK Beat Saber (if developing for .NET 4.5+) Muse Dash (if developing for .NET 3.5) Building Clone with git clone https://github.com/beat-saber-modding-group/BeatSaber-IPA-Reloaded.git --recursive Create a file, bsinstalldir.txt in the solution root. Do NOT create this in Visual Studio; VS adds a BOM at the begginning of the file that the tools used cannot read. It should contain the path to your Beat Saber installation, using forward slashes with a trailing slash. e.g. C:/Program Files (x86)/Steam/steamapps/common/Beat Saber/ If you intend to be doing .NET 3.5 centric development, you must put your Muse Dash installation folder in a file named mdinstalldir.txt that is otherwise identical to bsinstalldir.txt . Open BSIPA.sln in Visual Studio. Choose the configuration that you intend to target during development. Rebuild all. When you make a change somewhere in BSIPA itself, right click on BSIPA-Meta and click Build or Rebuild . This sets up the output in path/to/solution/BSIPA-Meta/bin/ to be what should be copied to the game directory. When making a change to Mod List, you only need to build Mod List itself. Install by copying everything in path/to/solution/BSIPA-ModList/bin/ to your game directory. When building a Debug build, all referenced assemblies from Beat Saber will be copied from the install directory provided in bsinstalldir.txt into Refs/ . Any new references should reference the copy in there. When building for Release, it just uses the files already in Refs/ ." + "api/IPA.Config.Stores.Attributes.SerializedNameAttribute.html": { + "href": "api/IPA.Config.Stores.Attributes.SerializedNameAttribute.html", + "title": "Class SerializedNameAttribute", + "keywords": "Class SerializedNameAttribute Specifies a name for the serialized field or property in an object being wrapped by Generated(Config, Boolean) that is different from the member name itself. Inheritance Object Attribute SerializedNameAttribute Implements _Attribute Inherited Members Attribute.GetCustomAttributes(MemberInfo, Type) Attribute.GetCustomAttributes(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(MemberInfo) Attribute.GetCustomAttributes(MemberInfo, Boolean) Attribute.IsDefined(MemberInfo, Type) Attribute.IsDefined(MemberInfo, Type, Boolean) Attribute.GetCustomAttribute(MemberInfo, Type) Attribute.GetCustomAttribute(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo) Attribute.GetCustomAttributes(ParameterInfo, Type) Attribute.GetCustomAttributes(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo, Boolean) Attribute.IsDefined(ParameterInfo, Type) Attribute.IsDefined(ParameterInfo, Type, Boolean) Attribute.GetCustomAttribute(ParameterInfo, Type) Attribute.GetCustomAttribute(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(Module, Type) Attribute.GetCustomAttributes(Module) Attribute.GetCustomAttributes(Module, Boolean) Attribute.GetCustomAttributes(Module, Type, Boolean) Attribute.IsDefined(Module, Type) Attribute.IsDefined(Module, Type, Boolean) Attribute.GetCustomAttribute(Module, Type) Attribute.GetCustomAttribute(Module, Type, Boolean) Attribute.GetCustomAttributes(Assembly, Type) Attribute.GetCustomAttributes(Assembly, Type, Boolean) Attribute.GetCustomAttributes(Assembly) Attribute.GetCustomAttributes(Assembly, Boolean) Attribute.IsDefined(Assembly, Type) Attribute.IsDefined(Assembly, Type, Boolean) Attribute.GetCustomAttribute(Assembly, Type) Attribute.GetCustomAttribute(Assembly, Type, Boolean) Attribute.Equals(Object) Attribute.GetHashCode() Attribute.Match(Object) Attribute.IsDefaultAttribute() Attribute._Attribute.GetTypeInfoCount(UInt32) Attribute._Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) Attribute._Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) Attribute._Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) Attribute.TypeId Object.ToString() Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Attributes Assembly : IPA.Loader.dll Syntax [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false, Inherited = true)] public sealed class SerializedNameAttribute : Attribute, _Attribute Examples When serializing the following object, we might get the JSON that follows. public class PluginConfig { public virtual bool BooleanField { get; set; } = true; } { \"BooleanField\": true } However, if we were to add a SerializedNameAttribute to that field, we would get the following. public class PluginConfig { [SerializedName(\"bool\")] public virtual bool BooleanField { get; set; } = true; } { \"bool\": true } Constructors | Improve this Doc View Source SerializedNameAttribute(String) Creates a new SerializedNameAttribute with the given Name . Declaration public SerializedNameAttribute(string name) Parameters Type Name Description String name the value to assign to Name Properties | Improve this Doc View Source Name Gets the name to replace the member name with. Declaration public string Name { get; } Property Value Type Description String Implements System.Runtime.InteropServices._Attribute Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" }, - "index.html": { - "href": "index.html", - "title": "BSIPA - Home", - "keywords": "BSIPA - The Unity mod injector for the new age (pending confirmation). Assuming, that is, that Unity 2017 is \"new age\". How To Install See Installing How To Uninstall See Uninstalling Arguments See The Command Line . How To Develop See Developing for more information. How To Keep The Game Patched BSIPA will automatically repatch the game when it updates, as long as winhttp.dll is present in the install directory." + "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(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" }, - "articles/command-line.html": { - "href": "articles/command-line.html", - "title": "The Command Line", - "keywords": "The Command Line BSIPA has 2 command lines: the installer, and the game. Their documentation is below. The Installer ( IPA.exe ) The Game The installer has quite a few options, which are documented inline with the -h or --help flag. This is what it currently looks like: usage: IPA.exe [FLAGS] [ARGUMENTS] flags: -h, --help prints this message -w, --waitfor=PID waits for the specified PID to exit -f, --force forces the operation to go through -r, --revert reverts the IPA installation -n, --nowait doesn't wait for user input after the operation -s, --start=ARGUMENTS uses the specified arguments to start the game after the patch/unpatch -l, --launch uses positional parameters as arguments to start the game after patch/unpatch -R, --no-revert prevents a normal installation from first reverting The game also gets quite a few command line options, though there isn't anything as convenient as a help page for them. Here's a quick list of what they are and what they do. --verbose Makes a console appear with log information at startup. --debug Enables the loading of debug information in Mono. The debugging information must be in the portable PDB format, in the same location as the DLL that it's for. This option also forces BSIPA to show all debug messages in the console, as well as where they were called. This overrides the config settings Debug.ShowDebug and Debug.ShowCallSource . --trace Enables trace level messages. By default, they do not ever enter the message queue, and thus cost almost nothing. When this or the config option is used, they are added and logged with the same rules as Debug messages. This overrides the config setting Debug.ShowTrace . --mono-debug Enables the built-in Mono soft debugger engine. By default, it acts as a client, and requires that there be a soft debugger server running on port 10000 on localhost . Implies --debug . --server Does nothing on its own. When paired with --mono-debug , this option makes the Mono soft debugger act in server mode. It begins listening on port 10000 on any address, and will pause startup (with no window) until a debugger is connected. I recommend using SDB, but that is a command line debugger and a lot of people don't care for those. --no-yeet Disables mod yeeting. By default, whenever BSIPA detects that the game is now running a newer version than previous runs, it will move all mods to another folder and not load them. (They still get checked for updates though.) When this is enabled, that behaviour is disabled. Overrides the config setting YeetMods . --condense-logs Reduces the number of log files BSIPA will output for a given session. By default, BSIPA will create a subfolder in the Logs folder for each mod sublog, as well as each mod. This disables that behaviour, and restricts it to only create a global log and mod logs. Overrides the config setting Debug.CondenseModLogs . --no-updates Disables automatic updating. By default, BSIPA will check BeatMods for all of the loaded mods to see if there is a new version avaliable. If there is, it will be downloaded and installed on the next run. This flag disables that behaviour. Overrides the config settings Updates.AutoCheckUpdates and Updates.AutoUpdate ." + "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(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" }, - "api/IPA.Config.Config.PreferAttribute.html": { - "href": "api/IPA.Config.Config.PreferAttribute.html", - "title": "Class Config.PreferAttribute", - "keywords": "Class Config.PreferAttribute Specifies that a particular parameter is preferred to use a particular IConfigProvider . If it is not available, also specifies backups. If none are available, the default is used. Inheritance Object Attribute Config.PreferAttribute Implements _Attribute Inherited Members Attribute.GetCustomAttributes(MemberInfo, Type) Attribute.GetCustomAttributes(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(MemberInfo) Attribute.GetCustomAttributes(MemberInfo, Boolean) Attribute.IsDefined(MemberInfo, Type) Attribute.IsDefined(MemberInfo, Type, Boolean) Attribute.GetCustomAttribute(MemberInfo, Type) Attribute.GetCustomAttribute(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo) Attribute.GetCustomAttributes(ParameterInfo, Type) Attribute.GetCustomAttributes(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo, Boolean) Attribute.IsDefined(ParameterInfo, Type) Attribute.IsDefined(ParameterInfo, Type, Boolean) Attribute.GetCustomAttribute(ParameterInfo, Type) Attribute.GetCustomAttribute(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(Module, Type) Attribute.GetCustomAttributes(Module) Attribute.GetCustomAttributes(Module, Boolean) Attribute.GetCustomAttributes(Module, Type, Boolean) Attribute.IsDefined(Module, Type) Attribute.IsDefined(Module, Type, Boolean) Attribute.GetCustomAttribute(Module, Type) Attribute.GetCustomAttribute(Module, Type, Boolean) Attribute.GetCustomAttributes(Assembly, Type) Attribute.GetCustomAttributes(Assembly, Type, Boolean) Attribute.GetCustomAttributes(Assembly) Attribute.GetCustomAttributes(Assembly, Boolean) Attribute.IsDefined(Assembly, Type) Attribute.IsDefined(Assembly, Type, Boolean) Attribute.GetCustomAttribute(Assembly, Type) Attribute.GetCustomAttribute(Assembly, Type, Boolean) Attribute.Equals(Object) Attribute.GetHashCode() Attribute.Match(Object) Attribute.IsDefaultAttribute() Attribute._Attribute.GetTypeInfoCount(UInt32) Attribute._Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) Attribute._Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) Attribute._Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) Attribute.TypeId Object.ToString() Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config Assembly : IPA.Loader.dll Syntax [AttributeUsage(AttributeTargets.Parameter)] public sealed class PreferAttribute : Attribute, _Attribute Constructors | Improve this Doc View Source PreferAttribute(String[]) Constructs the attribute with a specific preference list. Each entry is the extension without a '.' Declaration public PreferAttribute(params string[] preference) Parameters Type Name Description String [] preference The preferences in order of preference. Properties | Improve this Doc View Source PreferenceOrder The order of preference for the config type. Declaration public string[] PreferenceOrder { get; } Property Value Type Description String [] the list of config extensions in order of preference Implements System.Runtime.InteropServices._Attribute Extension Methods ReflectionUtil.SetField(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(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" }, - "api/IPA.Utilities.Ref-1.html": { - "href": "api/IPA.Utilities.Ref-1.html", - "title": "Class Ref", - "keywords": "Class Ref A class to store a reference for passing to methods which cannot take ref parameters. Inheritance Object Ref Implements IComparable IComparable < Ref > Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Utilities Assembly : IPA.Loader.dll Syntax public class Ref : IComparable, IComparable> Type Parameters Name Description T the type of the value Constructors | Improve this Doc View Source Ref(T) Constructor. Declaration public Ref(T reference) Parameters Type Name Description T reference the initial value of the reference Properties | Improve this Doc View Source Error An exception that was generated while creating the value. Declaration public Exception Error { get; set; } Property Value Type Description Exception the error held in this Ref | Improve this Doc View Source Value The value of the reference Declaration public T Value { get; set; } Property Value Type Description T the value wrapped by this Ref Methods | Improve this Doc View Source CompareTo(T) Compares the wrapped object to the other object. Declaration public int CompareTo(T other) Parameters Type Name Description T other the object to compare to Returns Type Description Int32 the value of the comparison | Improve this Doc View Source CompareTo(Ref) Compares the wrapped object to the other wrapped object. Declaration public int CompareTo(Ref other) Parameters Type Name Description Ref other the wrapped object to compare to Returns Type Description Int32 the value of the comparison | Improve this Doc View Source Verify() Throws error if one was set. Declaration public void Verify() Operators | Improve this Doc View Source Implicit(T to Ref) Converts a value T to a reference to that object. Will overwrite the reference in the left hand expression if there is one. Declaration public static implicit operator Ref(T toConvert) Parameters Type Name Description T toConvert the value to wrap in the Ref Returns Type Description Ref the Ref wrapping the value | Improve this Doc View Source Implicit(Ref to T) Converts to referenced type, returning the stored reference. Declaration public static implicit operator T(Ref self) Parameters Type Name Description Ref self the object to be de-referenced Returns Type Description T the value referenced by the object Implements System.IComparable System.IComparable 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 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.Utilities.Extensions.html": { "href": "api/IPA.Utilities.Extensions.html", @@ -304,115 +454,95 @@ "title": "Class EnumerableExtensions", "keywords": "Class EnumerableExtensions Extensions for IEnumerable that don't currently exist in System.Linq . Inheritance Object EnumerableExtensions 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 EnumerableExtensions Methods | Improve this Doc View Source Append(IEnumerable, T) Adds a value to the end of the sequence. Declaration public static IEnumerable Append(this IEnumerable seq, T app) Parameters Type Name Description IEnumerable seq a sequence of values T app the value to append to seq Returns Type Description IEnumerable a new sequence ending with app Type Parameters Name Description T the type of the elements of seq | Improve this Doc View Source NonNull(IEnumerable) LINQ extension method that filters null elements out of an enumeration. Declaration public static IEnumerable NonNull(this IEnumerable self) where T : class Parameters Type Name Description IEnumerable self the enumeration to filter Returns Type Description IEnumerable a filtered enumerable Type Parameters Name Description T the type of the enumeration | Improve this Doc View Source NonNull(IEnumerable>) LINQ extension method that filters null elements from an enumeration of nullable types. Declaration public static IEnumerable NonNull(this IEnumerable self) where T : struct Parameters Type Name Description IEnumerable < Nullable > self the enumeration to filter Returns Type Description IEnumerable a filtered enumerable Type Parameters Name Description T the underlying type of the nullable enumeration | Improve this Doc View Source NonNull(IEnumerable, Func) LINQ extension method that filters null elements out of an enumeration based on a converter. Declaration public static IEnumerable NonNull(this IEnumerable self, Func pred) where U : class Parameters Type Name Description IEnumerable self the enumeration to filter Func pred the predicate to select for filtering Returns Type Description IEnumerable a filtered enumerable Type Parameters Name Description T the type of the enumeration U the type to compare to null | Improve this Doc View Source Prepend(IEnumerable, T) Adds a value to the beginning of the sequence. Declaration public static IEnumerable Prepend(this IEnumerable seq, T prep) Parameters Type Name Description IEnumerable seq a sequence of values T prep the value to prepend to seq Returns Type Description IEnumerable a new sequence beginning with prep Type Parameters Name Description T the type of the elements of seq" }, + "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 ExecuteSection() Creates an CriticalSection.AutoExecuteSection for automated management of an execute section. Declaration public static CriticalSection.AutoExecuteSection ExecuteSection() Returns Type Description CriticalSection.AutoExecuteSection the new CriticalSection.AutoExecuteSection that manages the section | Improve this Doc View Source ExitExecuteSection() Exits a critical execution section. Does not nest. Declaration public static void ExitExecuteSection()" + }, + "api/IPA.Utilities.CriticalSection.AutoExecuteSection.html": { + "href": "api/IPA.Utilities.CriticalSection.AutoExecuteSection.html", + "title": "Struct CriticalSection.AutoExecuteSection", + "keywords": "Struct CriticalSection.AutoExecuteSection A struct that allows using blocks to manage an execute section. Implements IDisposable Inherited Members ValueType.Equals(Object) ValueType.GetHashCode() ValueType.ToString() Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetType() Namespace : IPA.Utilities Assembly : IPA.Loader.dll Syntax public struct AutoExecuteSection : IDisposable Explicit Interface Implementations | Improve this Doc View Source IDisposable.Dispose() Declaration void IDisposable.Dispose() Implements System.IDisposable Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, 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.html": { + "href": "api/IPA.Utilities.Async.Synchronization.html", + "title": "Class Synchronization", + "keywords": "Class 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. Inheritance Object Synchronization Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Utilities.Async Assembly : IPA.Loader.dll Syntax public static class Synchronization Examples The canonical usage of all of the member functions is as follows, substituting Lock(Mutex) with whichever member you want to use, according to your lock type. using var _locker = Synchronization.Lock(mutex); Methods | Improve this Doc View Source Lock(Mutex) Creates a locker for a mutex. Declaration public static Synchronization.MutexLocker Lock(Mutex mut) Parameters Type Name Description Mutex mut the mutex to acquire Returns Type Description Synchronization.MutexLocker the locker to use with langword_csharp_using | Improve this Doc View Source Lock(Semaphore) Creates a locker for a semaphore. Declaration public static Synchronization.SemaphoreLocker Lock(Semaphore sem) Parameters Type Name Description Semaphore sem the semaphore to acquire Returns Type Description Synchronization.SemaphoreLocker the locker to use with langword_csharp_using | Improve this Doc View Source Lock(SemaphoreSlim) Creates a locker for a slim semaphore. Declaration public static Synchronization.SemaphoreSlimLocker Lock(SemaphoreSlim sem) Parameters Type Name Description SemaphoreSlim sem the slim semaphore to acquire Returns Type Description Synchronization.SemaphoreSlimLocker the locker to use with langword_csharp_using | Improve this Doc View Source LockAsync(SemaphoreSlim) Creates a locker for a slim semaphore asynchronously. Declaration public static Task LockAsync(SemaphoreSlim sem) Parameters Type Name Description SemaphoreSlim sem the slim semaphore to acquire async Returns Type Description Task < Synchronization.SemaphoreSlimAsyncLocker > the locker to use with langword_csharp_using | Improve this Doc View Source LockRead(ReaderWriterLockSlim) Creates a locker for a read lock on a ReaderWriterLockSlim . Declaration public static Synchronization.ReaderWriterLockSlimReadLocker LockRead(ReaderWriterLockSlim rwl) Parameters Type Name Description ReaderWriterLockSlim rwl the lock to acquire in read mode Returns Type Description Synchronization.ReaderWriterLockSlimReadLocker the locker to use with langword_csharp_using | Improve this Doc View Source LockReadUpgradable(ReaderWriterLockSlim) Creates a locker for an upgradable read lock on a ReaderWriterLockSlim . Declaration public static Synchronization.ReaderWriterLockSlimUpgradableReadLocker LockReadUpgradable(ReaderWriterLockSlim rwl) Parameters Type Name Description ReaderWriterLockSlim rwl the lock to acquire in upgradable read mode Returns Type Description Synchronization.ReaderWriterLockSlimUpgradableReadLocker the locker to use with langword_csharp_using | Improve this Doc View Source LockWrite(ReaderWriterLockSlim) Creates a locker for a write lock ReaderWriterLockSlim . Declaration public static Synchronization.ReaderWriterLockSlimWriteLocker LockWrite(ReaderWriterLockSlim rwl) Parameters Type Name Description ReaderWriterLockSlim rwl the lock to acquire in write mode Returns Type Description Synchronization.ReaderWriterLockSlimWriteLocker the locker to use with langword_csharp_using" + }, "api/IPA.Utilities.Async.Synchronization.SemaphoreSlimLocker.html": { "href": "api/IPA.Utilities.Async.Synchronization.SemaphoreSlimLocker.html", "title": "Struct Synchronization.SemaphoreSlimLocker", - "keywords": "Struct Synchronization.SemaphoreSlimLocker A locker for a SemaphoreSlim that automatically releases when it is disposed. Create this with Lock(SemaphoreSlim) . 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 SemaphoreSlimLocker : 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 Lock(SemaphoreSlim)" + "keywords": "Struct Synchronization.SemaphoreSlimLocker A locker for a SemaphoreSlim that automatically releases when it is disposed. Create this with Lock(SemaphoreSlim) . 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 SemaphoreSlimLocker : IDisposable Explicit Interface Implementations | Improve this Doc View Source IDisposable.Dispose() Declaration void IDisposable.Dispose() Implements System.IDisposable Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also Synchronization Lock(SemaphoreSlim)" }, "api/IPA.Utilities.Async.Synchronization.SemaphoreSlimAsyncLocker.html": { "href": "api/IPA.Utilities.Async.Synchronization.SemaphoreSlimAsyncLocker.html", "title": "Struct Synchronization.SemaphoreSlimAsyncLocker", - "keywords": "Struct Synchronization.SemaphoreSlimAsyncLocker A locker for a SemaphoreSlim that was created asynchronously and automatically releases when it is disposed. Create this with LockAsync(SemaphoreSlim) . 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 SemaphoreSlimAsyncLocker : 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 LockAsync(SemaphoreSlim)" - }, - "api/IPA.Utilities.Async.Synchronization.SemaphoreLocker.html": { - "href": "api/IPA.Utilities.Async.Synchronization.SemaphoreLocker.html", - "title": "Struct Synchronization.SemaphoreLocker", - "keywords": "Struct Synchronization.SemaphoreLocker A locker for a Semaphore that automatically releases when it is disposed. Create this with Lock(Semaphore) . 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 SemaphoreLocker : 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 Lock(Semaphore)" - }, - "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.Utilities.AlmostVersionConverter.html": { - "href": "api/IPA.Utilities.AlmostVersionConverter.html", - "title": "Class AlmostVersionConverter", - "keywords": "Class AlmostVersionConverter A ValueConverter for AlmostVersion s. Inheritance Object ValueConverter < AlmostVersion > AlmostVersionConverter Implements IValueConverter Inherited Members ValueConverter.IValueConverter.ToValue(Object, Object) ValueConverter.IValueConverter.FromValue(Value, Object) ValueConverter.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Utilities Assembly : IPA.Loader.dll Syntax public sealed class AlmostVersionConverter : ValueConverter, IValueConverter Methods | Improve this Doc View Source FromValue(Value, Object) Converts a Text node into an AlmostVersion . Declaration public override AlmostVersion FromValue(Value value, object parent) Parameters Type Name Description Value value the Text node to convert Object parent the owner of the new object Returns Type Description AlmostVersion Overrides IPA.Config.Stores.ValueConverter.FromValue(IPA.Config.Data.Value, System.Object) | Improve this Doc View Source ToValue(AlmostVersion, Object) Converts an AlmostVersion to a Text node. Declaration public override Value ToValue(AlmostVersion obj, object parent) Parameters Type Name Description AlmostVersion obj the AlmostVersion to convert Object parent the parent of obj Returns Type Description Value a Text node representing obj Overrides IPA.Config.Stores.ValueConverter.ToValue(IPA.Utilities.AlmostVersion, System.Object) 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[])" - }, - "api/IPA.Utilities.AlmostVersion.html": { - "href": "api/IPA.Utilities.AlmostVersion.html", - "title": "Class AlmostVersion", - "keywords": "Class 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 . Inheritance Object AlmostVersion Implements IComparable < AlmostVersion > IComparable < SemVer.Version > Inherited Members Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetType() Object.MemberwiseClone() Namespace : IPA.Utilities Assembly : IPA.Loader.dll Syntax public class AlmostVersion : IComparable, IComparable Constructors | Improve this Doc View Source AlmostVersion(Version) Creates an AlmostVersion from the SemVer.Version provided in ver . Declaration public AlmostVersion(Version ver) Parameters Type Name Description SemVer.Version ver the SemVer.Version to store | Improve this Doc View Source AlmostVersion(String) Creates a new AlmostVersion with the version string provided in vertext . Declaration public AlmostVersion(string vertext) Parameters Type Name Description String vertext the version string to store | Improve this Doc View Source AlmostVersion(String, AlmostVersion) Creates a new AlmostVersion from the version string in vertext stored the same way as the AlmostVersion passed in copyMode . Declaration public AlmostVersion(string vertext, AlmostVersion copyMode) Parameters Type Name Description String vertext the text to parse as an AlmostVersion AlmostVersion copyMode an AlmostVersion to copy the storage mode of | Improve this Doc View Source AlmostVersion(String, AlmostVersion.StoredAs) Creates an AlmostVersion from the version string in vertext stored using the storage mode specified in mode . Declaration public AlmostVersion(string vertext, AlmostVersion.StoredAs mode) Parameters Type Name Description String vertext the text to parse as an AlmostVersion AlmostVersion.StoredAs mode the storage mode to store the version in Properties | Improve this Doc View Source SemverValue The value of the AlmostVersion if it was stored as a SemVer.Version . Declaration public Version SemverValue { get; } Property Value Type Description SemVer.Version the stored value as a SemVer.Version , or null if not stored as a version. | Improve this Doc View Source StorageMode The way the value is stored, whether it be as a SemVer.Version or a String . Declaration public AlmostVersion.StoredAs StorageMode { get; } Property Value Type Description AlmostVersion.StoredAs the storage mode used to store this value | Improve this Doc View Source StringValue The value of the AlmostVersion if it was stored as a String . Declaration public string StringValue { get; } Property Value Type Description String the stored value as a String , or null if not stored as a string. Methods | Improve this Doc View Source CompareTo(AlmostVersion) Compares langword_csharp_this to the AlmostVersion in other using SemVer.Version.CompareTo(SemVer.Version) or CompareTo(String) , depending on the current store. Declaration public int CompareTo(AlmostVersion other) Parameters Type Name Description AlmostVersion other the AlmostVersion to compare to Returns Type Description Int32 less than 0 if other is considered bigger than langword_csharp_this , 0 if equal, and greater than zero if smaller Remarks The storage methods of the two objects must be the same, or this will throw an InvalidOperationException . See Also CompareTo(Version) | Improve this Doc View Source CompareTo(Version) Compares langword_csharp_this to the SemVer.Version in other using SemVer.Version.CompareTo(SemVer.Version) . Declaration public int CompareTo(Version other) Parameters Type Name Description SemVer.Version other the SemVer.Version to compare to Returns Type Description Int32 less than 0 if other is considered bigger than langword_csharp_this , 0 if equal, and greater than zero if smaller Remarks The storage method of langword_csharp_this must be SemVer , else an InvalidOperationException will be thrown. See Also CompareTo(AlmostVersion) | Improve this Doc View Source Equals(Object) Performs a strict equality check between langword_csharp_this and obj . Declaration public override bool Equals(object obj) Parameters Type Name Description Object obj the object to compare to Returns Type Description Boolean true if they are equal, false otherwise Overrides Object.Equals(Object) Remarks This may return false where Equality(AlmostVersion, AlmostVersion) returns true See Also Equals ( Object ) | Improve this Doc View Source GetHashCode() Default generated hash code function generated by VS. Declaration public override int GetHashCode() Returns Type Description Int32 a value unique to each object, except those that are considered equal by Equals(Object) Overrides Object.GetHashCode() See Also GetHashCode () | Improve this Doc View Source ToString() Gets a string representation of the current version. If the value is stored as a string, this returns it. If it is stored as a SemVer.Version , it is equivalent to calling SemVer.Version.ToString . Declaration public override string ToString() Returns Type Description String a string representation of the current version Overrides Object.ToString() See Also ToString () Operators | Improve this Doc View Source Equality(AlmostVersion, AlmostVersion) Compares two versions, only taking into account the numeric part of the version if they are stored as SemVer.Version s, or strict equality if they are stored as String s. Declaration public static bool operator ==(AlmostVersion l, AlmostVersion r) Parameters Type Name Description AlmostVersion l the first value to compare AlmostVersion r the second value to compare Returns Type Description Boolean true if they are mostly equal, false otherwise Remarks This is a looser equality than Equals(Object) , meaning that this may return true where Equals(Object) does not. See Also Equals(Object) | Improve this Doc View Source Implicit(AlmostVersion to Version) Implicitly converts an AlmostVersion to SemVer.Version , if applicable, using SemverValue . If not applicable, returns null Declaration public static implicit operator Version(AlmostVersion av) Parameters Type Name Description AlmostVersion av the AlmostVersion to convert to a SemVer.Version Returns Type Description SemVer.Version See Also SemverValue | Improve this Doc View Source Implicit(Version to AlmostVersion) Implicitly converts a SemVer.Version to AlmostVersion using AlmostVersion(Version) . Declaration public static implicit operator AlmostVersion(Version ver) Parameters Type Name Description SemVer.Version ver the SemVer.Version to convert Returns Type Description AlmostVersion See Also AlmostVersion(Version) | Improve this Doc View Source Inequality(AlmostVersion, AlmostVersion) The opposite of Equality(AlmostVersion, AlmostVersion) . Equivalent to !(l == r) . Declaration public static bool operator !=(AlmostVersion l, AlmostVersion r) Parameters Type Name Description AlmostVersion l the first value to compare AlmostVersion r the second value to compare Returns Type Description Boolean true if they are not mostly equal, false otherwise See Also Equality(AlmostVersion, AlmostVersion) Implements System.IComparable System.IComparable 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[])" + "keywords": "Struct Synchronization.SemaphoreSlimAsyncLocker A locker for a SemaphoreSlim that was created asynchronously and automatically releases when it is disposed. Create this with LockAsync(SemaphoreSlim) . 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 SemaphoreSlimAsyncLocker : IDisposable Explicit Interface Implementations | Improve this Doc View Source IDisposable.Dispose() Declaration void IDisposable.Dispose() Implements System.IDisposable Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also Synchronization LockAsync(SemaphoreSlim)" }, "api/IPA.Utilities.AlmostVersion.StoredAs.html": { "href": "api/IPA.Utilities.AlmostVersion.StoredAs.html", "title": "Enum AlmostVersion.StoredAs", - "keywords": "Enum AlmostVersion.StoredAs Represents a storage type of either parsed SemVer.Version object or raw String . Namespace : IPA.Utilities Assembly : IPA.Loader.dll Syntax public enum StoredAs Fields Name Description SemVer The version was stored as a SemVer.Version . String The version was stored as a String . 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[])" + "keywords": "Enum AlmostVersion.StoredAs Represents a storage type of either parsed SemVer.Version object or raw String . Namespace : IPA.Utilities Assembly : IPA.Loader.dll Syntax public enum StoredAs Fields Name Description SemVer The version was stored as a SemVer.Version . String The version was stored as a String . Extension Methods ReflectionUtil.SetField(String, U) ReflectionUtil.GetField(String) ReflectionUtil.SetProperty(String, U) ReflectionUtil.GetProperty(String) ReflectionUtil.InvokeMethod(String, Object[]) ReflectionUtil.InvokeMethod(String, Object[])" }, "api/IPA.RuntimeOptions.html": { "href": "api/IPA.RuntimeOptions.html", "title": "Enum RuntimeOptions", - "keywords": "Enum RuntimeOptions Options that a plugin must specify to describe how it expects to be run. Namespace : IPA Assembly : IPA.Loader.dll Syntax public enum RuntimeOptions Fields Name Description DynamicInit Indicates that this plugin supports runtime enabling and disabling. When this is set, the plugin may be disabled at reasonable points during runtime. As with SingleStartInit , it will be initialized and enabled with the game if it is enabled on startup, and disabled with the game if it is enabled on shutdown. When a plugin with this set is enabled mid-game, the first time it is enabled, its initialization methods will be called, then its enable methods. All subsequent enables will NOT re-initialize, however the enable methods will be called. When a plugin with this set is disabled mid-game, the plugin instance will NOT be destroyed, and will instead be re-used for subsequent enables. The plugin is expected to handle this gracefully, and behave in a way that makes sense. SingleStartInit Indicates that this plugin expects to be initialized and enabled with the game, and disabled with the game. With this option set, whether or not the plugin is disabled during a given run is constant for that entire run. See Also PluginAttribute InitAttribute OnEnableAttribute OnDisableAttribute OnStartAttribute OnExitAttribute 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[])" + "keywords": "Enum RuntimeOptions Options that a plugin must specify to describe how it expects to be run. Namespace : IPA Assembly : IPA.Loader.dll Syntax public enum RuntimeOptions Fields Name Description DynamicInit Indicates that this plugin supports runtime enabling and disabling. When this is set, the plugin may be disabled at reasonable points during runtime. As with SingleStartInit , it will be initialized and enabled with the game if it is enabled on startup, and disabled with the game if it is enabled on shutdown. When a plugin with this set is enabled mid-game, the first time it is enabled, its initialization methods will be called, then its enable methods. All subsequent enables will NOT re-initialize, however the enable methods will be called. When a plugin with this set is disabled mid-game, the plugin instance will NOT be destroyed, and will instead be re-used for subsequent enables. The plugin is expected to handle this gracefully, and behave in a way that makes sense. SingleStartInit Indicates that this plugin expects to be initialized and enabled with the game, and disabled with the game. With this option set, whether or not the plugin is disabled during a given run is constant for that entire run. See Also PluginAttribute InitAttribute OnEnableAttribute OnDisableAttribute OnStartAttribute OnExitAttribute Extension Methods ReflectionUtil.SetField(String, U) ReflectionUtil.GetField(String) ReflectionUtil.SetProperty(String, U) ReflectionUtil.GetProperty(String) ReflectionUtil.InvokeMethod(String, Object[]) ReflectionUtil.InvokeMethod(String, Object[])" }, "api/IPA.OnDisableAttribute.html": { "href": "api/IPA.OnDisableAttribute.html", "title": "Class OnDisableAttribute", - "keywords": "Class OnDisableAttribute Indicates that the target method should be called when the plugin is disabled. Inheritance Object Attribute OnDisableAttribute 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 OnDisableAttribute : Attribute, _Attribute, IEdgeLifecycleAttribute Remarks This attribute is interchangable with OnExitAttribute , 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 DynamicInit . 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 OnExitAttribute" + "keywords": "Class OnDisableAttribute Indicates that the target method should be called when the plugin is disabled. Inheritance Object Attribute OnDisableAttribute 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 OnDisableAttribute : Attribute, _Attribute, IEdgeLifecycleAttribute Remarks This attribute is interchangable with OnExitAttribute , 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 DynamicInit . Implements System.Runtime.InteropServices._Attribute Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also PluginAttribute OnExitAttribute" }, "api/IPA.Old.html": { "href": "api/IPA.Old.html", "title": "", "keywords": "Interfaces IEnhancedPlugin An enhanced version of the standard IPA plugin. IPlugin Interface for generic Illusion unity plugins. Every class that implements this will be loaded if the DLL is placed in Plugins." }, - "api/IPA.Old.IPlugin.html": { - "href": "api/IPA.Old.IPlugin.html", - "title": "Interface IPlugin", - "keywords": "Interface IPlugin Interface for generic Illusion unity plugins. Every class that implements this will be loaded if the DLL is placed in Plugins. Namespace : IPA.Old Assembly : IPA.Loader.dll Syntax [Obsolete(\"When building plugins for Beat Saber, use IBeatSaberPlugin\")] public interface IPlugin Properties | Improve this Doc View Source Name Gets the name of the plugin. Declaration string Name { get; } Property Value Type Description String | Improve this Doc View Source Version Gets the version of the plugin. Declaration string Version { get; } Property Value Type Description String Methods | Improve this Doc View Source OnApplicationQuit() Gets invoked when the application is closed. Declaration void OnApplicationQuit() | Improve this Doc View Source OnApplicationStart() Gets invoked when the application is started. Declaration void OnApplicationStart() | Improve this Doc View Source OnFixedUpdate() Gets invoked on ever physics update. Declaration void OnFixedUpdate() | Improve this Doc View Source OnLevelWasInitialized(Int32) Gets invoked after the first update cycle after a level was loaded. Declaration void OnLevelWasInitialized(int level) Parameters Type Name Description Int32 level | Improve this Doc View Source OnLevelWasLoaded(Int32) Gets invoked whenever a level is loaded. Declaration void OnLevelWasLoaded(int level) Parameters Type Name Description Int32 level | Improve this Doc View Source OnUpdate() Gets invoked on every graphic update. Declaration void OnUpdate() Extension Methods ReflectionUtil.SetField(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.Old.IEnhancedPlugin.html": { - "href": "api/IPA.Old.IEnhancedPlugin.html", - "title": "Interface IEnhancedPlugin", - "keywords": "Interface IEnhancedPlugin An enhanced version of the standard IPA plugin. Inherited Members IPlugin.Name IPlugin.Version IPlugin.OnApplicationStart() IPlugin.OnApplicationQuit() IPlugin.OnLevelWasLoaded(Int32) IPlugin.OnLevelWasInitialized(Int32) IPlugin.OnUpdate() IPlugin.OnFixedUpdate() Namespace : IPA.Old Assembly : IPA.Loader.dll Syntax [Obsolete(\"When building plugins for Beat Saber, use IPA.IEnhancedPlugin\")] public interface IEnhancedPlugin : IPlugin Properties | Improve this Doc View Source Filter Gets a list of executables this plugin should be executed on (without the file ending) Declaration string[] Filter { get; } Property Value Type Description String [] Examples { \"PlayClub\", \"PlayClubStudio\" } Methods | Improve this Doc View Source OnLateUpdate() Called after Update. Declaration void OnLateUpdate() Extension Methods ReflectionUtil.SetField(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.GZFilePrinter.html": { - "href": "api/IPA.Logging.Printers.GZFilePrinter.html", - "title": "Class GZFilePrinter", - "keywords": "Class GZFilePrinter A LogPrinter abstract class that provides the utilities to write to a GZip file. Inheritance Object LogPrinter GZFilePrinter GlobalLogFilePrinter PluginLogFilePrinter PluginSubLogPrinter Implements IDisposable Inherited Members LogPrinter.Filter LogPrinter.Print(Logger.Level, DateTime, String, String) Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Logging.Printers Assembly : IPA.Loader.dll Syntax public abstract class GZFilePrinter : LogPrinter, IDisposable Fields | Improve this Doc View Source FileWriter The StreamWriter that writes to the GZip file. Declaration protected StreamWriter FileWriter Field Value Type Description StreamWriter the writer to the underlying filestream Methods | Improve this Doc View Source Dispose() Declaration public void Dispose() | Improve this Doc View Source Dispose(Boolean) Disposes the file printer. Declaration protected virtual void Dispose(bool disposing) Parameters Type Name Description Boolean disposing does nothing | Improve this Doc View Source EndPrint() Called at the end of any print session. Declaration public override sealed void EndPrint() Overrides LogPrinter.EndPrint() | Improve this Doc View Source GetFileInfo() Gets the FileInfo for the file to write to. Declaration protected abstract FileInfo GetFileInfo() Returns Type Description FileInfo the file to write to | Improve this Doc View Source StartPrint() Called at the start of any print session. Declaration public override sealed void StartPrint() Overrides LogPrinter.StartPrint() Implements System.IDisposable Extension Methods ReflectionUtil.SetField(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.GlobalLogFilePrinter.html": { "href": "api/IPA.Logging.Printers.GlobalLogFilePrinter.html", "title": "Class GlobalLogFilePrinter", - "keywords": "Class GlobalLogFilePrinter A printer for all messages to a unified log location. Inheritance Object LogPrinter GZFilePrinter GlobalLogFilePrinter Implements IDisposable Inherited Members GZFilePrinter.FileWriter GZFilePrinter.StartPrint() GZFilePrinter.EndPrint() GZFilePrinter.Dispose() GZFilePrinter.Dispose(Boolean) Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Logging.Printers Assembly : IPA.Loader.dll Syntax public class GlobalLogFilePrinter : GZFilePrinter, IDisposable Properties | Improve this Doc View Source Filter Provides a filter for this specific printer. Declaration public override Logger.LogLevel Filter { get; set; } Property Value Type Description Logger.LogLevel the filter level for this printer Overrides LogPrinter.Filter Methods | Improve this Doc View Source GetFileInfo() Gets the FileInfo for the target file. Declaration protected override FileInfo GetFileInfo() Returns Type Description FileInfo the target file to write to Overrides GZFilePrinter.GetFileInfo() | Improve this Doc View Source Print(Logger.Level, DateTime, String, String) Prints an entry to the associated file. Declaration public override void Print(Logger.Level level, DateTime time, string logName, string message) Parameters Type Name Description Logger.Level level the Logger.Level of the message DateTime time the DateTime the message was recorded at String logName the name of the log that sent the message String message the message to print Overrides LogPrinter.Print(Logger.Level, DateTime, String, String) Implements System.IDisposable Extension Methods ReflectionUtil.SetField(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[])" + "keywords": "Class GlobalLogFilePrinter A printer for all messages to a unified log location. Inheritance Object LogPrinter GZFilePrinter GlobalLogFilePrinter Implements IDisposable Inherited Members GZFilePrinter.FileWriter GZFilePrinter.StartPrint() GZFilePrinter.EndPrint() GZFilePrinter.Dispose() GZFilePrinter.Dispose(Boolean) Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Logging.Printers Assembly : IPA.Loader.dll Syntax public class GlobalLogFilePrinter : GZFilePrinter, IDisposable Properties | Improve this Doc View Source Filter Provides a filter for this specific printer. Declaration public override Logger.LogLevel Filter { get; set; } Property Value Type Description Logger.LogLevel the filter level for this printer Overrides LogPrinter.Filter Methods | Improve this Doc View Source GetFileInfo() Gets the FileInfo for the target file. Declaration protected override FileInfo GetFileInfo() Returns Type Description FileInfo the target file to write to Overrides GZFilePrinter.GetFileInfo() | Improve this Doc View Source Print(Logger.Level, DateTime, String, String) Prints an entry to the associated file. Declaration public override void Print(Logger.Level level, DateTime time, string logName, string message) Parameters Type Name Description Logger.Level level the Logger.Level of the message DateTime time the DateTime the message was recorded at String logName the name of the log that sent the message String message the message to print Overrides LogPrinter.Print(Logger.Level, DateTime, String, String) Implements System.IDisposable Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, 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[])" + "keywords": "Class ColorlessConsolePrinter A colorless version of ColoredConsolePrinter , that indiscriminantly prints to standard out. Inheritance Object LogPrinter ColorlessConsolePrinter Inherited Members LogPrinter.StartPrint() LogPrinter.EndPrint() Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Logging.Printers Assembly : IPA.Loader.dll Syntax public class ColorlessConsolePrinter : LogPrinter Properties | Improve this Doc View Source Filter A filter for this specific printer. Declaration public override Logger.LogLevel Filter { get; set; } Property Value Type Description Logger.LogLevel the filter level for this printer Overrides LogPrinter.Filter Methods | Improve this Doc View Source Print(Logger.Level, DateTime, String, String) Prints an entry to standard out. Declaration public override void Print(Logger.Level level, DateTime time, string logName, string message) Parameters Type Name Description Logger.Level level the Logger.Level of the message DateTime time the DateTime the message was recorded at String logName the name of the log that sent the message String message the message to print Overrides LogPrinter.Print(Logger.Level, DateTime, String, String) Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" }, "api/IPA.Logging.Logger.LogLevel.html": { "href": "api/IPA.Logging.Logger.LogLevel.html", "title": "Enum Logger.LogLevel", - "keywords": "Enum Logger.LogLevel An enum providing log level filters. Namespace : IPA.Logging Assembly : IPA.Loader.dll Syntax [Flags] public enum LogLevel : byte Fields Name Description All Shows all messages. CriticalOnly Only shows Critical messages. DebugOnly Only shows Debug messages. DebugUp Shows all messages debug and up. ErrorOnly Only shows Error messages. ErrorUp Shows all messages error and up. InfoOnly Only shows info messages. InfoUp Shows all messages info and up. None Allow no messages through. NoticeOnly Only shows notice messages. NoticeUp Shows all messages Notice and up. TraceOnly Only shows Trace messages. Undefined Used for when the level is undefined. WarningOnly Only shows Warning messages. WarningUp Shows all messages warning and up. 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[])" + "keywords": "Enum Logger.LogLevel An enum providing log level filters. Namespace : IPA.Logging Assembly : IPA.Loader.dll Syntax [Flags] public enum LogLevel : byte Fields Name Description All Shows all messages. CriticalOnly Only shows Critical messages. DebugOnly Only shows Debug messages. DebugUp Shows all messages debug and up. ErrorOnly Only shows Error messages. ErrorUp Shows all messages error and up. InfoOnly Only shows info messages. InfoUp Shows all messages info and up. None Allow no messages through. NoticeOnly Only shows notice messages. NoticeUp Shows all messages Notice and up. TraceOnly Only shows Trace messages. Undefined Used for when the level is undefined. WarningOnly Only shows Warning messages. WarningUp Shows all messages warning and up. Extension Methods ReflectionUtil.SetField(String, U) ReflectionUtil.GetField(String) ReflectionUtil.SetProperty(String, U) ReflectionUtil.GetProperty(String) ReflectionUtil.InvokeMethod(String, Object[]) ReflectionUtil.InvokeMethod(String, Object[])" }, "api/IPA.Logging.Logger.Level.html": { "href": "api/IPA.Logging.Logger.Level.html", "title": "Enum Logger.Level", - "keywords": "Enum Logger.Level An enum specifying the level of the message. Resembles Syslog. Namespace : IPA.Logging Assembly : IPA.Loader.dll Syntax public enum Level : byte Fields Name Description Critical A critical error message. Debug A debug message. Error An error message. Info An informational message. None No associated level. These never get shown. Notice A notice. More significant than Info, but less than a warning. Trace A trace message. These are ignored incredibly early. Warning A warning message. Extension Methods ReflectionUtil.SetField(String, 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[])" + "keywords": "Enum Logger.Level An enum specifying the level of the message. Resembles Syslog. Namespace : IPA.Logging Assembly : IPA.Loader.dll Syntax public enum Level : byte Fields Name Description Critical A critical error message. Debug A debug message. Error An error message. Info An informational message. None No associated level. These never get shown. Notice A notice. More significant than Info, but less than a warning. Trace A trace message. These are ignored incredibly early. Warning A warning message. Extension Methods ReflectionUtil.SetField(String, U) ReflectionUtil.GetField(String) ReflectionUtil.SetProperty(String, U) ReflectionUtil.GetProperty(String) ReflectionUtil.InvokeMethod(String, Object[]) ReflectionUtil.InvokeMethod(String, Object[])" }, "api/IPA.Loader.html": { "href": "api/IPA.Loader.html", "title": "", "keywords": "Classes PluginInitInjector The type that handles value injecting into a plugin's initialization methods. PluginManager The manager class for all plugins. PluginMetadata A class which describes a loaded plugin. StateTransitionTransaction A class to represent a transaction for changing the state of loaded mods. Delegates PluginInitInjector.InjectParameter A typed injector for a plugin's Init method. When registered, called for all associated types. If it returns null, the default for the type will be used. PluginManager.PluginDisableDelegate An invoker for the PluginDisabled event. PluginManager.PluginEnableDelegate An invoker for the PluginEnabled event." }, - "api/IPA.Loader.StateTransitionTransaction.html": { - "href": "api/IPA.Loader.StateTransitionTransaction.html", - "title": "Class StateTransitionTransaction", - "keywords": "Class StateTransitionTransaction A class to represent a transaction for changing the state of loaded mods. Inheritance Object StateTransitionTransaction Implements IDisposable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Loader Assembly : IPA.Loader.dll Syntax public sealed class StateTransitionTransaction : IDisposable Properties | Improve this Doc View Source DisabledPlugins Gets a list of plugins that are disabled according to this transaction's current state. Declaration public IEnumerable DisabledPlugins { get; } Property Value Type Description IEnumerable < PluginMetadata > | Improve this Doc View Source EnabledPlugins Gets a list of plugins that are enabled according to this transaction's current state. Declaration public IEnumerable EnabledPlugins { get; } Property Value Type Description IEnumerable < PluginMetadata > | Improve this Doc View Source WillNeedRestart Gets whether or not a game restart will be necessary to fully apply this transaction. Declaration public bool WillNeedRestart { get; } Property Value Type Description Boolean true if any mod who's state is changed cannot be changed at runtime, false otherwise Methods | Improve this Doc View Source Commit() Commits this transaction to actual state, enabling and disabling plugins as necessary. Declaration public Task Commit() Returns Type Description Task a Task which completes whenever all disables complete | Improve this Doc View Source Disable(PluginMetadata) Disables a plugin in this transaction. Declaration public bool Disable(PluginMetadata meta) Parameters Type Name Description PluginMetadata meta the plugin to disable Returns Type Description Boolean true if the transaction's state was changed, false otherwise | Improve this Doc View Source Dispose() Disposes and discards this transaction without committing it. Declaration public void Dispose() | Improve this Doc View Source Enable(PluginMetadata) Enables a plugin in this transaction. Declaration public bool Enable(PluginMetadata meta) Parameters Type Name Description PluginMetadata meta the plugin to enable Returns Type Description Boolean true if the transaction's state was changed, false otherwise | Improve this Doc View Source IsDisabled(PluginMetadata) Checks if a plugin is disabled according to this transaction's current state. Declaration public bool IsDisabled(PluginMetadata meta) Parameters Type Name Description PluginMetadata meta the plugin to check Returns Type Description Boolean true if the plugin is disabled, false otherwise Remarks This should be roughly equivalent to DisabledPlugins.Contains(meta) , but more performant. This should also always return the inverse of IsEnabled(PluginMetadata) for valid plugins. See Also DisabledPlugins | Improve this Doc View Source IsEnabled(PluginMetadata) Checks if a plugin is enabled according to this transaction's current state. Declaration public bool IsEnabled(PluginMetadata meta) Parameters Type Name Description PluginMetadata meta the plugin to check Returns Type Description Boolean true if the plugin is enabled, false otherwise Remarks This should be roughly equivalent to EnabledPlugins.Contains(meta) , but more performant. This should also always return the inverse of IsDisabled(PluginMetadata) for valid plugins. See Also EnabledPlugins 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.Config.Stores.GeneratedExtension.html": { + "href": "api/IPA.Config.Stores.GeneratedExtension.html", + "title": "Class GeneratedExtension", + "keywords": "Class GeneratedExtension A class providing an extension for Config to make it easy to use generated config stores. Inheritance Object GeneratedExtension Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores Assembly : IPA.Loader.dll Syntax public static class GeneratedExtension Fields | Improve this Doc View Source AssemblyVisibilityTarget The name of the assembly that internals must be visible to to allow internal protection. Declaration public const string AssemblyVisibilityTarget = \"IPA.Config.Generated\" Field Value Type Description String Methods | Improve this Doc View Source Generated(Config, Boolean) Creates a generated IConfigStore of type T , registers it to the Config object, and returns it. This also forces a synchronous config load via LoadSync() if loadSync is true . Declaration public static T Generated(this Config cfg, bool loadSync = true) where T : class Parameters Type Name Description Config cfg the Config to register to Boolean loadSync whether to synchronously load the content, or trigger an async load Returns Type Description T a generated instance of T as a special IConfigStore Type Parameters Name Description T the type to wrap Remarks T must be a public non- sealed class. It can also be internal, but in that case, then your assembly must have the following attribute to allow the generated code to reference it. [assembly: InternalsVisibleTo(IPA.Config.Stores.GeneratedExtension.AssemblyVisibilityTarget)] Only fields and properties that are public or protected will be considered, and only properties where both the getter and setter are public or protected are considered. Any fields or properties with an IgnoreAttribute applied to them are also ignored. Having properties be virtual is not strictly necessary, however it allows the generated type to keep track of changes and lock around them so that the config will auto-save. All of the attributes in the IPA.Config.Stores.Attributes namespace are handled as described by them. If the T declares a public or protected, virtual method Changed() , then that method may be called to artificially signal to the runtime that the content of the object has changed. That method will also be called after the write locks are released when a property is set anywhere in the owning tree. This will only be called on the outermost generated object of the config structure, even if the change being signaled is somewhere deep into the tree. TODO: is this a good idea? Similarly, T can declare a public or protected, virtual method OnReload() , which will be called on the filesystem reader thread after the object has been repopulated with new data values. It will be called after the write lock for this object is released. This will only be called on the outermost generated object of the config structure. Similarly, T can declare a public or protected, virtual method CopyFrom(ConfigType) (the first parameter is the type it is defined on), which may be called to copy the properties from another object of its type easily, and more importantly, as only one change. Its body will be executed after the values have been copied. TODO: describe details of generated stores" }, - "api/IPA.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.Config.Stores.Converters.ISetConverter-1.html": { + "href": "api/IPA.Config.Stores.Converters.ISetConverter-1.html", + "title": "Class ISetConverter", + "keywords": "Class ISetConverter A CollectionConverter for an ISet , creating a HashSet when deserializing. Inheritance Object ValueConverter < ISet > CollectionConverter > ISetConverter ISetConverter Implements IValueConverter Inherited Members CollectionConverter>.BaseConverter CollectionConverter>.Create(Int32, Object) CollectionConverter>.PopulateFromValue(ISet, List, Object) CollectionConverter>.FromValue(Value, Object) CollectionConverter>.ToValue(ISet, Object) ValueConverter>.ToValue(ISet, Object) ValueConverter>.FromValue(Value, Object) ValueConverter>.IValueConverter.ToValue(Object, Object) ValueConverter>.IValueConverter.FromValue(Value, Object) ValueConverter>.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public class ISetConverter : CollectionConverter>, IValueConverter Type Parameters Name Description T the element type of the ISet Constructors | Improve this Doc View Source ISetConverter() Creates an ISetConverter using the default converter for T . Declaration public ISetConverter() See Also CollectionConverter() | Improve this Doc View Source ISetConverter(ValueConverter) Creates an ISetConverter using the specified underlying converter for values. Declaration public ISetConverter(ValueConverter underlying) Parameters Type Name Description ValueConverter underlying the underlying ValueConverter to use for the values Methods | Improve this Doc View Source Create(Int32, Object) Creates a new ISet (a HashSet ) for deserialization. Declaration protected override ISet Create(int size, object parent) Parameters Type Name Description Int32 size the size to initialize it to Object parent the object that will own the new object Returns Type Description ISet the new ISet Overrides IPA.Config.Stores.Converters.CollectionConverter>.Create(System.Int32, System.Object) Implements IValueConverter Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also CollectionConverter " }, "api/IPA.Config.Stores.Converters.IListConverter-2.html": { "href": "api/IPA.Config.Stores.Converters.IListConverter-2.html", "title": "Class IListConverter", - "keywords": "Class IListConverter An IListConverter which default constructs a converter for use as the value converter. Inheritance Object ValueConverter < IList > CollectionConverter > IListConverter IListConverter Implements IValueConverter Inherited Members IListConverter.Create(Int32, Object) CollectionConverter>.BaseConverter CollectionConverter>.Create(Int32, Object) CollectionConverter>.PopulateFromValue(IList, List, Object) CollectionConverter>.FromValue(Value, Object) CollectionConverter>.ToValue(IList, Object) ValueConverter>.ToValue(IList, Object) ValueConverter>.FromValue(Value, Object) ValueConverter>.IValueConverter.ToValue(Object, Object) ValueConverter>.IValueConverter.FromValue(Value, Object) ValueConverter>.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public sealed class IListConverter : IListConverter, IValueConverter where TConverter : ValueConverter, new() Type Parameters Name Description T the value type of the collection TConverter the type of the converter to use for T Constructors | Improve this Doc View Source IListConverter() Creates an IListConverter using a default constructed TConverter element type. Equivalent to calling IListConverter(ValueConverter) with a default-constructed TConverter . Declaration public IListConverter() See Also IListConverter(ValueConverter) Implements IValueConverter Extension Methods ReflectionUtil.SetField(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 IListConverter " + "keywords": "Class IListConverter An IListConverter which default constructs a converter for use as the value converter. Inheritance Object ValueConverter < IList > CollectionConverter > IListConverter IListConverter Implements IValueConverter Inherited Members IListConverter.Create(Int32, Object) CollectionConverter>.BaseConverter CollectionConverter>.Create(Int32, Object) CollectionConverter>.PopulateFromValue(IList, List, Object) CollectionConverter>.FromValue(Value, Object) CollectionConverter>.ToValue(IList, Object) ValueConverter>.ToValue(IList, Object) ValueConverter>.FromValue(Value, Object) ValueConverter>.IValueConverter.ToValue(Object, Object) ValueConverter>.IValueConverter.FromValue(Value, Object) ValueConverter>.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public sealed class IListConverter : IListConverter, IValueConverter where TConverter : ValueConverter, new() Type Parameters Name Description T the value type of the collection TConverter the type of the converter to use for T Constructors | Improve this Doc View Source IListConverter() Creates an IListConverter using a default constructed TConverter element type. Equivalent to calling IListConverter(ValueConverter) with a default-constructed TConverter . Declaration public IListConverter() See Also IListConverter(ValueConverter) Implements IValueConverter Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also IListConverter " }, "api/IPA.Config.Stores.Converters.Converter.html": { "href": "api/IPA.Config.Stores.Converters.Converter.html", @@ -424,134 +554,29 @@ "title": "Class Converter", "keywords": "Class Converter Provides generic utilities for converters for certain types. Inheritance Object Converter Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public static class Converter Type Parameters Name Description T the type of the ValueConverter that this works on Properties | Improve this Doc View Source Default Gets the default ValueConverter for the current type. Declaration public static ValueConverter Default { get; } Property Value Type Description ValueConverter " }, - "api/IPA.Config.Stores.Attributes.html": { - "href": "api/IPA.Config.Stores.Attributes.html", - "title": "", - "keywords": "Classes IgnoreAttribute Causes a field or property in an object being wrapped by Generated(Config, Boolean) to be ignored during serialization and deserialization. NonNullableAttribute Indicates that a field or property in an object being wrapped by Generated(Config, Boolean) that would otherwise be nullable (i.e. a reference type or a Nullable type) should never be null, and the member will be ignored if the deserialized value is null . SerializedNameAttribute Specifies a name for the serialized field or property in an object being wrapped by Generated(Config, Boolean) that is different from the member name itself. UseConverterAttribute Indicates that a given field or property in an object being wrapped by Generated(Config, Boolean) should be serialized and deserialized using the provided converter instead of the default mechanism." - }, - "api/IPA.Config.Stores.Attributes.UseConverterAttribute.html": { - "href": "api/IPA.Config.Stores.Attributes.UseConverterAttribute.html", - "title": "Class UseConverterAttribute", - "keywords": "Class UseConverterAttribute Indicates that a given field or property in an object being wrapped by Generated(Config, Boolean) should be serialized and deserialized using the provided converter instead of the default mechanism. Inheritance Object Attribute UseConverterAttribute Implements _Attribute Inherited Members Attribute.GetCustomAttributes(MemberInfo, Type) Attribute.GetCustomAttributes(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(MemberInfo) Attribute.GetCustomAttributes(MemberInfo, Boolean) Attribute.IsDefined(MemberInfo, Type) Attribute.IsDefined(MemberInfo, Type, Boolean) Attribute.GetCustomAttribute(MemberInfo, Type) Attribute.GetCustomAttribute(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo) Attribute.GetCustomAttributes(ParameterInfo, Type) Attribute.GetCustomAttributes(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo, Boolean) Attribute.IsDefined(ParameterInfo, Type) Attribute.IsDefined(ParameterInfo, Type, Boolean) Attribute.GetCustomAttribute(ParameterInfo, Type) Attribute.GetCustomAttribute(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(Module, Type) Attribute.GetCustomAttributes(Module) Attribute.GetCustomAttributes(Module, Boolean) Attribute.GetCustomAttributes(Module, Type, Boolean) Attribute.IsDefined(Module, Type) Attribute.IsDefined(Module, Type, Boolean) Attribute.GetCustomAttribute(Module, Type) Attribute.GetCustomAttribute(Module, Type, Boolean) Attribute.GetCustomAttributes(Assembly, Type) Attribute.GetCustomAttributes(Assembly, Type, Boolean) Attribute.GetCustomAttributes(Assembly) Attribute.GetCustomAttributes(Assembly, Boolean) Attribute.IsDefined(Assembly, Type) Attribute.IsDefined(Assembly, Type, Boolean) Attribute.GetCustomAttribute(Assembly, Type) Attribute.GetCustomAttribute(Assembly, Type, Boolean) Attribute.Equals(Object) Attribute.GetHashCode() Attribute.Match(Object) Attribute.IsDefaultAttribute() Attribute._Attribute.GetTypeInfoCount(UInt32) Attribute._Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) Attribute._Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) Attribute._Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) Attribute.TypeId Object.ToString() Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Attributes Assembly : IPA.Loader.dll Syntax [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false, Inherited = true)] public sealed class UseConverterAttribute : Attribute, _Attribute Constructors | Improve this Doc View Source UseConverterAttribute(Type) Creates a new UseConverterAttribute with a given ConverterType . Declaration public UseConverterAttribute(Type converterType) Parameters Type Name Description Type converterType the type to assign to ConverterType Properties | Improve this Doc View Source ConverterTargetType Gets the target type of the converter if it is avaliable at instantiation time, otherwise null . Declaration public Type ConverterTargetType { get; } Property Value Type Description Type | Improve this Doc View Source ConverterType Gets the type of the converter to use. Declaration public Type ConverterType { get; } Property Value Type Description Type | Improve this Doc View Source IsGenericConverter Gets whether or not this converter is a generic ValueConverter . Declaration public bool IsGenericConverter { get; } Property Value Type Description Boolean Implements System.Runtime.InteropServices._Attribute Extension Methods ReflectionUtil.SetField(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.Attributes.IgnoreAttribute.html": { "href": "api/IPA.Config.Stores.Attributes.IgnoreAttribute.html", "title": "Class IgnoreAttribute", - "keywords": "Class IgnoreAttribute Causes a field or property in an object being wrapped by Generated(Config, Boolean) to be ignored during serialization and deserialization. Inheritance Object Attribute IgnoreAttribute 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 IgnoreAttribute : 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[])" + "keywords": "Class IgnoreAttribute Causes a field or property in an object being wrapped by Generated(Config, Boolean) to be ignored during serialization and deserialization. Inheritance Object Attribute IgnoreAttribute 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 IgnoreAttribute : Attribute, _Attribute Implements System.Runtime.InteropServices._Attribute Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" }, "api/IPA.Config.ModPrefs.html": { "href": "api/IPA.Config.ModPrefs.html", "title": "Class ModPrefs", - "keywords": "Class ModPrefs Allows to get and set preferences for your mod. Inheritance Object ModPrefs Implements IModPrefs Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config Assembly : IPA.Loader.dll Syntax [Obsolete(\"Uses IniFile, which uses 16 bit system calls. Use BS Utils INI system for now.\")] public class ModPrefs : IModPrefs Constructors | Improve this Doc View Source ModPrefs(PluginMetadata) Constructs a ModPrefs object for the provide plugin. Declaration public ModPrefs(PluginMetadata plugin) Parameters Type Name Description PluginMetadata plugin the plugin to get the preferences file for Methods | Improve this Doc View Source GetBool(String, String, Boolean, Boolean) Gets a bool from the ini. Declaration public static 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 public static 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 public static 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 public static 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 public static 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 public static 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 public static 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 public static 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 public static 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. Explicit Interface Implementations | Improve this Doc View Source IModPrefs.GetBool(String, String, Boolean, Boolean) Declaration bool IModPrefs.GetBool(string section, string name, bool defaultValue, bool autoSave) Parameters Type Name Description String section String name Boolean defaultValue Boolean autoSave Returns Type Description Boolean | Improve this Doc View Source IModPrefs.GetFloat(String, String, Single, Boolean) Declaration float IModPrefs.GetFloat(string section, string name, float defaultValue, bool autoSave) Parameters Type Name Description String section String name Single defaultValue Boolean autoSave Returns Type Description Single | Improve this Doc View Source IModPrefs.GetInt(String, String, Int32, Boolean) Declaration int IModPrefs.GetInt(string section, string name, int defaultValue, bool autoSave) Parameters Type Name Description String section String name Int32 defaultValue Boolean autoSave Returns Type Description Int32 | Improve this Doc View Source IModPrefs.GetString(String, String, String, Boolean) Declaration string IModPrefs.GetString(string section, string name, string defaultValue, bool autoSave) Parameters Type Name Description String section String name String defaultValue Boolean autoSave Returns Type Description String | Improve this Doc View Source IModPrefs.HasKey(String, String) Declaration bool IModPrefs.HasKey(string section, string name) Parameters Type Name Description String section String name Returns Type Description Boolean | Improve this Doc View Source IModPrefs.SetBool(String, String, Boolean) Declaration void IModPrefs.SetBool(string section, string name, bool value) Parameters Type Name Description String section String name Boolean value | Improve this Doc View Source IModPrefs.SetFloat(String, String, Single) Declaration void IModPrefs.SetFloat(string section, string name, float value) Parameters Type Name Description String section String name Single value | Improve this Doc View Source IModPrefs.SetInt(String, String, Int32) Declaration void IModPrefs.SetInt(string section, string name, int value) Parameters Type Name Description String section String name Int32 value | Improve this Doc View Source IModPrefs.SetString(String, String, String) Declaration void IModPrefs.SetString(string section, string name, string value) Parameters Type Name Description String section String name String value Implements IModPrefs 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[])" + "keywords": "Class ModPrefs Allows to get and set preferences for your mod. Inheritance Object ModPrefs Implements IModPrefs Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config Assembly : IPA.Loader.dll Syntax [Obsolete(\"Uses IniFile, which uses 16 bit system calls. Use BS Utils INI system for now.\")] public class ModPrefs : IModPrefs Constructors | Improve this Doc View Source ModPrefs(PluginMetadata) Constructs a ModPrefs object for the provide plugin. Declaration public ModPrefs(PluginMetadata plugin) Parameters Type Name Description PluginMetadata plugin the plugin to get the preferences file for Methods | Improve this Doc View Source GetBool(String, String, Boolean, Boolean) Gets a bool from the ini. Declaration public static 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 public static 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 public static 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 public static 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 public static 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 public static 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 public static 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 public static 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 public static 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. Explicit Interface Implementations | Improve this Doc View Source IModPrefs.GetBool(String, String, Boolean, Boolean) Declaration bool IModPrefs.GetBool(string section, string name, bool defaultValue, bool autoSave) Parameters Type Name Description String section String name Boolean defaultValue Boolean autoSave Returns Type Description Boolean | Improve this Doc View Source IModPrefs.GetFloat(String, String, Single, Boolean) Declaration float IModPrefs.GetFloat(string section, string name, float defaultValue, bool autoSave) Parameters Type Name Description String section String name Single defaultValue Boolean autoSave Returns Type Description Single | Improve this Doc View Source IModPrefs.GetInt(String, String, Int32, Boolean) Declaration int IModPrefs.GetInt(string section, string name, int defaultValue, bool autoSave) Parameters Type Name Description String section String name Int32 defaultValue Boolean autoSave Returns Type Description Int32 | Improve this Doc View Source IModPrefs.GetString(String, String, String, Boolean) Declaration string IModPrefs.GetString(string section, string name, string defaultValue, bool autoSave) Parameters Type Name Description String section String name String defaultValue Boolean autoSave Returns Type Description String | Improve this Doc View Source IModPrefs.HasKey(String, String) Declaration bool IModPrefs.HasKey(string section, string name) Parameters Type Name Description String section String name Returns Type Description Boolean | Improve this Doc View Source IModPrefs.SetBool(String, String, Boolean) Declaration void IModPrefs.SetBool(string section, string name, bool value) Parameters Type Name Description String section String name Boolean value | Improve this Doc View Source IModPrefs.SetFloat(String, String, Single) Declaration void IModPrefs.SetFloat(string section, string name, float value) Parameters Type Name Description String section String name Single value | Improve this Doc View Source IModPrefs.SetInt(String, String, Int32) Declaration void IModPrefs.SetInt(string section, string name, int value) Parameters Type Name Description String section String name Int32 value | Improve this Doc View Source IModPrefs.SetString(String, String, String) Declaration void IModPrefs.SetString(string section, string name, string value) Parameters Type Name Description String section String name String value Implements IModPrefs Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" }, "api/IPA.Config.IConfigProvider.html": { "href": "api/IPA.Config.IConfigProvider.html", "title": "Interface IConfigProvider", - "keywords": "Interface IConfigProvider An interface for configuration providers. Namespace : IPA.Config Assembly : IPA.Loader.dll Syntax public interface IConfigProvider Remarks Implementers must provide a default constructor. Do not assume that File will ever be set for a given object. Implementers are expected to preserve the typing of values passed to Store(Value, FileInfo) when returned from Load(FileInfo) . The only exceptions to this are the numeric types, Integer and FloatingPoint , since they can be coerced to each other with AsFloat() and AsInteger() respectively. The provider should however store and recover Integer with as much precision as is possible. For example, a JSON provider may decide to decode all numbers that have an integral value, even if they were originally FloatingPoint , as Integer . This is reasonable, as Integer is more precise, particularly with larger values, than FloatingPoint . Properties | Improve this Doc View Source Extension Gets the extension without a dot to use for files handled by this provider. Declaration string Extension { get; } Property Value Type Description String Remarks This must work immediately, and is used to generate the FileInfo used to set File . Methods | Improve this Doc View Source Load(FileInfo) Loads a Value from disk in whatever format this provider provides and returns it. Declaration Value Load(FileInfo file) Parameters Type Name Description FileInfo file the file to read from Returns Type Description Value the Value loaded | Improve this Doc View Source Store(Value, FileInfo) Stores the Value given to disk in the format specified. Declaration void Store(Value value, FileInfo file) Parameters Type Name Description Value value the Value to store FileInfo file the file to write to 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.Utilities.UnityGame.html": { - "href": "api/IPA.Utilities.UnityGame.html", - "title": "Class UnityGame", - "keywords": "Class UnityGame Provides some basic utility methods and properties of Beat Saber Inheritance Object UnityGame Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Utilities Assembly : IPA.Loader.dll Syntax public static class UnityGame Properties | Improve this Doc View Source GameVersion Provides the current game version. Declaration public static AlmostVersion GameVersion { get; } Property Value Type Description AlmostVersion the SemVer version of the game | Improve this Doc View Source InstallPath Gets the path to the Beat Saber install directory. Declaration public static string InstallPath { get; } Property Value Type Description String the path of the game install directory | Improve this Doc View Source LibraryPath The path to the Libs folder. Use only if necessary. Declaration public static string LibraryPath { get; } Property Value Type Description String the path to the library directory | Improve this Doc View Source NativeLibraryPath The path to the Libs\\Native folder. Use only if necessary. Declaration public static string NativeLibraryPath { get; } Property Value Type Description String the path to the native library directory | Improve this Doc View Source PluginsPath The directory to load plugins from. Declaration public static string PluginsPath { get; } Property Value Type Description String the path to the plugin directory | Improve this Doc View Source ReleaseType Gets the UnityGame.Release type of this installation of Beat Saber Declaration public static UnityGame.Release ReleaseType { get; } Property Value Type Description UnityGame.Release the type of release this is Remarks This only gives a | Improve this Doc View Source UserDataPath The path to the UserData folder. Declaration public static string UserDataPath { get; } Property Value Type Description String the path to the user data directory" - }, - "api/IPA.Utilities.UnityGame.Release.html": { - "href": "api/IPA.Utilities.UnityGame.Release.html", - "title": "Enum UnityGame.Release", - "keywords": "Enum UnityGame.Release The different types of releases of the game. Namespace : IPA.Utilities Assembly : IPA.Loader.dll Syntax public enum Release Fields Name Description Other Indicates a non-Steam 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.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 ExecuteSection() Creates an CriticalSection.AutoExecuteSection for automated management of an execute section. Declaration public static CriticalSection.AutoExecuteSection ExecuteSection() Returns Type Description CriticalSection.AutoExecuteSection the new CriticalSection.AutoExecuteSection that manages the section | Improve this Doc View Source ExitExecuteSection() Exits a critical execution section. Does not nest. Declaration public static void ExitExecuteSection()" - }, - "api/IPA.Utilities.CriticalSection.AutoExecuteSection.html": { - "href": "api/IPA.Utilities.CriticalSection.AutoExecuteSection.html", - "title": "Struct CriticalSection.AutoExecuteSection", - "keywords": "Struct CriticalSection.AutoExecuteSection A struct that allows using blocks to manage an execute section. Implements IDisposable Inherited Members ValueType.Equals(Object) ValueType.GetHashCode() ValueType.ToString() Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetType() Namespace : IPA.Utilities Assembly : IPA.Loader.dll Syntax public struct AutoExecuteSection : 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[])" - }, - "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.html": { - "href": "api/IPA.Utilities.Async.Synchronization.html", - "title": "Class Synchronization", - "keywords": "Class 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. Inheritance Object Synchronization Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Utilities.Async Assembly : IPA.Loader.dll Syntax public static class Synchronization Examples The canonical usage of all of the member functions is as follows, substituting Lock(Mutex) with whichever member you want to use, according to your lock type. using var _locker = Synchronization.Lock(mutex); Methods | Improve this Doc View Source Lock(Mutex) Creates a locker for a mutex. Declaration public static Synchronization.MutexLocker Lock(Mutex mut) Parameters Type Name Description Mutex mut the mutex to acquire Returns Type Description Synchronization.MutexLocker the locker to use with langword_csharp_using | Improve this Doc View Source Lock(Semaphore) Creates a locker for a semaphore. Declaration public static Synchronization.SemaphoreLocker Lock(Semaphore sem) Parameters Type Name Description Semaphore sem the semaphore to acquire Returns Type Description Synchronization.SemaphoreLocker the locker to use with langword_csharp_using | Improve this Doc View Source Lock(SemaphoreSlim) Creates a locker for a slim semaphore. Declaration public static Synchronization.SemaphoreSlimLocker Lock(SemaphoreSlim sem) Parameters Type Name Description SemaphoreSlim sem the slim semaphore to acquire Returns Type Description Synchronization.SemaphoreSlimLocker the locker to use with langword_csharp_using | Improve this Doc View Source LockAsync(SemaphoreSlim) Creates a locker for a slim semaphore asynchronously. Declaration public static Task LockAsync(SemaphoreSlim sem) Parameters Type Name Description SemaphoreSlim sem the slim semaphore to acquire async Returns Type Description Task < Synchronization.SemaphoreSlimAsyncLocker > the locker to use with langword_csharp_using | Improve this Doc View Source LockRead(ReaderWriterLockSlim) Creates a locker for a read lock on a ReaderWriterLockSlim . Declaration public static Synchronization.ReaderWriterLockSlimReadLocker LockRead(ReaderWriterLockSlim rwl) Parameters Type Name Description ReaderWriterLockSlim rwl the lock to acquire in read mode Returns Type Description Synchronization.ReaderWriterLockSlimReadLocker the locker to use with langword_csharp_using | Improve this Doc View Source LockReadUpgradable(ReaderWriterLockSlim) Creates a locker for an upgradable read lock on a ReaderWriterLockSlim . Declaration public static Synchronization.ReaderWriterLockSlimUpgradableReadLocker LockReadUpgradable(ReaderWriterLockSlim rwl) Parameters Type Name Description ReaderWriterLockSlim rwl the lock to acquire in upgradable read mode Returns Type Description Synchronization.ReaderWriterLockSlimUpgradableReadLocker the locker to use with langword_csharp_using | Improve this Doc View Source LockWrite(ReaderWriterLockSlim) Creates a locker for a write lock ReaderWriterLockSlim . Declaration public static Synchronization.ReaderWriterLockSlimWriteLocker LockWrite(ReaderWriterLockSlim rwl) Parameters Type Name Description ReaderWriterLockSlim rwl the lock to acquire in write mode Returns Type Description Synchronization.ReaderWriterLockSlimWriteLocker the locker to use with langword_csharp_using" - }, - "api/IPA.Utilities.Async.Synchronization.ReaderWriterLockSlimUpgradableReadLocker.html": { - "href": "api/IPA.Utilities.Async.Synchronization.ReaderWriterLockSlimUpgradableReadLocker.html", - "title": "Struct Synchronization.ReaderWriterLockSlimUpgradableReadLocker", - "keywords": "Struct Synchronization.ReaderWriterLockSlimUpgradableReadLocker A locker for an upgradable read lock on a ReaderWriterLockSlim that automatically releases when it is disposed. Create this with LockReadUpgradable(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 ReaderWriterLockSlimUpgradableReadLocker : IDisposable Methods | Improve this Doc View Source Upgrade() Creates a locker for a write lock on the ReaderWriterLockSlim associated with this locker, upgrading the current thread's lock. Declaration public Synchronization.ReaderWriterLockSlimWriteLocker Upgrade() Returns Type Description Synchronization.ReaderWriterLockSlimWriteLocker a locker for the new write lock See Also Synchronization 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 LockReadUpgradable(ReaderWriterLockSlim)" - }, - "api/IPA.Utilities.Async.Synchronization.ReaderWriterLockSlimReadLocker.html": { - "href": "api/IPA.Utilities.Async.Synchronization.ReaderWriterLockSlimReadLocker.html", - "title": "Struct Synchronization.ReaderWriterLockSlimReadLocker", - "keywords": "Struct Synchronization.ReaderWriterLockSlimReadLocker A locker for a read lock on a ReaderWriterLockSlim that automatically releases when it is disposed. Create this with LockRead(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 ReaderWriterLockSlimReadLocker : 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 LockRead(ReaderWriterLockSlim)" - }, - "api/IPA.Utilities.Async.Synchronization.MutexLocker.html": { - "href": "api/IPA.Utilities.Async.Synchronization.MutexLocker.html", - "title": "Struct Synchronization.MutexLocker", - "keywords": "Struct Synchronization.MutexLocker A locker for a Mutex that automatically releases when it is disposed. Create this with Lock(Mutex) . 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 MutexLocker : 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 Lock(Mutex)" - }, - "api/IPA.Utilities.Async.SingleThreadTaskScheduler.html": { - "href": "api/IPA.Utilities.Async.SingleThreadTaskScheduler.html", - "title": "Class SingleThreadTaskScheduler", - "keywords": "Class SingleThreadTaskScheduler A single-threaded task scheduler that runs all of its tasks on the same thread. Inheritance Object TaskScheduler SingleThreadTaskScheduler Implements IDisposable Inherited Members TaskScheduler.TryDequeue(Task) TaskScheduler.FromCurrentSynchronizationContext() TaskScheduler.TryExecuteTask(Task) TaskScheduler.MaximumConcurrencyLevel TaskScheduler.Default TaskScheduler.Current TaskScheduler.Id TaskScheduler.UnobservedTaskException Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Utilities.Async Assembly : IPA.Loader.dll Syntax public class SingleThreadTaskScheduler : TaskScheduler, IDisposable Properties | Improve this Doc View Source IsRunning Gets whether or not the underlying thread has been started. Declaration public bool IsRunning { get; } Property Value Type Description Boolean Exceptions Type Condition InvalidOperationException Thrown if this object has already been disposed. Methods | Improve this Doc View Source Dispose() Disposes this object. This puts the object into an unusable state. Declaration public void Dispose() | Improve this Doc View Source Dispose(Boolean) Disposes this object. Declaration protected virtual void Dispose(bool disposing) Parameters Type Name Description Boolean disposing whether or not to dispose managed objects | Improve this Doc View Source Exit() Terminates the runner thread, and waits for the currently running task to complete. Declaration public IEnumerable Exit() Returns Type Description IEnumerable < Task > an IEnumerable of Task s that did not execute Remarks After this method returns, this object has been disposed and is no longer in a valid state. Exceptions Type Condition InvalidOperationException Thrown if this object has already been disposed. | Improve this Doc View Source GetScheduledTasks() Throws a NotSupportedException . Declaration protected override IEnumerable GetScheduledTasks() Returns Type Description IEnumerable < Task > nothing Overrides TaskScheduler.GetScheduledTasks() Exceptions Type Condition NotSupportedException Always. | Improve this Doc View Source Join() Waits for the runner thread to complete all tasks in the queue, then exits. Declaration public void Join() Remarks After this method returns, this object has been disposed and is no longer in a valid state. Exceptions Type Condition InvalidOperationException Thrown if this object has already been disposed. | Improve this Doc View Source QueueTask(Task) Queues a given Task to this scheduler. The Task must> be scheduled for this TaskScheduler by the runtime. Declaration protected override void QueueTask(Task task) Parameters Type Name Description Task task the Task to queue Overrides TaskScheduler.QueueTask(Task) Exceptions Type Condition InvalidOperationException Thrown if this object has already been disposed. | Improve this Doc View Source Start() Starts the thread that executes tasks scheduled with this TaskScheduler Declaration public void Start() Exceptions Type Condition InvalidOperationException Thrown if this object has already been disposed. | Improve this Doc View Source TryExecuteTaskInline(Task, Boolean) Rejects any attempts to execute a task inline. Declaration protected override bool TryExecuteTaskInline(Task task, bool taskWasPreviouslyQueued) Parameters Type Name Description Task task the task to attempt to execute Boolean taskWasPreviouslyQueued whether the task was previously queued to this scheduler Returns Type Description Boolean false Overrides TaskScheduler.TryExecuteTaskInline(Task, Boolean) Remarks This task scheduler always runs its tasks on the thread that it manages, therefore it doesn't make sense to run it inline. Exceptions Type Condition InvalidOperationException Thrown if this object has already been disposed. 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.PluginAttribute.html": { - "href": "api/IPA.PluginAttribute.html", - "title": "Class PluginAttribute", - "keywords": "Class PluginAttribute Marks a class as being a BSIPA plugin. Inheritance Object Attribute PluginAttribute Implements _Attribute Inherited Members Attribute.GetCustomAttributes(MemberInfo, Type) Attribute.GetCustomAttributes(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(MemberInfo) Attribute.GetCustomAttributes(MemberInfo, Boolean) Attribute.IsDefined(MemberInfo, Type) Attribute.IsDefined(MemberInfo, Type, Boolean) Attribute.GetCustomAttribute(MemberInfo, Type) Attribute.GetCustomAttribute(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo) Attribute.GetCustomAttributes(ParameterInfo, Type) Attribute.GetCustomAttributes(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo, Boolean) Attribute.IsDefined(ParameterInfo, Type) Attribute.IsDefined(ParameterInfo, Type, Boolean) Attribute.GetCustomAttribute(ParameterInfo, Type) Attribute.GetCustomAttribute(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(Module, Type) Attribute.GetCustomAttributes(Module) Attribute.GetCustomAttributes(Module, Boolean) Attribute.GetCustomAttributes(Module, Type, Boolean) Attribute.IsDefined(Module, Type) Attribute.IsDefined(Module, Type, Boolean) Attribute.GetCustomAttribute(Module, Type) Attribute.GetCustomAttribute(Module, Type, Boolean) Attribute.GetCustomAttributes(Assembly, Type) Attribute.GetCustomAttributes(Assembly, Type, Boolean) Attribute.GetCustomAttributes(Assembly) Attribute.GetCustomAttributes(Assembly, Boolean) Attribute.IsDefined(Assembly, Type) Attribute.IsDefined(Assembly, Type, Boolean) Attribute.GetCustomAttribute(Assembly, Type) Attribute.GetCustomAttribute(Assembly, Type, Boolean) Attribute.Equals(Object) Attribute.GetHashCode() Attribute.Match(Object) Attribute.IsDefaultAttribute() Attribute._Attribute.GetTypeInfoCount(UInt32) Attribute._Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) Attribute._Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) Attribute._Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) Attribute.TypeId Object.ToString() Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetType() Object.MemberwiseClone() Namespace : IPA Assembly : IPA.Loader.dll Syntax [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)] public sealed class PluginAttribute : Attribute, _Attribute Constructors | Improve this Doc View Source PluginAttribute(RuntimeOptions) Initializes a PluginAttribute with the given RuntimeOptions to indicate the runtime capabilities of the plugin. Declaration public PluginAttribute(RuntimeOptions runtimeOptions) Parameters Type Name Description RuntimeOptions runtimeOptions the options to use for this plugin Properties | Improve this Doc View Source RuntimeOptions The RuntimeOptions passed into the constructor of this attribute. Declaration public RuntimeOptions RuntimeOptions { get; } Property Value Type Description RuntimeOptions Implements System.Runtime.InteropServices._Attribute Extension Methods ReflectionUtil.SetField(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 InitAttribute OnEnableAttribute OnDisableAttribute OnStartAttribute OnExitAttribute" - }, - "api/IPA.Logging.StandardLogger.html": { - "href": "api/IPA.Logging.StandardLogger.html", - "title": "Class StandardLogger", - "keywords": "Class StandardLogger The default (and standard) Logger implementation. Inheritance Object Logger StandardLogger Inherited Members Logger.LogFormat Logger.Log(Logger.Level, Exception) Logger.Trace(String) Logger.Trace(Exception) Logger.Debug(Exception) Logger.Info(String) Logger.Info(Exception) Logger.Notice(String) Logger.Notice(Exception) Logger.Warn(String) Logger.Warn(Exception) Logger.Error(String) Logger.Error(Exception) Logger.Critical(String) Logger.Critical(Exception) 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 class StandardLogger : Logger Remarks StandardLogger uses a multi-threaded approach to logging. All actual I/O is done on another thread, where all messaged are guaranteed to be logged in the order they appeared. It is up to the printers to format them. This logger supports child loggers. Use GetChildLogger(Logger, String) to safely get a child. The modification of printers on a parent are reflected down the chain. Properties | Improve this Doc View Source ConsoleWriter The TextWriter for writing directly to the console window, or stdout if no window open. Declaration public static TextWriter ConsoleWriter { get; } Property Value Type Description TextWriter a TextWriter for the current primary text output | Improve this Doc View Source PrintFilter All levels defined by this filter will be sent to loggers. All others will be ignored. Declaration public static Logger.LogLevel PrintFilter { get; } Property Value Type Description Logger.LogLevel the global filter level Methods | Improve this Doc View Source AddPrinter(LogPrinter) Adds a log printer to the logger. Declaration public void AddPrinter(LogPrinter printer) Parameters Type Name Description LogPrinter printer the printer to add | Improve this Doc View Source Debug(String) An override to Debug(String) which shows the method that called it. Declaration public override void Debug(string message) Parameters Type Name Description String message the message to log Overrides Logger.Debug(String) See Also Log ( Logger.Level , String ) | Improve this Doc View Source Log(Logger.Level, String) Logs a specific message at a given level. Declaration public override void Log(Logger.Level level, string message) Parameters Type Name Description Logger.Level level the message level String message the message to log Overrides Logger.Log(Logger.Level, String) Extension Methods LoggerExtensions.GetChildLogger(Logger, String) 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", - "title": "", - "keywords": "Classes GeneratedExtension A class providing an extension for Config to make it easy to use generated config stores. ValueConverter A strongly-typed IValueConverter . Interfaces IValueConverter The base interface for a value converter for use by objects generated by Generated(Config, Boolean) ." - }, - "api/IPA.Config.Stores.ValueConverter-1.html": { - "href": "api/IPA.Config.Stores.ValueConverter-1.html", - "title": "Class ValueConverter", - "keywords": "Class ValueConverter A strongly-typed IValueConverter . Inheritance Object ValueConverter CollectionConverter CustomObjectConverter NullableConverter AlmostVersionConverter Implements IValueConverter Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores Assembly : IPA.Loader.dll Syntax public abstract class ValueConverter : IValueConverter Type Parameters Name Description T the type of object to handle Methods | Improve this Doc View Source FromValue(Value, Object) Converts the given Value to the object type handled by this converter. Declaration public abstract T FromValue(Value value, object parent) Parameters Type Name Description Value value the Value to deserialize Object parent the object that will own the result Returns Type Description T the deserialized object See Also FromValue ( Value , Object ) | Improve this Doc View Source ToValue(T, Object) Converts the given object to a Value . Declaration public abstract Value ToValue(T obj, object parent) Parameters Type Name Description T obj the object to convert Object parent the owning object of obj Returns Type Description Value a representation of obj as a Value structure See Also ToValue ( Object , Object ) Explicit Interface Implementations | Improve this Doc View Source IValueConverter.FromValue(Value, Object) Declaration object IValueConverter.FromValue(Value value, object parent) Parameters Type Name Description Value value Object parent Returns Type Description Object | Improve this Doc View Source IValueConverter.ToValue(Object, Object) Declaration Value IValueConverter.ToValue(object obj, object parent) Parameters Type Name Description Object obj Object parent Returns Type Description Value | Improve this Doc View Source IValueConverter.Type Declaration Type IValueConverter.Type { get; } Returns Type Description Type Implements IValueConverter Extension Methods ReflectionUtil.SetField(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.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.Converters.CustomObjectConverter-1.html": { - "href": "api/IPA.Config.Stores.Converters.CustomObjectConverter-1.html", - "title": "Class CustomObjectConverter", - "keywords": "Class CustomObjectConverter A ValueConverter for objects normally serialized to config via Generated(Config, Boolean) . Inheritance Object ValueConverter CustomObjectConverter Implements IValueConverter Inherited Members ValueConverter.IValueConverter.ToValue(Object, Object) ValueConverter.IValueConverter.FromValue(Value, Object) ValueConverter.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public class CustomObjectConverter : ValueConverter, IValueConverter where T : class Type Parameters Name Description T the same type parameter that would be passed into Generated(Config, Boolean) Methods | Improve this Doc View Source Deserialize(Value, Object) Deserializes value into a T with the given parent . Declaration public static T Deserialize(Value value, object parent) Parameters Type Name Description Value value the Value to deserialize Object parent the parent object that will own the deserialized value Returns Type Description T the deserialized value See Also FromValue ( Value , Object ) | Improve this Doc View Source FromValue(Value, Object) Deserializes value into a T with the given parent . Declaration public override T FromValue(Value value, object parent) Parameters Type Name Description Value value the Value to deserialize Object parent the parent object that will own the deserialized value Returns Type Description T the deserialized value Overrides IPA.Config.Stores.ValueConverter.FromValue(IPA.Config.Data.Value, System.Object) See Also FromValue ( Value , Object ) | Improve this Doc View Source Serialize(T, Object) Serializes obj into a Value structure, given parent . Declaration public static Value Serialize(T obj, object parent) Parameters Type Name Description T obj the object to serialize Object parent the parent object that owns obj Returns Type Description Value the Value tree that represents obj See Also ToValue (T, Object ) | Improve this Doc View Source ToValue(T, Object) Serializes obj into a Value structure, given parent . Declaration public override Value ToValue(T obj, object parent) Parameters Type Name Description T obj the object to serialize Object parent the parent object that owns obj Returns Type Description Value the Value tree that represents obj Overrides IPA.Config.Stores.ValueConverter.ToValue(T, System.Object) See Also ToValue (T, Object ) 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 Generated ( Config , Boolean )" - }, - "api/IPA.Config.Stores.Converters.CollectionConverter-3.html": { - "href": "api/IPA.Config.Stores.Converters.CollectionConverter-3.html", - "title": "Class CollectionConverter", - "keywords": "Class CollectionConverter A CollectionConverter which default constructs a converter for use as the value converter. Inheritance Object ValueConverter CollectionConverter CollectionConverter Implements IValueConverter Inherited Members CollectionConverter.BaseConverter CollectionConverter.Create(Int32, Object) CollectionConverter.PopulateFromValue(TCollection, List, Object) CollectionConverter.FromValue(Value, Object) CollectionConverter.ToValue(TCollection, Object) ValueConverter.ToValue(TCollection, Object) ValueConverter.FromValue(Value, Object) ValueConverter.IValueConverter.ToValue(Object, Object) ValueConverter.IValueConverter.FromValue(Value, Object) ValueConverter.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public sealed class CollectionConverter : CollectionConverter, IValueConverter where TCollection : ICollection where TConverter : ValueConverter, new() Type Parameters Name Description T the value type of the collection TCollection the type of the colleciton TConverter the type of the converter to use for T Constructors | Improve this Doc View Source CollectionConverter() Creates a CollectionConverter using a default constructed TConverter element type. Equivalent to calling CollectionConverter(ValueConverter) with a default-constructed TConverter . Declaration public CollectionConverter() See Also CollectionConverter(ValueConverter) 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 CollectionConverter " + "keywords": "Interface IConfigProvider An interface for configuration providers. Namespace : IPA.Config Assembly : IPA.Loader.dll Syntax public interface IConfigProvider Remarks Implementers must provide a default constructor. Do not assume that File will ever be set for a given object. Implementers are expected to preserve the typing of values passed to Store(Value, FileInfo) when returned from Load(FileInfo) . The only exceptions to this are the numeric types, Integer and FloatingPoint , since they can be coerced to each other with AsFloat() and AsInteger() respectively. The provider should however store and recover Integer with as much precision as is possible. For example, a JSON provider may decide to decode all numbers that have an integral value, even if they were originally FloatingPoint , as Integer . This is reasonable, as Integer is more precise, particularly with larger values, than FloatingPoint . Properties | Improve this Doc View Source Extension Gets the extension without a dot to use for files handled by this provider. Declaration string Extension { get; } Property Value Type Description String Remarks This must work immediately, and is used to generate the FileInfo used to set File . Methods | Improve this Doc View Source Load(FileInfo) Loads a Value from disk in whatever format this provider provides and returns it. Declaration Value Load(FileInfo file) Parameters Type Name Description FileInfo file the file to read from Returns Type Description Value the Value loaded | Improve this Doc View Source Store(Value, FileInfo) Stores the Value given to disk in the format specified. Declaration void Store(Value value, FileInfo file) Parameters Type Name Description Value value the Value to store FileInfo file the file to write to Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" }, - "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/IPA.Config.Data.List.html": { - "href": "api/IPA.Config.Data.List.html", - "title": "Class List", - "keywords": "Class List A list of Value s for serialization by an IConfigProvider . Use List() or From(IEnumerable) to create. Inheritance Object Value List Implements IList < Value > ICollection < Value > IEnumerable < Value > IEnumerable Inherited Members Value.Null() Value.List() Value.Map() Value.From(String) Value.Text(String) Value.From(Int64) Value.Integer(Int64) Value.From(Decimal) Value.Float(Decimal) Value.From(Boolean) Value.Bool(Boolean) Value.From(IEnumerable) Value.From(IDictionary) Value.From(IEnumerable>) Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Data Assembly : IPA.Loader.dll Syntax public sealed class List : Value, IList, ICollection, IEnumerable, IEnumerable Properties | Improve this Doc View Source Count Gets the number of elements in the List . Declaration public int Count { get; } Property Value Type Description Int32 See Also Count | Improve this Doc View Source Item[Int32] Gets the value at the given index in this List . Declaration public Value this[int index] { get; set; } Parameters Type Name Description Int32 index the index to retrieve the Value at Property Value Type Description Value the Value at index See Also Item [ Int32 ] Methods | Improve this Doc View Source Add(Value) Adds a Value to the end of this List . Declaration public void Add(Value item) Parameters Type Name Description Value item the Value to add See Also Add (T) | Improve this Doc View Source AddRange(IEnumerable) Adds a range of Value s to the end of this List . Declaration public void AddRange(IEnumerable vals) Parameters Type Name Description IEnumerable < Value > vals the range of Value s to add | Improve this Doc View Source Clear() Clears the List . Declaration public void Clear() See Also Clear () | Improve this Doc View Source Contains(Value) Checks if the List contains a certian item. Declaration public bool Contains(Value item) Parameters Type Name Description Value item the Value to check for Returns Type Description Boolean true if the item was founc, otherwise false See Also Contains (T) | Improve this Doc View Source CopyTo(Value[], Int32) Copies the Value s in the List to the Array in array . Declaration public void CopyTo(Value[] array, int arrayIndex) Parameters Type Name Description Value [] array the Array to copy to Int32 arrayIndex the starting index to copy to See Also CopyTo (T[], Int32 ) | Improve this Doc View Source GetEnumerator() Gets an enumerator to enumerate the List . Declaration public IEnumerator GetEnumerator() Returns Type Description IEnumerator < Value > an IEnumerator for this List See Also GetEnumerator () | Improve this Doc View Source IndexOf(Value) Gets the index that a given Value is in the List . Declaration public int IndexOf(Value item) Parameters Type Name Description Value item the Value to search for Returns Type Description Int32 the index that the item was at, or -1. See Also IndexOf (T) | Improve this Doc View Source Insert(Int32, Value) Inserts a Value at an index. Declaration public void Insert(int index, Value item) Parameters Type Name Description Int32 index the index to insert at Value item the Value to insert See Also Insert ( Int32 , T) | Improve this Doc View Source Remove(Value) Removes a Value from the List . Declaration public bool Remove(Value item) Parameters Type Name Description Value item the Value to remove Returns Type Description Boolean true if the item was removed, false otherwise See Also Remove (T) | Improve this Doc View Source RemoveAt(Int32) Removes a Value at an index. Declaration public void RemoveAt(int index) Parameters Type Name Description Int32 index the index to remove a Value at See Also RemoveAt ( Int32 ) | Improve this Doc View Source ToString() Converts this Value into a human-readable format. Declaration public override string ToString() Returns Type Description String a comma-seperated list of the result of ToString() wrapped in square brackets Overrides Value.ToString() Explicit Interface Implementations | Improve this Doc View Source ICollection.IsReadOnly Declaration bool ICollection.IsReadOnly { get; } Returns Type Description Boolean | Improve this Doc View Source IEnumerable.GetEnumerator() Declaration IEnumerator IEnumerable.GetEnumerator() Returns Type Description IEnumerator Implements System.Collections.Generic.IList System.Collections.Generic.ICollection System.Collections.Generic.IEnumerable System.Collections.IEnumerable Extension Methods EnumerableExtensions.Prepend(IEnumerable, T) EnumerableExtensions.Append(IEnumerable, T) EnumerableExtensions.NonNull(IEnumerable) EnumerableExtensions.NonNull(IEnumerable, Func) 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.Integer.html": { + "href": "api/IPA.Config.Data.Integer.html", + "title": "Class Integer", + "keywords": "Class Integer A Value representing an integer. This may hold a Int64 's worth of data. Inheritance Object Value Integer Inherited Members Value.Null() Value.List() Value.Map() Value.From(String) Value.Text(String) Value.From(Int64) Value.Integer(Int64) Value.From(Decimal) Value.Float(Decimal) Value.From(Boolean) Value.Bool(Boolean) Value.From(IEnumerable) Value.From(IDictionary) Value.From(IEnumerable>) Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Data Assembly : IPA.Loader.dll Syntax public sealed class Integer : Value Properties | Improve this Doc View Source Value The actual value of the Integer object. Declaration public long Value { get; set; } Property Value Type Description Int64 Methods | Improve this Doc View Source AsFloat() Coerces this Integer into a FloatingPoint . Declaration public FloatingPoint AsFloat() Returns Type Description FloatingPoint a FloatingPoint representing the closest approximation of Value | Improve this Doc View Source ToString() Converts this Value into a human-readable format. Declaration public override string ToString() Returns Type Description String the result of Value.ToString() Overrides Value.ToString() Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" }, - "api/BSIPA_ModList.UI.ViewControllers.MarkdownView.html": { - "href": "api/BSIPA_ModList.UI.ViewControllers.MarkdownView.html", - "title": "Class MarkdownView", - "keywords": "Class MarkdownView A UI component that renders CommonMark Markdown in-game. Inheritance Object UnityEngine.Object UnityEngine.Component UnityEngine.Behaviour UnityEngine.MonoBehaviour MarkdownView Inherited Members UnityEngine.MonoBehaviour.IsInvoking() UnityEngine.MonoBehaviour.CancelInvoke() UnityEngine.MonoBehaviour.Invoke(System.String, System.Single) UnityEngine.MonoBehaviour.InvokeRepeating(System.String, System.Single, System.Single) UnityEngine.MonoBehaviour.CancelInvoke(System.String) UnityEngine.MonoBehaviour.IsInvoking(System.String) UnityEngine.MonoBehaviour.StartCoroutine(System.String) UnityEngine.MonoBehaviour.StartCoroutine(System.String, System.Object) UnityEngine.MonoBehaviour.StartCoroutine(System.Collections.IEnumerator) UnityEngine.MonoBehaviour.StartCoroutine_Auto(System.Collections.IEnumerator) UnityEngine.MonoBehaviour.StopCoroutine(System.Collections.IEnumerator) UnityEngine.MonoBehaviour.StopCoroutine(UnityEngine.Coroutine) UnityEngine.MonoBehaviour.StopCoroutine(System.String) UnityEngine.MonoBehaviour.StopAllCoroutines() UnityEngine.MonoBehaviour.print(System.Object) UnityEngine.MonoBehaviour.useGUILayout UnityEngine.Behaviour.enabled UnityEngine.Behaviour.isActiveAndEnabled UnityEngine.Component.GetComponent(System.Type) UnityEngine.Component.GetComponent() UnityEngine.Component.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.Config.Config.NameAttribute.html": { + "href": "api/IPA.Config.Config.NameAttribute.html", + "title": "Class Config.NameAttribute", + "keywords": "Class Config.NameAttribute Specifies a preferred config name, instead of using the plugin's name. Inheritance Object Attribute Config.NameAttribute Implements _Attribute Inherited Members Attribute.GetCustomAttributes(MemberInfo, Type) Attribute.GetCustomAttributes(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(MemberInfo) Attribute.GetCustomAttributes(MemberInfo, Boolean) Attribute.IsDefined(MemberInfo, Type) Attribute.IsDefined(MemberInfo, Type, Boolean) Attribute.GetCustomAttribute(MemberInfo, Type) Attribute.GetCustomAttribute(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo) Attribute.GetCustomAttributes(ParameterInfo, Type) Attribute.GetCustomAttributes(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo, Boolean) Attribute.IsDefined(ParameterInfo, Type) Attribute.IsDefined(ParameterInfo, Type, Boolean) Attribute.GetCustomAttribute(ParameterInfo, Type) Attribute.GetCustomAttribute(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(Module, Type) Attribute.GetCustomAttributes(Module) Attribute.GetCustomAttributes(Module, Boolean) Attribute.GetCustomAttributes(Module, Type, Boolean) Attribute.IsDefined(Module, Type) Attribute.IsDefined(Module, Type, Boolean) Attribute.GetCustomAttribute(Module, Type) Attribute.GetCustomAttribute(Module, Type, Boolean) Attribute.GetCustomAttributes(Assembly, Type) Attribute.GetCustomAttributes(Assembly, Type, Boolean) Attribute.GetCustomAttributes(Assembly) Attribute.GetCustomAttributes(Assembly, Boolean) Attribute.IsDefined(Assembly, Type) Attribute.IsDefined(Assembly, Type, Boolean) Attribute.GetCustomAttribute(Assembly, Type) Attribute.GetCustomAttribute(Assembly, Type, Boolean) Attribute.Equals(Object) Attribute.GetHashCode() Attribute.Match(Object) Attribute.IsDefaultAttribute() Attribute._Attribute.GetTypeInfoCount(UInt32) Attribute._Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) Attribute._Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) Attribute._Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) Attribute.TypeId Object.ToString() Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config Assembly : IPA.Loader.dll Syntax [AttributeUsage(AttributeTargets.Parameter)] public sealed class NameAttribute : Attribute, _Attribute Constructors | Improve this Doc View Source NameAttribute(String) Constructs the attribute with a specific name. Declaration public NameAttribute(string name) Parameters Type Name Description String name the name to use for the config. Properties | Improve this Doc View Source Name The name to use for the config. Declaration public string Name { get; } Property Value Type Description String the name to use for the config Implements System.Runtime.InteropServices._Attribute Extension Methods ReflectionUtil.SetField(T, String, U) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(T, String, U) ReflectionUtil.GetProperty(T, String) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])" } } \ No newline at end of file diff --git a/branch/4.0.0-beta/manifest.json b/branch/4.0.0-beta/manifest.json index 6fbaf2f2..33bada54 100644 --- a/branch/4.0.0-beta/manifest.json +++ b/branch/4.0.0-beta/manifest.json @@ -18,7 +18,7 @@ "output": { ".html": { "relative_path": "api/BSIPA_ModList.UI.ViewControllers.MarkdownView.html", - "hash": "IjLzhsqYUGihlJjYXhajdQ==" + "hash": "Jvj9ZGXkXzpn3/LLRPUV7A==" } }, "is_incremental": false, @@ -42,7 +42,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Config.NameAttribute.html", - "hash": "8m5yx7HUp5owm3G2ym5k2Q==" + "hash": "yCFTw6z97yV4dYFgafvgpw==" } }, "is_incremental": false, @@ -54,7 +54,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Config.PreferAttribute.html", - "hash": "DRAXBd+6tjz5iLmtxN/TTA==" + "hash": "2llPjnKMOITxFfJEhc5MPA==" } }, "is_incremental": false, @@ -66,7 +66,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Config.html", - "hash": "mhMicWkPbuKISxtgvxcyOw==" + "hash": "LZtNIrlZX+3/KUVcxP3GAw==" } }, "is_incremental": false, @@ -78,7 +78,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.ConfigProvider.html", - "hash": "lO/F5ZbmHrlE8ajFwBFZ4Q==" + "hash": "M1d+t10K5v2oc3i2QvHR4A==" } }, "is_incremental": false, @@ -90,7 +90,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Data.Boolean.html", - "hash": "vYje6B/Co13/6nHchZOgRg==" + "hash": "theRD92gUPZqK28FGwBY/A==" } }, "is_incremental": false, @@ -102,7 +102,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Data.FloatingPoint.html", - "hash": "ZDLgjkjlJtO6DA1Z0ggy4Q==" + "hash": "miRoBVQqpCSb4k7SBl69CQ==" } }, "is_incremental": false, @@ -114,7 +114,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Data.Integer.html", - "hash": "xDd3+P3NrwolMC1LIJ/17Q==" + "hash": "8Duu6ttpUnsWck2d7mIQeQ==" } }, "is_incremental": false, @@ -126,7 +126,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Data.List.html", - "hash": "G+SnxuwUBvF6O+7QqhlFyQ==" + "hash": "b0e/qgJGFzz45e9qVbT/nQ==" } }, "is_incremental": false, @@ -138,7 +138,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Data.Map.html", - "hash": "LMRYjWdTKwMfN/E+HYDWVA==" + "hash": "9ufIFDaAFahwsm2KV0vdGg==" } }, "is_incremental": false, @@ -150,7 +150,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Data.Text.html", - "hash": "i34ZNDXyaB7ELvCpagXbJg==" + "hash": "AtjLMSdsAfApvUDF9Hu5Ig==" } }, "is_incremental": false, @@ -162,7 +162,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Data.Value.html", - "hash": "CyGEkcunQ6665cVCNDY0iw==" + "hash": "Ge/mWqmwd8EY73OjdimFLQ==" } }, "is_incremental": false, @@ -186,7 +186,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.IConfigProvider.html", - "hash": "274Z1yh49sCvfFH1w4DGDw==" + "hash": "D/c4SCw9u7G6yvLOY8rniQ==" } }, "is_incremental": false, @@ -198,7 +198,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.IConfigStore.html", - "hash": "CClym6fqFOjq7JgPUyi7cw==" + "hash": "NH1AVdwxtHGyBK5w6q44dQ==" } }, "is_incremental": false, @@ -210,7 +210,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.IModPrefs.html", - "hash": "Zrq1l07MzaSUQZ3Q+njtTA==" + "hash": "S9ZtVM7dqpNfSPjrtY9HPA==" } }, "is_incremental": false, @@ -222,7 +222,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.ModPrefs.html", - "hash": "9qcghbkxt6IyJL2IuUP1pQ==" + "hash": "XzLjy9+5mCzCRNKhhSVvaw==" } }, "is_incremental": false, @@ -234,7 +234,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Stores.Attributes.IgnoreAttribute.html", - "hash": "SGS5dENhunDoBN0RcxFqpw==" + "hash": "CUFNxD4i8SKcn0Sz+5UDIQ==" } }, "is_incremental": false, @@ -246,7 +246,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Stores.Attributes.NonNullableAttribute.html", - "hash": "uyDrlKJVV7QAkd5y/oFWBQ==" + "hash": "4Q8LywKDgV1LWAoc5kfH2g==" } }, "is_incremental": false, @@ -258,7 +258,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Stores.Attributes.SerializedNameAttribute.html", - "hash": "whGxyD5OjiRnI2hND2k3+w==" + "hash": "QSAUZc56Hc5rEVgD4AqbCA==" } }, "is_incremental": false, @@ -270,7 +270,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Stores.Attributes.UseConverterAttribute.html", - "hash": "vmjKcalBi99VvQjiNe9Hmw==" + "hash": "mDoPxD4bgRoehSe/FAlT+Q==" } }, "is_incremental": false, @@ -294,7 +294,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Stores.Converters.CollectionConverter-2.html", - "hash": "hGr/jhiBfvAWhqYWuH1v/A==" + "hash": "P73Ckw1KzWdCDWpb0mYTpA==" } }, "is_incremental": false, @@ -306,7 +306,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Stores.Converters.CollectionConverter-3.html", - "hash": "4F7zhT/292j9p6W7427ooA==" + "hash": "ws5s3AhLkpWiPzk2vWvAoA==" } }, "is_incremental": false, @@ -318,7 +318,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Stores.Converters.Converter-1.html", - "hash": "0YF0N2Hhyn/YZCaIzjZotw==" + "hash": "tavnms53sKi+ZWDTYDy0bg==" } }, "is_incremental": false, @@ -330,7 +330,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Stores.Converters.Converter.html", - "hash": "HZ1do9OhXttt2CRKoDCz6w==" + "hash": "ZF1p4Mw2mBUCVWPiyQ/sOA==" } }, "is_incremental": false, @@ -342,7 +342,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Stores.Converters.CustomObjectConverter-1.html", - "hash": "KKr7iKteNIQ6d1Kudg7sLQ==" + "hash": "6ZEDRFtwwDcXqDkXyikriw==" } }, "is_incremental": false, @@ -354,7 +354,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Stores.Converters.IListConverter-1.html", - "hash": "aBicNDFYgYbOnX5GuCpVkQ==" + "hash": "ujdbVRHP2PzhDm9EkIfsoA==" } }, "is_incremental": false, @@ -366,7 +366,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Stores.Converters.IListConverter-2.html", - "hash": "0VOacNgjpDfGgBALc5rzVQ==" + "hash": "1TdFUNP5Mjy8dVwFox4wgA==" } }, "is_incremental": false, @@ -378,7 +378,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Stores.Converters.ISetConverter-1.html", - "hash": "DfZm2GztkOUyzmypdL/xaA==" + "hash": "dbkSg9Ge7OmX66LhD2AuNg==" } }, "is_incremental": false, @@ -390,7 +390,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Stores.Converters.ISetConverter-2.html", - "hash": "KZo0qaISFJTriADLS3/cHg==" + "hash": "JQKJyn+8jeJDl4pzAOWmPA==" } }, "is_incremental": false, @@ -402,7 +402,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Stores.Converters.ListConverter-1.html", - "hash": "r2noPW1zeN6zu2zYE20CmA==" + "hash": "lhBBEj3fqWViBOX+PE7epQ==" } }, "is_incremental": false, @@ -414,7 +414,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Stores.Converters.ListConverter-2.html", - "hash": "d0La80AnXuIyURL+aC5cuA==" + "hash": "TvE+RIAlaZx1nk1KEJanog==" } }, "is_incremental": false, @@ -426,7 +426,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Stores.Converters.NullableConverter-1.html", - "hash": "R3H7nwAcoGbDifJDSyDpDQ==" + "hash": "8UGtW8AIyKlICF0NtzP9ew==" } }, "is_incremental": false, @@ -438,7 +438,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Stores.Converters.NullableConverter-2.html", - "hash": "p3cjzDXr8KRaQqOOx/gSxA==" + "hash": "E2l0+ejWFWeEDLtXBtjdZw==" } }, "is_incremental": false, @@ -462,7 +462,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Stores.GeneratedExtension.html", - "hash": "9VNLF7zubaQ4sDNc6FftHg==" + "hash": "yypBdrS43mTG6Xez+DdnYg==" } }, "is_incremental": false, @@ -474,7 +474,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Stores.IValueConverter.html", - "hash": "yIalQ6baZAySoqJWxfyWTg==" + "hash": "ZqAJ9R2XWLXtscZ7hvkE1A==" } }, "is_incremental": false, @@ -486,7 +486,7 @@ "output": { ".html": { "relative_path": "api/IPA.Config.Stores.ValueConverter-1.html", - "hash": "O7jcFn0g7btcFROl2gbnhg==" + "hash": "R79BWQOp9pMwaIxEky98jQ==" } }, "is_incremental": false, @@ -522,7 +522,7 @@ "output": { ".html": { "relative_path": "api/IPA.InitAttribute.html", - "hash": "MnCHKExg7eOpCS0LbiOSWA==" + "hash": "h4tneZcQ4HEGSxdhf747mw==" } }, "is_incremental": false, @@ -534,7 +534,7 @@ "output": { ".html": { "relative_path": "api/IPA.Loader.Features.Feature.html", - "hash": "Gf2bfk4pmR8FmOWf5FNaNA==" + "hash": "i1Fe/UdYg4oG02BA9tvftg==" } }, "is_incremental": false, @@ -558,7 +558,7 @@ "output": { ".html": { "relative_path": "api/IPA.Loader.PluginInitInjector.InjectParameter.html", - "hash": "4lJpBv7kvZU+3x1qj1NJHQ==" + "hash": "+kveycXwZsVxkbeKWueF/w==" } }, "is_incremental": false, @@ -570,7 +570,7 @@ "output": { ".html": { "relative_path": "api/IPA.Loader.PluginInitInjector.html", - "hash": "GguO0J0TH3ldf3aYPO0fWQ==" + "hash": "Mr4/pxzKDqSMVDUKVoT9Bw==" } }, "is_incremental": false, @@ -582,7 +582,7 @@ "output": { ".html": { "relative_path": "api/IPA.Loader.PluginManager.PluginDisableDelegate.html", - "hash": "p8zahF/FlM9fHWBv6aq8gQ==" + "hash": "Zl/z6sJrfR9/Yu4nV7Cvig==" } }, "is_incremental": false, @@ -594,7 +594,7 @@ "output": { ".html": { "relative_path": "api/IPA.Loader.PluginManager.PluginEnableDelegate.html", - "hash": "JPKLN9Ci1vn6HKl8VmTbVA==" + "hash": "ShkQgT9JelTOFNLTHvTbBw==" } }, "is_incremental": false, @@ -606,7 +606,7 @@ "output": { ".html": { "relative_path": "api/IPA.Loader.PluginManager.html", - "hash": "MDDZ6b6DZCK4f5m2VGPw5Q==" + "hash": "75S+SfGy6DNy8kv5GJYimw==" } }, "is_incremental": false, @@ -618,7 +618,7 @@ "output": { ".html": { "relative_path": "api/IPA.Loader.PluginMetadata.html", - "hash": "O9mSYulT8fkHn2ah66cYvw==" + "hash": "KUtlpqh0w7OKMa7ZQw+icw==" } }, "is_incremental": false, @@ -630,7 +630,7 @@ "output": { ".html": { "relative_path": "api/IPA.Loader.StateTransitionTransaction.html", - "hash": "VRvO4xGpW6aO3m2pT9T8bQ==" + "hash": "CUFYpcpkrtLTtT6bUDyPrQ==" } }, "is_incremental": false, @@ -654,7 +654,7 @@ "output": { ".html": { "relative_path": "api/IPA.Logging.LogPrinter.html", - "hash": "DVVugDGxWt6VXUDSrKUYGg==" + "hash": "+x5nPCuVPcri+340H6Xq5A==" } }, "is_incremental": false, @@ -666,7 +666,7 @@ "output": { ".html": { "relative_path": "api/IPA.Logging.Logger.Level.html", - "hash": "xewnExVlV5tXweJ+s4jNdA==" + "hash": "yJrCpYSWvIeVG5rC2F2L0g==" } }, "is_incremental": false, @@ -678,7 +678,7 @@ "output": { ".html": { "relative_path": "api/IPA.Logging.Logger.LogLevel.html", - "hash": "uUCk7gor3FUz46/hoXmApQ==" + "hash": "QLpbmWNBGzBf4od6d8xtCA==" } }, "is_incremental": false, @@ -690,7 +690,7 @@ "output": { ".html": { "relative_path": "api/IPA.Logging.Logger.html", - "hash": "+Dt+VZlMo4rnRr1S0EvuYQ==" + "hash": "aA88IDeMgGAf5lPNKI36nQ==" } }, "is_incremental": false, @@ -702,7 +702,7 @@ "output": { ".html": { "relative_path": "api/IPA.Logging.LoggerExtensions.html", - "hash": "27f2aGJaH0QCP7zT6gi+8g==" + "hash": "NR400JCYRD0qmStu4iaBPg==" } }, "is_incremental": false, @@ -714,7 +714,7 @@ "output": { ".html": { "relative_path": "api/IPA.Logging.Printers.ColoredConsolePrinter.html", - "hash": "E5+gwkXPxbHLi/nsuVvFSw==" + "hash": "bdmIu1xyE9Lkfl3bt55Nlg==" } }, "is_incremental": false, @@ -726,7 +726,7 @@ "output": { ".html": { "relative_path": "api/IPA.Logging.Printers.ColorlessConsolePrinter.html", - "hash": "ys7HB3ajNAiZa3lU5Qe81w==" + "hash": "uGqnF5pO99QU8nIJwd4a9Q==" } }, "is_incremental": false, @@ -738,7 +738,7 @@ "output": { ".html": { "relative_path": "api/IPA.Logging.Printers.GZFilePrinter.html", - "hash": "OfGsSkNAQHdHkNvVUQiipg==" + "hash": "w6NDPSv/b/T1j+KCjQXH4Q==" } }, "is_incremental": false, @@ -750,7 +750,7 @@ "output": { ".html": { "relative_path": "api/IPA.Logging.Printers.GlobalLogFilePrinter.html", - "hash": "ZWMPOAQtbIVRg1ba/iOs3g==" + "hash": "cmqOwatYO1ef3JP/zyXbiQ==" } }, "is_incremental": false, @@ -762,7 +762,7 @@ "output": { ".html": { "relative_path": "api/IPA.Logging.Printers.PluginLogFilePrinter.html", - "hash": "iSLOZJNUrJ0mRdAz+5N89Q==" + "hash": "v2da9NqlTcFWJKKnkkRnTA==" } }, "is_incremental": false, @@ -774,7 +774,7 @@ "output": { ".html": { "relative_path": "api/IPA.Logging.Printers.PluginSubLogPrinter.html", - "hash": "36b0Omd+SP2wa6o218pPEA==" + "hash": "LOcQ4FZGca5g3RbJKEz/Xw==" } }, "is_incremental": false, @@ -798,7 +798,7 @@ "output": { ".html": { "relative_path": "api/IPA.Logging.StandardLogger.html", - "hash": "5P63u1jGO9/RRz8po6nsZg==" + "hash": "Eb+5thnRAgl2JoCJynSmug==" } }, "is_incremental": false, @@ -822,7 +822,7 @@ "output": { ".html": { "relative_path": "api/IPA.Old.IEnhancedPlugin.html", - "hash": "sxndYla+9vfeJXM6bpipJg==" + "hash": "0EmoLCzbmJ0yv3VbGzCvKQ==" } }, "is_incremental": false, @@ -834,7 +834,7 @@ "output": { ".html": { "relative_path": "api/IPA.Old.IPlugin.html", - "hash": "FiDbXY7K/rYjo1ffYVg/RA==" + "hash": "VjuPn3Wpmtk0df/mhtyyWw==" } }, "is_incremental": false, @@ -858,7 +858,7 @@ "output": { ".html": { "relative_path": "api/IPA.OnDisableAttribute.html", - "hash": "xV+/k6GltFDaT2w8rmYdVg==" + "hash": "DO6ZE+8ZWSnSVs5Fm/SQxw==" } }, "is_incremental": false, @@ -870,7 +870,7 @@ "output": { ".html": { "relative_path": "api/IPA.OnEnableAttribute.html", - "hash": "lU/FvOhh1exsxnkn1QLEHA==" + "hash": "NQ/Yk72freGPciRAS2tEww==" } }, "is_incremental": false, @@ -882,7 +882,7 @@ "output": { ".html": { "relative_path": "api/IPA.OnExitAttribute.html", - "hash": "6xexfdXqyopJp3yYmbL3KA==" + "hash": "u2Id9bk9L1M1j+1S/68FZQ==" } }, "is_incremental": false, @@ -894,7 +894,7 @@ "output": { ".html": { "relative_path": "api/IPA.OnStartAttribute.html", - "hash": "Ot7XVu8CBmGlSutBiMm1nw==" + "hash": "xkm6WnbfrJDfQiQFdaMbPw==" } }, "is_incremental": false, @@ -906,7 +906,7 @@ "output": { ".html": { "relative_path": "api/IPA.PluginAttribute.html", - "hash": "SPwPkavLIqRZv9EGOXPLEg==" + "hash": "N8Wi2F/20t6XbatfXduTYQ==" } }, "is_incremental": false, @@ -918,7 +918,7 @@ "output": { ".html": { "relative_path": "api/IPA.RuntimeOptions.html", - "hash": "TsXSEPq0iwnnFFqOl16FoQ==" + "hash": "sHSJ4n09wI0MhvefMrlrKQ==" } }, "is_incremental": false, @@ -930,7 +930,7 @@ "output": { ".html": { "relative_path": "api/IPA.Utilities.AlmostVersion.StoredAs.html", - "hash": "gqU6tZe+K3F1g9NLNzfBKA==" + "hash": "aviEf5klDsbcvnrc1JbHWQ==" } }, "is_incremental": false, @@ -942,7 +942,7 @@ "output": { ".html": { "relative_path": "api/IPA.Utilities.AlmostVersion.html", - "hash": "h26aUXHsOjWOjr0+r9jaLA==" + "hash": "hBuIjeLjwnhrswMu7KK+og==" } }, "is_incremental": false, @@ -954,7 +954,7 @@ "output": { ".html": { "relative_path": "api/IPA.Utilities.AlmostVersionConverter.html", - "hash": "IZysGrxMV8IFzfYrK/n/Mg==" + "hash": "/dn3/+6uc3Dwf8IG6Z8cbQ==" } }, "is_incremental": false, @@ -966,7 +966,7 @@ "output": { ".html": { "relative_path": "api/IPA.Utilities.Async.SingleThreadTaskScheduler.html", - "hash": "FiU8jKu1DJqCISuj+xBHLw==" + "hash": "iTAdKnubQZQxCAghaxJfNQ==" } }, "is_incremental": false, @@ -978,7 +978,7 @@ "output": { ".html": { "relative_path": "api/IPA.Utilities.Async.Synchronization.MutexLocker.html", - "hash": "q1Gr+p20HJsIGUfksjTcsA==" + "hash": "tbEPQS47g5GyRZ9DrXcckg==" } }, "is_incremental": false, @@ -990,7 +990,7 @@ "output": { ".html": { "relative_path": "api/IPA.Utilities.Async.Synchronization.ReaderWriterLockSlimReadLocker.html", - "hash": "m3BBaSVB6y7uvf1uVmT6WQ==" + "hash": "rE4XsHk47h7/ks9QHe3UxA==" } }, "is_incremental": false, @@ -1002,7 +1002,7 @@ "output": { ".html": { "relative_path": "api/IPA.Utilities.Async.Synchronization.ReaderWriterLockSlimUpgradableReadLocker.html", - "hash": "wHVUHUZwR7svANOBBsfkZw==" + "hash": "0Rfz4D0OsRYU35E1d6SFuQ==" } }, "is_incremental": false, @@ -1014,7 +1014,7 @@ "output": { ".html": { "relative_path": "api/IPA.Utilities.Async.Synchronization.ReaderWriterLockSlimWriteLocker.html", - "hash": "Uw9k3LeE5DXRWgRxFa6qrg==" + "hash": "zTfEMGjelClJZlE5SlwSKA==" } }, "is_incremental": false, @@ -1026,7 +1026,7 @@ "output": { ".html": { "relative_path": "api/IPA.Utilities.Async.Synchronization.SemaphoreLocker.html", - "hash": "WIZr5c0EcgdR99SEq3jswg==" + "hash": "ZoCBUQrSVqTBLTaXvrdFmg==" } }, "is_incremental": false, @@ -1038,7 +1038,7 @@ "output": { ".html": { "relative_path": "api/IPA.Utilities.Async.Synchronization.SemaphoreSlimAsyncLocker.html", - "hash": "QiC8Ud/Qjeo6iizVeicYIg==" + "hash": "gGq5ouEmkQ9ipo0gKwv73A==" } }, "is_incremental": false, @@ -1050,7 +1050,7 @@ "output": { ".html": { "relative_path": "api/IPA.Utilities.Async.Synchronization.SemaphoreSlimLocker.html", - "hash": "1FEsOaNFrIbiUwLvOZtujg==" + "hash": "DSjatyRQ5yJBQtO28mVG3A==" } }, "is_incremental": false, @@ -1062,7 +1062,7 @@ "output": { ".html": { "relative_path": "api/IPA.Utilities.Async.Synchronization.html", - "hash": "vIJsTWAoz0go49o9XQ9JSw==" + "hash": "eIdilEdcAJ0pkneznlzIpg==" } }, "is_incremental": false, @@ -1086,7 +1086,7 @@ "output": { ".html": { "relative_path": "api/IPA.Utilities.CriticalSection.AutoExecuteSection.html", - "hash": "XAxibEKmVM2ivzTDlbZgSA==" + "hash": "XC3Ux6QaYbg5BaktGU8t6w==" } }, "is_incremental": false, @@ -1098,7 +1098,7 @@ "output": { ".html": { "relative_path": "api/IPA.Utilities.CriticalSection.html", - "hash": "oatJVuZlA+x810TnHvTfqA==" + "hash": "AgjsTkzct9WEG19IJFeCNg==" } }, "is_incremental": false, @@ -1110,7 +1110,7 @@ "output": { ".html": { "relative_path": "api/IPA.Utilities.EnumerableExtensions.html", - "hash": "hqImF9XIfmXMNbf0/wg3Sw==" + "hash": "AzWvU9Yspk1xYM7ELnNXDQ==" } }, "is_incremental": false, @@ -1122,7 +1122,67 @@ "output": { ".html": { "relative_path": "api/IPA.Utilities.Extensions.html", - "hash": "XPNlkKpOjlZhnDp8InaHow==" + "hash": "eGTxiLIXMc9JmVvr4eb8JQ==" + } + }, + "is_incremental": false, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api/IPA.Utilities.FieldAccessor-2.Accessor.yml", + "output": { + ".html": { + "relative_path": "api/IPA.Utilities.FieldAccessor-2.Accessor.html", + "hash": "woauizvfdg1+4bhn8CLdzA==" + } + }, + "is_incremental": false, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api/IPA.Utilities.FieldAccessor-2.yml", + "output": { + ".html": { + "relative_path": "api/IPA.Utilities.FieldAccessor-2.html", + "hash": "Xq5wlBYuRb4rMeoq+icI+g==" + } + }, + "is_incremental": false, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api/IPA.Utilities.PropertyAccessor-2.Getter.yml", + "output": { + ".html": { + "relative_path": "api/IPA.Utilities.PropertyAccessor-2.Getter.html", + "hash": "KMYXlYs1lzZt2fG1utjIEg==" + } + }, + "is_incremental": false, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api/IPA.Utilities.PropertyAccessor-2.Setter.yml", + "output": { + ".html": { + "relative_path": "api/IPA.Utilities.PropertyAccessor-2.Setter.html", + "hash": "mUJQhAAM3XPJ3X332Odz2A==" + } + }, + "is_incremental": false, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api/IPA.Utilities.PropertyAccessor-2.yml", + "output": { + ".html": { + "relative_path": "api/IPA.Utilities.PropertyAccessor-2.html", + "hash": "URseEQkH7ouvTO0xtICBsw==" } }, "is_incremental": false, @@ -1134,7 +1194,7 @@ "output": { ".html": { "relative_path": "api/IPA.Utilities.Ref-1.html", - "hash": "sWajda6iKAITau5havCuSg==" + "hash": "9+oTUIxErbzJWhJ/zjcC/A==" } }, "is_incremental": false, @@ -1146,7 +1206,7 @@ "output": { ".html": { "relative_path": "api/IPA.Utilities.Ref.html", - "hash": "IP64rw3U4xCyGb1YGUy+iw==" + "hash": "u6yh0Crdn0fxrpJWgV/LAw==" } }, "is_incremental": false, @@ -1158,7 +1218,7 @@ "output": { ".html": { "relative_path": "api/IPA.Utilities.ReflectionUtil.html", - "hash": "zHnO/Ad4mQArOVglWFCO+g==" + "hash": "dHn08VCI9UA61vYZbc0Psw==" } }, "is_incremental": false, @@ -1170,7 +1230,7 @@ "output": { ".html": { "relative_path": "api/IPA.Utilities.UnityGame.Release.html", - "hash": "D7b+hV4kNXPT8j68Oa3U1Q==" + "hash": "tCNN/gBPbAHlAitdDkcDHw==" } }, "is_incremental": false, @@ -1182,7 +1242,7 @@ "output": { ".html": { "relative_path": "api/IPA.Utilities.UnityGame.html", - "hash": "d8PobgEFauxMXv18+H0FSw==" + "hash": "UQO1PJa63e+B864IAB+N0Q==" } }, "is_incremental": false, @@ -1194,7 +1254,7 @@ "output": { ".html": { "relative_path": "api/IPA.Utilities.Utils.html", - "hash": "bwmYvabaBzQw3BpnWW9uUg==" + "hash": "7Hu74ml6qPp+SzFgjF5nkw==" } }, "is_incremental": false, @@ -1206,7 +1266,7 @@ "output": { ".html": { "relative_path": "api/IPA.Utilities.html", - "hash": "Hhha+vyMSWt725NulAZ2/g==" + "hash": "nmAYC/IaBVoSHU4JIoGOwA==" } }, "is_incremental": false, @@ -1230,7 +1290,7 @@ "output": { ".html": { "relative_path": "api/index.html", - "hash": "gad5snNMBQJpP9TxlXPeTg==" + "hash": "wESLjnFCJ8RtNR+M/G1+LQ==" } }, "is_incremental": false, @@ -1242,7 +1302,7 @@ "output": { ".html": { "relative_path": "api/toc.html", - "hash": "dFFgzIzBfA0gXoT75m9+dQ==" + "hash": "IYzOeE5/n1wWVf3g1+MUnQ==" } }, "is_incremental": false, @@ -1254,7 +1314,7 @@ "output": { ".html": { "relative_path": "articles/command-line.html", - "hash": "OTPNviS0ZIj6WVYQcET9mw==" + "hash": "bddXxiAvPuT7x/+YeKPLPQ==" } }, "is_incremental": false, @@ -1266,7 +1326,7 @@ "output": { ".html": { "relative_path": "articles/contributing.html", - "hash": "VYTpM/8hFTq9UYWcJS7KkA==" + "hash": "y4LdiwiH7XpG1mrGl+xJdg==" } }, "is_incremental": false, @@ -1278,7 +1338,7 @@ "output": { ".html": { "relative_path": "articles/dev-resources/description.html", - "hash": "sMc3bM/1gV/yohdPwz9E4Q==" + "hash": "I9OZ7P4xKuedQxMBoluwwA==" } }, "is_incremental": false, @@ -1290,7 +1350,7 @@ "output": { ".html": { "relative_path": "articles/index.html", - "hash": "ENBdNzO6Fd4HCaawty4jjg==" + "hash": "v88DlMomaswXOdQlaVoVCg==" } }, "is_incremental": false, @@ -1302,7 +1362,7 @@ "output": { ".html": { "relative_path": "articles/start-dev.html", - "hash": "YQ/A3YBLik+nO1zHxXLiEA==" + "hash": "jVqiRwmWRP0gHHfNVGYlKQ==" } }, "is_incremental": false, @@ -1314,7 +1374,7 @@ "output": { ".html": { "relative_path": "articles/start-user.html", - "hash": "Wq8tdkdHgOyhwgMgF0JsTg==" + "hash": "p1AMnK5T0N4z/QtvEez3Aw==" } }, "is_incremental": false, @@ -1404,7 +1464,7 @@ "output": { ".html": { "relative_path": "index.html", - "hash": "lLiiX3Ws46Ck3sKGvL+2xw==" + "hash": "416tMzMrc1tIrSj/HJ8hTA==" } }, "is_incremental": false, @@ -1416,7 +1476,7 @@ "output": { ".html": { "relative_path": "other_api/config/schema.html", - "hash": "2HR6ZlCM0uoDRQBXF8aHYA==" + "hash": "r8cytvkcu0RVsUpZCabWrg==" } }, "is_incremental": false, @@ -1428,7 +1488,7 @@ "output": { ".html": { "relative_path": "other_api/index.html", - "hash": "nKuRMhuZmHlJmTNwosKBPA==" + "hash": "FdSN6C7hVJdCdQbEWIFl+Q==" } }, "is_incremental": false, @@ -1486,7 +1546,7 @@ "ManagedReferenceDocumentProcessor": { "can_incremental": false, "incrementalPhase": "build", - "total_file_count": 101, + "total_file_count": 106, "skipped_file_count": 0 }, "ResourceDocumentProcessor": { diff --git a/branch/4.0.0-beta/other_api/config/schema.html b/branch/4.0.0-beta/other_api/config/schema.html index 4c847ac4..a840c110 100644 --- a/branch/4.0.0-beta/other_api/config/schema.html +++ b/branch/4.0.0-beta/other_api/config/schema.html @@ -173,7 +173,7 @@ diff --git a/branch/4.0.0-beta/other_api/index.html b/branch/4.0.0-beta/other_api/index.html index d7e4488a..adec4eb0 100644 --- a/branch/4.0.0-beta/other_api/index.html +++ b/branch/4.0.0-beta/other_api/index.html @@ -87,7 +87,7 @@ diff --git a/branch/4.0.0-beta/xrefmap.yml b/branch/4.0.0-beta/xrefmap.yml index 58268b90..6a61b96a 100644 --- a/branch/4.0.0-beta/xrefmap.yml +++ b/branch/4.0.0-beta/xrefmap.yml @@ -4957,6 +4957,224 @@ references: isSpec: "True" fullName: IPA.Utilities.Extensions.WithEnding nameWithType: Extensions.WithEnding +- uid: IPA.Utilities.FieldAccessor`2 + name: FieldAccessor + href: api/IPA.Utilities.FieldAccessor-2.html + commentId: T:IPA.Utilities.FieldAccessor`2 + name.vb: FieldAccessor(Of T, U) + fullName: IPA.Utilities.FieldAccessor + fullName.vb: IPA.Utilities.FieldAccessor(Of T, U) + nameWithType: FieldAccessor + nameWithType.vb: FieldAccessor(Of T, U) +- uid: IPA.Utilities.FieldAccessor`2.Access(`0@,System.String) + name: Access(ref T, String) + href: api/IPA.Utilities.FieldAccessor-2.html#IPA_Utilities_FieldAccessor_2_Access__0__System_String_ + commentId: M:IPA.Utilities.FieldAccessor`2.Access(`0@,System.String) + name.vb: Access(ByRef T, String) + fullName: IPA.Utilities.FieldAccessor.Access(ref T, System.String) + fullName.vb: IPA.Utilities.FieldAccessor(Of T, U).Access(ByRef T, System.String) + nameWithType: FieldAccessor.Access(ref T, String) + nameWithType.vb: FieldAccessor(Of T, U).Access(ByRef T, String) +- uid: IPA.Utilities.FieldAccessor`2.Access* + name: Access + href: api/IPA.Utilities.FieldAccessor-2.html#IPA_Utilities_FieldAccessor_2_Access_ + commentId: Overload:IPA.Utilities.FieldAccessor`2.Access + isSpec: "True" + fullName: IPA.Utilities.FieldAccessor.Access + fullName.vb: IPA.Utilities.FieldAccessor(Of T, U).Access + nameWithType: FieldAccessor.Access + nameWithType.vb: FieldAccessor(Of T, U).Access +- uid: IPA.Utilities.FieldAccessor`2.Accessor + name: FieldAccessor.Accessor + href: api/IPA.Utilities.FieldAccessor-2.Accessor.html + commentId: T:IPA.Utilities.FieldAccessor`2.Accessor + name.vb: FieldAccessor(Of T, U).Accessor + fullName: IPA.Utilities.FieldAccessor.Accessor + fullName.vb: IPA.Utilities.FieldAccessor(Of T, U).Accessor + nameWithType: FieldAccessor.Accessor + nameWithType.vb: FieldAccessor(Of T, U).Accessor +- uid: IPA.Utilities.FieldAccessor`2.Get(`0,System.String) + name: Get(T, String) + href: api/IPA.Utilities.FieldAccessor-2.html#IPA_Utilities_FieldAccessor_2_Get__0_System_String_ + commentId: M:IPA.Utilities.FieldAccessor`2.Get(`0,System.String) + fullName: IPA.Utilities.FieldAccessor.Get(T, System.String) + fullName.vb: IPA.Utilities.FieldAccessor(Of T, U).Get(T, System.String) + nameWithType: FieldAccessor.Get(T, String) + nameWithType.vb: FieldAccessor(Of T, U).Get(T, String) +- uid: IPA.Utilities.FieldAccessor`2.Get(`0@,System.String) + name: Get(ref T, String) + href: api/IPA.Utilities.FieldAccessor-2.html#IPA_Utilities_FieldAccessor_2_Get__0__System_String_ + commentId: M:IPA.Utilities.FieldAccessor`2.Get(`0@,System.String) + name.vb: Get(ByRef T, String) + fullName: IPA.Utilities.FieldAccessor.Get(ref T, System.String) + fullName.vb: IPA.Utilities.FieldAccessor(Of T, U).Get(ByRef T, System.String) + nameWithType: FieldAccessor.Get(ref T, String) + nameWithType.vb: FieldAccessor(Of T, U).Get(ByRef T, String) +- uid: IPA.Utilities.FieldAccessor`2.Get* + name: Get + href: api/IPA.Utilities.FieldAccessor-2.html#IPA_Utilities_FieldAccessor_2_Get_ + commentId: Overload:IPA.Utilities.FieldAccessor`2.Get + isSpec: "True" + fullName: IPA.Utilities.FieldAccessor.Get + fullName.vb: IPA.Utilities.FieldAccessor(Of T, U).Get + nameWithType: FieldAccessor.Get + nameWithType.vb: FieldAccessor(Of T, U).Get +- uid: IPA.Utilities.FieldAccessor`2.GetAccessor(System.String) + name: GetAccessor(String) + href: api/IPA.Utilities.FieldAccessor-2.html#IPA_Utilities_FieldAccessor_2_GetAccessor_System_String_ + commentId: M:IPA.Utilities.FieldAccessor`2.GetAccessor(System.String) + fullName: IPA.Utilities.FieldAccessor.GetAccessor(System.String) + fullName.vb: IPA.Utilities.FieldAccessor(Of T, U).GetAccessor(System.String) + nameWithType: FieldAccessor.GetAccessor(String) + nameWithType.vb: FieldAccessor(Of T, U).GetAccessor(String) +- uid: IPA.Utilities.FieldAccessor`2.GetAccessor* + name: GetAccessor + href: api/IPA.Utilities.FieldAccessor-2.html#IPA_Utilities_FieldAccessor_2_GetAccessor_ + commentId: Overload:IPA.Utilities.FieldAccessor`2.GetAccessor + isSpec: "True" + fullName: IPA.Utilities.FieldAccessor.GetAccessor + fullName.vb: IPA.Utilities.FieldAccessor(Of T, U).GetAccessor + nameWithType: FieldAccessor.GetAccessor + nameWithType.vb: FieldAccessor(Of T, U).GetAccessor +- uid: IPA.Utilities.FieldAccessor`2.Set(`0,System.String,`1) + name: Set(T, String, U) + href: api/IPA.Utilities.FieldAccessor-2.html#IPA_Utilities_FieldAccessor_2_Set__0_System_String__1_ + commentId: M:IPA.Utilities.FieldAccessor`2.Set(`0,System.String,`1) + fullName: IPA.Utilities.FieldAccessor.Set(T, System.String, U) + fullName.vb: IPA.Utilities.FieldAccessor(Of T, U).Set(T, System.String, U) + nameWithType: FieldAccessor.Set(T, String, U) + nameWithType.vb: FieldAccessor(Of T, U).Set(T, String, U) +- uid: IPA.Utilities.FieldAccessor`2.Set(`0@,System.String,`1) + name: Set(ref T, String, U) + href: api/IPA.Utilities.FieldAccessor-2.html#IPA_Utilities_FieldAccessor_2_Set__0__System_String__1_ + commentId: M:IPA.Utilities.FieldAccessor`2.Set(`0@,System.String,`1) + name.vb: Set(ByRef T, String, U) + fullName: IPA.Utilities.FieldAccessor.Set(ref T, System.String, U) + fullName.vb: IPA.Utilities.FieldAccessor(Of T, U).Set(ByRef T, System.String, U) + nameWithType: FieldAccessor.Set(ref T, String, U) + nameWithType.vb: FieldAccessor(Of T, U).Set(ByRef T, String, U) +- uid: IPA.Utilities.FieldAccessor`2.Set* + name: Set + href: api/IPA.Utilities.FieldAccessor-2.html#IPA_Utilities_FieldAccessor_2_Set_ + commentId: Overload:IPA.Utilities.FieldAccessor`2.Set + isSpec: "True" + fullName: IPA.Utilities.FieldAccessor.Set + fullName.vb: IPA.Utilities.FieldAccessor(Of T, U).Set + nameWithType: FieldAccessor.Set + nameWithType.vb: FieldAccessor(Of T, U).Set +- uid: IPA.Utilities.PropertyAccessor`2 + name: PropertyAccessor + href: api/IPA.Utilities.PropertyAccessor-2.html + commentId: T:IPA.Utilities.PropertyAccessor`2 + name.vb: PropertyAccessor(Of T, U) + fullName: IPA.Utilities.PropertyAccessor + fullName.vb: IPA.Utilities.PropertyAccessor(Of T, U) + nameWithType: PropertyAccessor + nameWithType.vb: PropertyAccessor(Of T, U) +- uid: IPA.Utilities.PropertyAccessor`2.Get(`0,System.String) + name: Get(T, String) + href: api/IPA.Utilities.PropertyAccessor-2.html#IPA_Utilities_PropertyAccessor_2_Get__0_System_String_ + commentId: M:IPA.Utilities.PropertyAccessor`2.Get(`0,System.String) + fullName: IPA.Utilities.PropertyAccessor.Get(T, System.String) + fullName.vb: IPA.Utilities.PropertyAccessor(Of T, U).Get(T, System.String) + nameWithType: PropertyAccessor.Get(T, String) + nameWithType.vb: PropertyAccessor(Of T, U).Get(T, String) +- uid: IPA.Utilities.PropertyAccessor`2.Get(`0@,System.String) + name: Get(ref T, String) + href: api/IPA.Utilities.PropertyAccessor-2.html#IPA_Utilities_PropertyAccessor_2_Get__0__System_String_ + commentId: M:IPA.Utilities.PropertyAccessor`2.Get(`0@,System.String) + name.vb: Get(ByRef T, String) + fullName: IPA.Utilities.PropertyAccessor.Get(ref T, System.String) + fullName.vb: IPA.Utilities.PropertyAccessor(Of T, U).Get(ByRef T, System.String) + nameWithType: PropertyAccessor.Get(ref T, String) + nameWithType.vb: PropertyAccessor(Of T, U).Get(ByRef T, String) +- uid: IPA.Utilities.PropertyAccessor`2.Get* + name: Get + href: api/IPA.Utilities.PropertyAccessor-2.html#IPA_Utilities_PropertyAccessor_2_Get_ + commentId: Overload:IPA.Utilities.PropertyAccessor`2.Get + isSpec: "True" + fullName: IPA.Utilities.PropertyAccessor.Get + fullName.vb: IPA.Utilities.PropertyAccessor(Of T, U).Get + nameWithType: PropertyAccessor.Get + nameWithType.vb: PropertyAccessor(Of T, U).Get +- uid: IPA.Utilities.PropertyAccessor`2.GetGetter(System.String) + name: GetGetter(String) + href: api/IPA.Utilities.PropertyAccessor-2.html#IPA_Utilities_PropertyAccessor_2_GetGetter_System_String_ + commentId: M:IPA.Utilities.PropertyAccessor`2.GetGetter(System.String) + fullName: IPA.Utilities.PropertyAccessor.GetGetter(System.String) + fullName.vb: IPA.Utilities.PropertyAccessor(Of T, U).GetGetter(System.String) + nameWithType: PropertyAccessor.GetGetter(String) + nameWithType.vb: PropertyAccessor(Of T, U).GetGetter(String) +- uid: IPA.Utilities.PropertyAccessor`2.GetGetter* + name: GetGetter + href: api/IPA.Utilities.PropertyAccessor-2.html#IPA_Utilities_PropertyAccessor_2_GetGetter_ + commentId: Overload:IPA.Utilities.PropertyAccessor`2.GetGetter + isSpec: "True" + fullName: IPA.Utilities.PropertyAccessor.GetGetter + fullName.vb: IPA.Utilities.PropertyAccessor(Of T, U).GetGetter + nameWithType: PropertyAccessor.GetGetter + nameWithType.vb: PropertyAccessor(Of T, U).GetGetter +- uid: IPA.Utilities.PropertyAccessor`2.GetSetter(System.String) + name: GetSetter(String) + href: api/IPA.Utilities.PropertyAccessor-2.html#IPA_Utilities_PropertyAccessor_2_GetSetter_System_String_ + commentId: M:IPA.Utilities.PropertyAccessor`2.GetSetter(System.String) + fullName: IPA.Utilities.PropertyAccessor.GetSetter(System.String) + fullName.vb: IPA.Utilities.PropertyAccessor(Of T, U).GetSetter(System.String) + nameWithType: PropertyAccessor.GetSetter(String) + nameWithType.vb: PropertyAccessor(Of T, U).GetSetter(String) +- uid: IPA.Utilities.PropertyAccessor`2.GetSetter* + name: GetSetter + href: api/IPA.Utilities.PropertyAccessor-2.html#IPA_Utilities_PropertyAccessor_2_GetSetter_ + commentId: Overload:IPA.Utilities.PropertyAccessor`2.GetSetter + isSpec: "True" + fullName: IPA.Utilities.PropertyAccessor.GetSetter + fullName.vb: IPA.Utilities.PropertyAccessor(Of T, U).GetSetter + nameWithType: PropertyAccessor.GetSetter + nameWithType.vb: PropertyAccessor(Of T, U).GetSetter +- uid: IPA.Utilities.PropertyAccessor`2.Getter + name: PropertyAccessor.Getter + href: api/IPA.Utilities.PropertyAccessor-2.Getter.html + commentId: T:IPA.Utilities.PropertyAccessor`2.Getter + name.vb: PropertyAccessor(Of T, U).Getter + fullName: IPA.Utilities.PropertyAccessor.Getter + fullName.vb: IPA.Utilities.PropertyAccessor(Of T, U).Getter + nameWithType: PropertyAccessor.Getter + nameWithType.vb: PropertyAccessor(Of T, U).Getter +- uid: IPA.Utilities.PropertyAccessor`2.Set(`0,System.String,`1) + name: Set(T, String, U) + href: api/IPA.Utilities.PropertyAccessor-2.html#IPA_Utilities_PropertyAccessor_2_Set__0_System_String__1_ + commentId: M:IPA.Utilities.PropertyAccessor`2.Set(`0,System.String,`1) + fullName: IPA.Utilities.PropertyAccessor.Set(T, System.String, U) + fullName.vb: IPA.Utilities.PropertyAccessor(Of T, U).Set(T, System.String, U) + nameWithType: PropertyAccessor.Set(T, String, U) + nameWithType.vb: PropertyAccessor(Of T, U).Set(T, String, U) +- uid: IPA.Utilities.PropertyAccessor`2.Set(`0@,System.String,`1) + name: Set(ref T, String, U) + href: api/IPA.Utilities.PropertyAccessor-2.html#IPA_Utilities_PropertyAccessor_2_Set__0__System_String__1_ + commentId: M:IPA.Utilities.PropertyAccessor`2.Set(`0@,System.String,`1) + name.vb: Set(ByRef T, String, U) + fullName: IPA.Utilities.PropertyAccessor.Set(ref T, System.String, U) + fullName.vb: IPA.Utilities.PropertyAccessor(Of T, U).Set(ByRef T, System.String, U) + nameWithType: PropertyAccessor.Set(ref T, String, U) + nameWithType.vb: PropertyAccessor(Of T, U).Set(ByRef T, String, U) +- uid: IPA.Utilities.PropertyAccessor`2.Set* + name: Set + href: api/IPA.Utilities.PropertyAccessor-2.html#IPA_Utilities_PropertyAccessor_2_Set_ + commentId: Overload:IPA.Utilities.PropertyAccessor`2.Set + isSpec: "True" + fullName: IPA.Utilities.PropertyAccessor.Set + fullName.vb: IPA.Utilities.PropertyAccessor(Of T, U).Set + nameWithType: PropertyAccessor.Set + nameWithType.vb: PropertyAccessor(Of T, U).Set +- uid: IPA.Utilities.PropertyAccessor`2.Setter + name: PropertyAccessor.Setter + href: api/IPA.Utilities.PropertyAccessor-2.Setter.html + commentId: T:IPA.Utilities.PropertyAccessor`2.Setter + name.vb: PropertyAccessor(Of T, U).Setter + fullName: IPA.Utilities.PropertyAccessor.Setter + fullName.vb: IPA.Utilities.PropertyAccessor(Of T, U).Setter + nameWithType: PropertyAccessor.Setter + nameWithType.vb: PropertyAccessor(Of T, U).Setter - uid: IPA.Utilities.Ref name: Ref href: api/IPA.Utilities.Ref.html @@ -5145,15 +5363,6 @@ references: isSpec: "True" fullName: IPA.Utilities.ReflectionUtil.GetField nameWithType: ReflectionUtil.GetField -- uid: IPA.Utilities.ReflectionUtil.GetField``1(System.Object,System.String) - name: GetField(Object, String) - href: api/IPA.Utilities.ReflectionUtil.html#IPA_Utilities_ReflectionUtil_GetField__1_System_Object_System_String_ - commentId: M:IPA.Utilities.ReflectionUtil.GetField``1(System.Object,System.String) - name.vb: GetField(Of T)(Object, String) - fullName: IPA.Utilities.ReflectionUtil.GetField(System.Object, System.String) - fullName.vb: IPA.Utilities.ReflectionUtil.GetField(Of T)(System.Object, System.String) - nameWithType: ReflectionUtil.GetField(Object, String) - nameWithType.vb: ReflectionUtil.GetField(Of T)(Object, String) - uid: IPA.Utilities.ReflectionUtil.GetField``2(``1,System.String) name: GetField(U, String) href: api/IPA.Utilities.ReflectionUtil.html#IPA_Utilities_ReflectionUtil_GetField__2___1_System_String_ @@ -5163,15 +5372,22 @@ references: fullName.vb: IPA.Utilities.ReflectionUtil.GetField(Of T, U)(U, System.String) nameWithType: ReflectionUtil.GetField(U, String) nameWithType.vb: ReflectionUtil.GetField(Of T, U)(U, String) -- uid: IPA.Utilities.ReflectionUtil.InvokeMethod(System.Object,System.String,System.Object[]) - name: InvokeMethod(Object, String, Object[]) - href: api/IPA.Utilities.ReflectionUtil.html#IPA_Utilities_ReflectionUtil_InvokeMethod_System_Object_System_String_System_Object___ - commentId: M:IPA.Utilities.ReflectionUtil.InvokeMethod(System.Object,System.String,System.Object[]) - name.vb: InvokeMethod(Object, String, Object()) - fullName: IPA.Utilities.ReflectionUtil.InvokeMethod(System.Object, System.String, System.Object[]) - fullName.vb: IPA.Utilities.ReflectionUtil.InvokeMethod(System.Object, System.String, System.Object()) - nameWithType: ReflectionUtil.InvokeMethod(Object, String, Object[]) - nameWithType.vb: ReflectionUtil.InvokeMethod(Object, String, Object()) +- uid: IPA.Utilities.ReflectionUtil.GetProperty* + name: GetProperty + href: api/IPA.Utilities.ReflectionUtil.html#IPA_Utilities_ReflectionUtil_GetProperty_ + commentId: Overload:IPA.Utilities.ReflectionUtil.GetProperty + isSpec: "True" + fullName: IPA.Utilities.ReflectionUtil.GetProperty + nameWithType: ReflectionUtil.GetProperty +- uid: IPA.Utilities.ReflectionUtil.GetProperty``2(``0,System.String) + name: GetProperty(T, String) + href: api/IPA.Utilities.ReflectionUtil.html#IPA_Utilities_ReflectionUtil_GetProperty__2___0_System_String_ + commentId: M:IPA.Utilities.ReflectionUtil.GetProperty``2(``0,System.String) + name.vb: GetProperty(Of T, U)(T, String) + fullName: IPA.Utilities.ReflectionUtil.GetProperty(T, System.String) + fullName.vb: IPA.Utilities.ReflectionUtil.GetProperty(Of T, U)(T, System.String) + nameWithType: ReflectionUtil.GetProperty(T, String) + nameWithType.vb: ReflectionUtil.GetProperty(Of T, U)(T, String) - uid: IPA.Utilities.ReflectionUtil.InvokeMethod* name: InvokeMethod href: api/IPA.Utilities.ReflectionUtil.html#IPA_Utilities_ReflectionUtil_InvokeMethod_ @@ -5188,15 +5404,6 @@ references: fullName.vb: IPA.Utilities.ReflectionUtil.InvokeMethod(Of T)(T, System.String, System.Object()) nameWithType: ReflectionUtil.InvokeMethod(T, String, Object[]) nameWithType.vb: ReflectionUtil.InvokeMethod(Of T)(T, String, Object()) -- uid: IPA.Utilities.ReflectionUtil.InvokeMethod``1(System.Object,System.String,System.Object[]) - name: InvokeMethod(Object, String, Object[]) - href: api/IPA.Utilities.ReflectionUtil.html#IPA_Utilities_ReflectionUtil_InvokeMethod__1_System_Object_System_String_System_Object___ - commentId: M:IPA.Utilities.ReflectionUtil.InvokeMethod``1(System.Object,System.String,System.Object[]) - name.vb: InvokeMethod(Of T)(Object, String, Object()) - fullName: IPA.Utilities.ReflectionUtil.InvokeMethod(System.Object, System.String, System.Object[]) - fullName.vb: IPA.Utilities.ReflectionUtil.InvokeMethod(Of T)(System.Object, System.String, System.Object()) - nameWithType: ReflectionUtil.InvokeMethod(Object, String, Object[]) - nameWithType.vb: ReflectionUtil.InvokeMethod(Of T)(Object, String, Object()) - uid: IPA.Utilities.ReflectionUtil.InvokeMethod``2(``1,System.String,System.Object[]) name: InvokeMethod(U, String, Object[]) href: api/IPA.Utilities.ReflectionUtil.html#IPA_Utilities_ReflectionUtil_InvokeMethod__2___1_System_String_System_Object___ @@ -5206,12 +5413,6 @@ references: fullName.vb: IPA.Utilities.ReflectionUtil.InvokeMethod(Of T, U)(U, System.String, System.Object()) nameWithType: ReflectionUtil.InvokeMethod(U, String, Object[]) nameWithType.vb: ReflectionUtil.InvokeMethod(Of T, U)(U, String, Object()) -- uid: IPA.Utilities.ReflectionUtil.SetField(System.Object,System.String,System.Object) - name: SetField(Object, String, Object) - href: api/IPA.Utilities.ReflectionUtil.html#IPA_Utilities_ReflectionUtil_SetField_System_Object_System_String_System_Object_ - commentId: M:IPA.Utilities.ReflectionUtil.SetField(System.Object,System.String,System.Object) - fullName: IPA.Utilities.ReflectionUtil.SetField(System.Object, System.String, System.Object) - nameWithType: ReflectionUtil.SetField(Object, String, Object) - uid: IPA.Utilities.ReflectionUtil.SetField* name: SetField href: api/IPA.Utilities.ReflectionUtil.html#IPA_Utilities_ReflectionUtil_SetField_ @@ -5219,21 +5420,15 @@ references: isSpec: "True" fullName: IPA.Utilities.ReflectionUtil.SetField nameWithType: ReflectionUtil.SetField -- uid: IPA.Utilities.ReflectionUtil.SetField``1(``0,System.String,System.Object) - name: SetField(T, String, Object) - href: api/IPA.Utilities.ReflectionUtil.html#IPA_Utilities_ReflectionUtil_SetField__1___0_System_String_System_Object_ - commentId: M:IPA.Utilities.ReflectionUtil.SetField``1(``0,System.String,System.Object) - name.vb: SetField(Of T)(T, String, Object) - fullName: IPA.Utilities.ReflectionUtil.SetField(T, System.String, System.Object) - fullName.vb: IPA.Utilities.ReflectionUtil.SetField(Of T)(T, System.String, System.Object) - nameWithType: ReflectionUtil.SetField(T, String, Object) - nameWithType.vb: ReflectionUtil.SetField(Of T)(T, String, Object) -- uid: IPA.Utilities.ReflectionUtil.SetProperty(System.Object,System.String,System.Object) - name: SetProperty(Object, String, Object) - href: api/IPA.Utilities.ReflectionUtil.html#IPA_Utilities_ReflectionUtil_SetProperty_System_Object_System_String_System_Object_ - commentId: M:IPA.Utilities.ReflectionUtil.SetProperty(System.Object,System.String,System.Object) - fullName: IPA.Utilities.ReflectionUtil.SetProperty(System.Object, System.String, System.Object) - nameWithType: ReflectionUtil.SetProperty(Object, String, Object) +- uid: IPA.Utilities.ReflectionUtil.SetField``2(``0,System.String,``1) + name: SetField(T, String, U) + href: api/IPA.Utilities.ReflectionUtil.html#IPA_Utilities_ReflectionUtil_SetField__2___0_System_String___1_ + commentId: M:IPA.Utilities.ReflectionUtil.SetField``2(``0,System.String,``1) + name.vb: SetField(Of T, U)(T, String, U) + fullName: IPA.Utilities.ReflectionUtil.SetField(T, System.String, U) + fullName.vb: IPA.Utilities.ReflectionUtil.SetField(Of T, U)(T, System.String, U) + nameWithType: ReflectionUtil.SetField(T, String, U) + nameWithType.vb: ReflectionUtil.SetField(Of T, U)(T, String, U) - uid: IPA.Utilities.ReflectionUtil.SetProperty* name: SetProperty href: api/IPA.Utilities.ReflectionUtil.html#IPA_Utilities_ReflectionUtil_SetProperty_ @@ -5241,15 +5436,15 @@ references: isSpec: "True" fullName: IPA.Utilities.ReflectionUtil.SetProperty nameWithType: ReflectionUtil.SetProperty -- uid: IPA.Utilities.ReflectionUtil.SetProperty``1(``0,System.String,System.Object) - name: SetProperty(T, String, Object) - href: api/IPA.Utilities.ReflectionUtil.html#IPA_Utilities_ReflectionUtil_SetProperty__1___0_System_String_System_Object_ - commentId: M:IPA.Utilities.ReflectionUtil.SetProperty``1(``0,System.String,System.Object) - name.vb: SetProperty(Of T)(T, String, Object) - fullName: IPA.Utilities.ReflectionUtil.SetProperty(T, System.String, System.Object) - fullName.vb: IPA.Utilities.ReflectionUtil.SetProperty(Of T)(T, System.String, System.Object) - nameWithType: ReflectionUtil.SetProperty(T, String, Object) - nameWithType.vb: ReflectionUtil.SetProperty(Of T)(T, String, Object) +- uid: IPA.Utilities.ReflectionUtil.SetProperty``2(``0,System.String,``1) + name: SetProperty(T, String, U) + href: api/IPA.Utilities.ReflectionUtil.html#IPA_Utilities_ReflectionUtil_SetProperty__2___0_System_String___1_ + commentId: M:IPA.Utilities.ReflectionUtil.SetProperty``2(``0,System.String,``1) + name.vb: SetProperty(Of T, U)(T, String, U) + fullName: IPA.Utilities.ReflectionUtil.SetProperty(T, System.String, U) + fullName.vb: IPA.Utilities.ReflectionUtil.SetProperty(Of T, U)(T, System.String, U) + nameWithType: ReflectionUtil.SetProperty(T, String, U) + nameWithType.vb: ReflectionUtil.SetProperty(Of T, U)(T, String, U) - uid: IPA.Utilities.UnityGame name: UnityGame href: api/IPA.Utilities.UnityGame.html