包含 Bolt Visual Scripting 示例的 Unity 包的集合。 每个示例都演示了如何使用 Unity 编辑器功能、游戏逻辑等,无需编写任何代码。
您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 

1434 行
64 KiB

<?xml version="1.0"?>
<doc>
<assembly>
<name>Ludiq.Core.Runtime</name>
</assembly>
<members>
<member name="T:Ludiq.FullSerializer.fsDateConverter">
<summary>
Supports serialization for DateTime, DateTimeOffset, and TimeSpan.
</summary>
</member>
<member name="T:Ludiq.FullSerializer.fsEnumConverter">
<summary>
Serializes and deserializes enums by their current name.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsEnumConverter.ArrayContains``1(``0[],``0)">
<summary>
Returns true if the given value is contained within the specified
array.
</summary>
</member>
<member name="T:Ludiq.FullSerializer.fsForwardAttribute">
<summary>
This allows you to forward serialization of an object to one of its
members. For example,
[fsForward("Values")]
struct Wrapper {
public int[] Values;
}
Then `Wrapper` will be serialized into a JSON array of integers. It will
be as if `Wrapper` doesn't exist.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsForwardAttribute.#ctor(System.String)">
<summary>
Forward object serialization to an instance member. See class
comment.
</summary>
<param name="memberName">
The name of the member that we should serialize this object as.
</param>
</member>
<member name="F:Ludiq.FullSerializer.fsForwardAttribute.MemberName">
<summary>
The name of the member we should serialize as.
</summary>
</member>
<member name="T:Ludiq.FullSerializer.fsGuidConverter">
<summary>
Serializes and deserializes guids.
</summary>
</member>
<member name="T:Ludiq.FullSerializer.fsIEnumerableConverter">
<summary>
Provides serialization support for anything which extends from
`IEnumerable` and has an `Add` method.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsIEnumerableConverter.GetElementType(System.Type)">
<summary>
Fetches the element type for objects inside of the collection.
</summary>
</member>
<member name="T:Ludiq.FullSerializer.fsNullableConverter">
<summary>
The reflected converter will properly serialize nullable types. However,
we do it here instead as we can emit less serialization data.
</summary>
</member>
<member name="T:Ludiq.FullSerializer.fsWeakReferenceConverter">
<summary>
Serializes and deserializes WeakReferences.
</summary>
</member>
<member name="T:Ludiq.FullSerializer.fsConverterRegistrar">
<summary>
This class allows arbitrary code to easily register global converters. To
add a converter, simply declare a new field called "Register_*" that
stores the type of converter you would like to add. Alternatively, you
can do the same with a method called "Register_*"; just add the converter
type to the `Converters` list.
</summary>
</member>
<member name="T:Ludiq.FullSerializer.fsAotCompilationManager">
<summary>
The AOT compilation manager
</summary>
</member>
<member name="P:Ludiq.FullSerializer.fsAotCompilationManager.AvailableAotCompilations">
<summary>
Ahead of time compilations that are available. The type maps to the
object type the generated converter will serialize/deserialize, and
the string is the text content for a converter that will do the
serialization.
<para />
The generated serializer is completely independent and you don't need
to do anything. Simply add the file to your project and it'll get
used instead of the reflection based one.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsAotCompilationManager.TryToPerformAotCompilation(Ludiq.FullSerializer.fsConfig,System.Type,System.String@)">
<summary>
This is a helper method that makes it simple to run an AOT
compilation on the given type.
</summary>
<param name="config">
The configuration to use when running AOT compilation.
</param>
<param name="type">
The type to perform the AOT compilation on.
</param>
<param name="aotCompiledClassInCSharp">
The AOT class. Add this C# code to your project.
</param>
<returns>True if AOT compilation was successful.</returns>
</member>
<member name="M:Ludiq.FullSerializer.fsAotCompilationManager.AddAotCompilation(System.Type,Ludiq.FullSerializer.fsMetaProperty[],System.Boolean)">
<summary>
Adds a new AOT compilation unit.
</summary>
<param name="type">The type of object we are AOT compiling.</param>
<param name="members">
The members on the object which will be serialized/deserialized.
</param>
</member>
<member name="M:Ludiq.FullSerializer.fsAotCompilationManager.GenerateDirectConverterForTypeInCSharp(System.Type,Ludiq.FullSerializer.fsMetaProperty[],System.Boolean)">
<summary>
AOT compiles the object (in C#).
</summary>
</member>
<member name="T:Ludiq.FullSerializer.fsBaseConverter">
<summary>
The serialization converter allows for customization of the serialization
process.
</summary>
<remarks>
You do not want to derive from this class - there is no way to actually
use it within the serializer.. Instead, derive from either fsConverter or
fsDirectConverter
</remarks>
</member>
<member name="F:Ludiq.FullSerializer.fsBaseConverter.Serializer">
<summary>
The serializer that was owns this converter.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsBaseConverter.CreateInstance(Ludiq.FullSerializer.fsData,System.Type)">
<summary>
Construct an object instance that will be passed to TryDeserialize.
This should **not** deserialize the object.
</summary>
<param name="data">The data the object was serialized with.</param>
<param name="storageType">
The field/property type that is storing the instance.
</param>
<returns>An object instance</returns>
</member>
<member name="M:Ludiq.FullSerializer.fsBaseConverter.RequestCycleSupport(System.Type)">
<summary>
If true, then the serializer will support cyclic references with the
given converted type.
</summary>
<param name="storageType">
The field/property type that is currently storing the object that is
being serialized.
</param>
</member>
<member name="M:Ludiq.FullSerializer.fsBaseConverter.RequestInheritanceSupport(System.Type)">
<summary>
If true, then the serializer will include inheritance data for the
given converter.
</summary>
<param name="storageType">
The field/property type that is currently storing the object that is
being serialized.
</param>
</member>
<member name="M:Ludiq.FullSerializer.fsBaseConverter.TrySerialize(System.Object,Ludiq.FullSerializer.fsData@,System.Type)">
<summary>
Serialize the actual object into the given data storage.
</summary>
<param name="instance">
The object instance to serialize. This will never be null.
</param>
<param name="serialized">The serialized state.</param>
<param name="storageType">
The field/property type that is storing this instance.
</param>
<returns>If serialization was successful.</returns>
</member>
<member name="M:Ludiq.FullSerializer.fsBaseConverter.TryDeserialize(Ludiq.FullSerializer.fsData,System.Object@,System.Type)">
<summary>
Deserialize data into the object instance.
</summary>
<param name="data">Serialization data to deserialize from.</param>
<param name="instance">
The object instance to deserialize into.
</param>
<param name="storageType">
The field/property type that is storing the instance.
</param>
<returns>
True if serialization was successful, false otherwise.
</returns>
</member>
<member name="F:Ludiq.FullSerializer.fsGlobalConfig.IsCaseSensitive">
<summary>
Should deserialization be case sensitive? If this is false and the
JSON has multiple members with the same keys only separated by case,
then this results in undefined behavior.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsGlobalConfig.AllowInternalExceptions">
<summary>
If exceptions are allowed internally, then additional date formats
can be deserialized. Note that the Full Serializer public API will
*not* throw exceptions with this enabled; errors will still be
returned in a fsResult instance.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsGlobalConfig.InternalFieldPrefix">
<summary>
This string will be used to prefix fields used internally by
FullSerializer.
</summary>
</member>
<member name="T:Ludiq.FullSerializer.fsConfig">
<summary>
Enables some top-level customization of Full Serializer.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsConfig.SerializeAttributes">
<summary>
The attributes that will force a field or property to be serialized.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsConfig.IgnoreSerializeAttributes">
<summary>
The attributes that will force a field or property to *not* be
serialized.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsConfig.DefaultMemberSerialization">
<summary>
The default member serialization.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsConfig.GetJsonNameFromMemberName">
<summary>
Convert a C# field/property name into the key used for the JSON
object. For example, you could force all JSON names to lowercase
with:
fsConfig.GetJsonNameFromMemberName = (name, info) =&gt;
name.ToLower();
This will only be used when the name is not explicitly specified with
fsProperty.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsConfig.EnablePropertySerialization">
<summary>
If false, then *all* property serialization support will be disabled
- even properties explicitly annotated with fsProperty or any other
opt-in annotation.
Setting this to false means that SerializeNonAutoProperties and
SerializeNonPublicSetProperties will be completely ignored.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsConfig.SerializeNonAutoProperties">
<summary>
Should the default serialization behaviour include non-auto
properties?
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsConfig.SerializeNonPublicSetProperties">
<summary>
Should the default serialization behaviour include properties with
non-public setters?
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsConfig.CustomDateTimeFormatString">
<summary>
If not null, this string format will be used for DateTime instead of
the default one.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsConfig.Serialize64BitIntegerAsString">
<summary>
Int64 and UInt64 will be serialized and deserialized as string for
compatibility
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsConfig.SerializeEnumsAsInteger">
<summary>
Enums are serialized using their names by default. Setting this to
true will serialize them as integers instead.
</summary>
</member>
<member name="T:Ludiq.FullSerializer.fsContext">
<summary>
fsContext stores global metadata that can be used to customize how
fsConverters operate during serialization.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsContext._contextObjects">
<summary>
All of the context objects.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsContext.Reset">
<summary>
Removes all context objects from the context.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsContext.Set``1(``0)">
<summary>
Sets the context object for the given type with the given value.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsContext.Has``1">
<summary>
Returns true if there is a context object for the given type.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsContext.Get``1">
<summary>
Fetches the context object for the given type.
</summary>
</member>
<member name="T:Ludiq.FullSerializer.fsConverter">
<summary>
The serialization converter allows for customization of the serialization
process.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsConverter.CanProcess(System.Type)">
<summary>
Can this converter serialize and deserialize the given object type?
</summary>
<param name="type">The given object type.</param>
<returns>
True if the converter can serialize it, false otherwise.
</returns>
</member>
<member name="T:Ludiq.FullSerializer.fsDataType">
<summary>
The actual type that a JsonData instance can store.
</summary>
</member>
<member name="T:Ludiq.FullSerializer.fsData">
<summary>
A union type that stores a serialized value. The stored type can be one
of six different
types: null, boolean, double, Int64, string, Dictionary, or List.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsData._value">
<summary>
The raw value that this serialized data stores. It can be one of six
different types; a boolean, a double, Int64, a string, a Dictionary,
or a List.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsData.#ctor">
<summary>
Creates a fsData instance that holds null.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsData.#ctor(System.Boolean)">
<summary>
Creates a fsData instance that holds a boolean.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsData.#ctor(System.Double)">
<summary>
Creates a fsData instance that holds a double.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsData.#ctor(System.Int64)">
<summary>
Creates a new fsData instance that holds an integer.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsData.#ctor(System.String)">
<summary>
Creates a fsData instance that holds a string.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsData.#ctor(System.Collections.Generic.Dictionary{System.String,Ludiq.FullSerializer.fsData})">
<summary>
Creates a fsData instance that holds a dictionary of values.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsData.#ctor(System.Collections.Generic.List{Ludiq.FullSerializer.fsData})">
<summary>
Creates a fsData instance that holds a list of values.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsData.CreateDictionary">
<summary>
Helper method to create a fsData instance that holds a dictionary.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsData.CreateList">
<summary>
Helper method to create a fsData instance that holds a list.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsData.CreateList(System.Int32)">
<summary>
Helper method to create a fsData instance that holds a list with the
initial capacity.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsData.BecomeDictionary">
<summary>
Transforms the internal fsData instance into a dictionary.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsData.Clone">
<summary>
Returns a shallow clone of this data instance.
</summary>
</member>
<member name="P:Ludiq.FullSerializer.fsData.IsNull">
<summary>
Returns true if this fsData instance maps back to null.
</summary>
</member>
<member name="P:Ludiq.FullSerializer.fsData.IsDouble">
<summary>
Returns true if this fsData instance maps back to a double.
</summary>
</member>
<member name="P:Ludiq.FullSerializer.fsData.IsInt64">
<summary>
Returns true if this fsData instance maps back to an Int64.
</summary>
</member>
<member name="P:Ludiq.FullSerializer.fsData.IsBool">
<summary>
Returns true if this fsData instance maps back to a boolean.
</summary>
</member>
<member name="P:Ludiq.FullSerializer.fsData.IsString">
<summary>
Returns true if this fsData instance maps back to a string.
</summary>
</member>
<member name="P:Ludiq.FullSerializer.fsData.IsDictionary">
<summary>
Returns true if this fsData instance maps back to a Dictionary.
</summary>
</member>
<member name="P:Ludiq.FullSerializer.fsData.IsList">
<summary>
Returns true if this fsData instance maps back to a List.
</summary>
</member>
<member name="P:Ludiq.FullSerializer.fsData.AsDouble">
<summary>
Casts this fsData to a double. Throws an exception if it is not a
double.
</summary>
</member>
<member name="P:Ludiq.FullSerializer.fsData.AsInt64">
<summary>
Casts this fsData to an Int64. Throws an exception if it is not an
Int64.
</summary>
</member>
<member name="P:Ludiq.FullSerializer.fsData.AsBool">
<summary>
Casts this fsData to a boolean. Throws an exception if it is not a
boolean.
</summary>
</member>
<member name="P:Ludiq.FullSerializer.fsData.AsString">
<summary>
Casts this fsData to a string. Throws an exception if it is not a
string.
</summary>
</member>
<member name="P:Ludiq.FullSerializer.fsData.AsDictionary">
<summary>
Casts this fsData to a Dictionary. Throws an exception if it is not a
Dictionary.
</summary>
</member>
<member name="P:Ludiq.FullSerializer.fsData.AsList">
<summary>
Casts this fsData to a List. Throws an exception if it is not a List.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsData.Cast``1">
<summary>
Internal helper method to cast the underlying storage to the given
type or throw a pretty printed exception on failure.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsData.Equals(System.Object)">
<summary>
Determines whether the specified object is equal to the current
object.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsData.Equals(Ludiq.FullSerializer.fsData)">
<summary>
Determines whether the specified object is equal to the current
object.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsData.op_Equality(Ludiq.FullSerializer.fsData,Ludiq.FullSerializer.fsData)">
<summary>
Returns true iff a == b.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsData.op_Inequality(Ludiq.FullSerializer.fsData,Ludiq.FullSerializer.fsData)">
<summary>
Returns true iff a != b.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsData.GetHashCode">
<summary>
Returns a hash code for this instance.
</summary>
<returns>
A hash code for this instance, suitable for use in hashing algorithms
and data structures like a hash table.
</returns>
</member>
<member name="T:Ludiq.FullSerializer.fsDirectConverter">
<summary>
The direct converter is similar to a regular converter, except that it
targets specifically only one type. This means that it can be used
without performance impact when discovering converters. It is strongly
recommended that you derive from fsDirectConverter{TModel}.
</summary>
<remarks>
Due to the way that direct converters operate, inheritance is *not*
supported. Direct converters will only be used with the exact ModelType
object.
</remarks>
</member>
<member name="T:Ludiq.FullSerializer.fsIgnoreAttribute">
<summary>
The given property or field annotated with [JsonIgnore] will not be
serialized.
</summary>
</member>
<member name="T:Ludiq.FullSerializer.fsISerializationCallbacks">
<summary>
Extend this interface on your type to receive notifications about
serialization/deserialization events. If you don't have access to the
type itself, then you can write an fsObjectProcessor instead.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsISerializationCallbacks.OnBeforeSerialize(System.Type)">
<summary>
Called before serialization.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsISerializationCallbacks.OnAfterSerialize(System.Type,Ludiq.FullSerializer.fsData@)">
<summary>
Called after serialization.
</summary>
<param name="storageType">
The field/property type that is storing the instance.
</param>
<param name="data">The data that was serialized.</param>
</member>
<member name="M:Ludiq.FullSerializer.fsISerializationCallbacks.OnBeforeDeserialize(System.Type,Ludiq.FullSerializer.fsData@)">
<summary>
Called before deserialization.
</summary>
<param name="storageType">
The field/property type that is storing the instance.
</param>
<param name="data">
The data that will be used for deserialization.
</param>
</member>
<member name="M:Ludiq.FullSerializer.fsISerializationCallbacks.OnAfterDeserialize(System.Type)">
<summary>
Called after deserialization.
</summary>
<param name="storageType">
The field/property type that is storing the instance.
</param>
<param name="instance">The type of the instance.</param>
</member>
<member name="T:Ludiq.FullSerializer.fsJsonParser">
<summary>
A simple recursive descent parser for JSON.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsJsonParser.SkipSpace">
<summary>
Skips input such that Character() will return a non-whitespace
character
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsJsonParser.TryParseNumber(Ludiq.FullSerializer.fsData@)">
<summary>
Parses numbers that follow the regular expression [-+](\d+|\d*\.\d*)
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsJsonParser.TryParseString(System.String@)">
<summary>
Parses a string
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsJsonParser.TryParseArray(Ludiq.FullSerializer.fsData@)">
<summary>
Parses an array
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsJsonParser.Parse(System.String,Ludiq.FullSerializer.fsData@)">
<summary>
Parses the specified input. Returns a failure state if parsing
failed.
</summary>
<param name="input">The input to parse.</param>
<param name="data">
The parsed data. This is undefined if parsing fails.
</param>
<returns>The parsed input.</returns>
</member>
<member name="M:Ludiq.FullSerializer.fsJsonParser.Parse(System.String)">
<summary>
Helper method for Parse that does not allow the error information to
be recovered.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsJsonPrinter.InsertSpacing(System.IO.TextWriter,System.Int32)">
<summary>
Inserts the given number of indents into the builder.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsJsonPrinter.EscapeString(System.String)">
<summary>
Escapes a string.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsJsonPrinter.BuildPrettyString(Ludiq.FullSerializer.fsData,System.IO.TextWriter,System.Int32)">
<summary>
Formats this data into the given builder.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsJsonPrinter.PrettyJson(Ludiq.FullSerializer.fsData,System.IO.TextWriter)">
<summary>
Writes the pretty JSON output data to the given stream.
</summary>
<param name="data">The data to print.</param>
<param name="outputStream">Where to write the printed data.</param>
</member>
<member name="M:Ludiq.FullSerializer.fsJsonPrinter.PrettyJson(Ludiq.FullSerializer.fsData)">
<summary>
Returns the data in a pretty printed JSON format.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsJsonPrinter.CompressedJson(Ludiq.FullSerializer.fsData,System.IO.StreamWriter)">
<summary>
Writes the compressed JSON output data to the given stream.
</summary>
<param name="data">The data to print.</param>
<param name="outputStream">Where to write the printed data.</param>
</member>
<member name="M:Ludiq.FullSerializer.fsJsonPrinter.CompressedJson(Ludiq.FullSerializer.fsData)">
<summary>
Returns the data in a relatively compressed JSON format.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsJsonPrinter.ConvertDoubleToString(System.Double)">
<summary>
Utility method that converts a double to a string.
</summary>
</member>
<member name="T:Ludiq.FullSerializer.fsMemberSerialization">
<summary>
Controls how the reflected converter handles member serialization.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsMemberSerialization.OptIn">
<summary>
Only members with [SerializeField] or [fsProperty] attributes are
serialized.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsMemberSerialization.OptOut">
<summary>
Only members with [NotSerialized] or [fsIgnore] will not be
serialized.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsMemberSerialization.Default">
<summary>
The default member serialization behavior is applied.
</summary>
</member>
<member name="T:Ludiq.FullSerializer.fsObjectAttribute">
<summary>
This attribute controls some serialization behavior for a type. See the
comments on each of the fields for more information.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsObjectAttribute.PreviousModels">
<summary>
The previous model that should be used if an old version of this
object is encountered. Using this attribute also requires that the
type have a public constructor that takes only one parameter, an
object instance of the given type. Use of this parameter *requires*
that the VersionString parameter is also set.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsObjectAttribute.VersionString">
<summary>
The version string to use for this model. This should be unique among
all prior versions of this model that is supported for importation.
If PreviousModel is set, then this attribute must also be set. A good
valid example for this is "v1", "v2", "v3", ...
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsObjectAttribute.MemberSerialization">
<summary>
This controls the behavior for member serialization. The default
behavior is fsMemberSerialization.Default.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsObjectAttribute.Converter">
<summary>
Specify a custom converter to use for serialization. The converter
type needs to derive from fsBaseConverter. This defaults to null.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsObjectAttribute.Processor">
<summary>
Specify a custom processor to use during serialization. The processor
type needs to derive from fsObjectProcessor and the call to
CanProcess is not invoked. This defaults to null.
</summary>
</member>
<member name="T:Ludiq.FullSerializer.fsObjectProcessor">
<summary>
<para>
Enables injecting code before/after an object has been serialized. This
is most useful if you want to run the default serialization process but
apply a pre/post processing step.
</para>
<para>
Multiple object processors can be active at the same time. When running
they are called in a "nested" fashion - if we have processor1 and
process2 added to the serializer in that order (p1 then p2), then the
execution order will be p1#Before p2#Before /serialization/ p2#After
p1#After.
</para>
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsObjectProcessor.CanProcess(System.Type)">
<summary>
Is the processor interested in objects of the given type?
</summary>
<param name="type">The given type.</param>
<returns>
True if the processor should be applied, false otherwise.
</returns>
</member>
<member name="M:Ludiq.FullSerializer.fsObjectProcessor.OnBeforeSerialize(System.Type,System.Object)">
<summary>
Called before serialization.
</summary>
<param name="storageType">
The field/property type that is storing the instance.
</param>
<param name="instance">The type of the instance.</param>
</member>
<member name="M:Ludiq.FullSerializer.fsObjectProcessor.OnAfterSerialize(System.Type,System.Object,Ludiq.FullSerializer.fsData@)">
<summary>
Called after serialization.
</summary>
<param name="storageType">
The field/property type that is storing the instance.
</param>
<param name="instance">The type of the instance.</param>
<param name="data">The data that was serialized.</param>
</member>
<member name="M:Ludiq.FullSerializer.fsObjectProcessor.OnBeforeDeserialize(System.Type,Ludiq.FullSerializer.fsData@)">
<summary>
Called before deserialization.
</summary>
<param name="storageType">
The field/property type that is storing the instance.
</param>
<param name="data">
The data that will be used for deserialization.
</param>
</member>
<member name="M:Ludiq.FullSerializer.fsObjectProcessor.OnBeforeDeserializeAfterInstanceCreation(System.Type,System.Object,Ludiq.FullSerializer.fsData@)">
<summary>
Called before deserialization has begun but *after* the object
instance has been created. This will get invoked even if the user
passed in an existing instance.
</summary>
<remarks>
**IMPORTANT**: The actual instance that gets passed here is *not*
guaranteed to be an a subtype of storageType, since the value for
instance is whatever the active converter returned for
CreateInstance() - ie, some converters will return dummy types in
CreateInstance() if instance creation cannot be separated from
deserialization (ie, KeyValuePair).
</remarks>
<param name="storageType">
The field/property type that is storing the instance.
</param>
<param name="instance">
The created object instance. No deserialization has been applied to
it.
</param>
<param name="data">
The data that will be used for deserialization.
</param>
</member>
<member name="M:Ludiq.FullSerializer.fsObjectProcessor.OnAfterDeserialize(System.Type,System.Object)">
<summary>
Called after deserialization.
</summary>
<param name="storageType">
The field/property type that is storing the instance.
</param>
<param name="instance">The type of the instance.</param>
</member>
<member name="T:Ludiq.FullSerializer.fsPropertyAttribute">
<summary>
Explicitly mark a property to be serialized. This can also be used to
give the name that the property should use during serialization.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsPropertyAttribute.Name">
<summary>
The name of that the property will use in JSON serialization.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsPropertyAttribute.Converter">
<summary>
Use a custom converter for the given type. Specify the converter to
use using typeof.
</summary>
</member>
<member name="T:Ludiq.FullSerializer.fsResult">
<summary>
The result of some sort of operation. A result is either successful or
not, but if it is successful then there may be a set of warnings/messages
associated with it. These warnings describe the performed error recovery
operations.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsResult._success">
<summary>
Is this result successful?
</summary>
<remarks>
This is intentionally a `success` state so that when the object is
default constructed it defaults to a failure state.
</remarks>
</member>
<member name="F:Ludiq.FullSerializer.fsResult._messages">
<summary>
The warning or error messages associated with the result. This may be
null if there are no messages.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsResult.AddMessage(System.String)">
<summary>
Adds a new message to this result.
</summary>
<param name="message"></param>
</member>
<member name="M:Ludiq.FullSerializer.fsResult.AddMessages(Ludiq.FullSerializer.fsResult)">
<summary>
Adds only the messages from the other result into this result,
ignoring the success/failure status of the other result.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsResult.Merge(Ludiq.FullSerializer.fsResult)">
<summary>
Merges the other result into this one. If the other result failed,
then this one too will have failed.
</summary>
<remarks>
Note that you can use += instead of this method so that you don't
bury the actual method call that is generating the other fsResult.
</remarks>
</member>
<member name="F:Ludiq.FullSerializer.fsResult.Success">
<summary>
A successful result.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsResult.Warn(System.String)">
<summary>
Create a result that is successful but contains the given warning
message.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsResult.Fail(System.String)">
<summary>
Create a result that failed.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsResult.op_Addition(Ludiq.FullSerializer.fsResult,Ludiq.FullSerializer.fsResult)">
<summary>
Only use this as +=!
</summary>
</member>
<member name="P:Ludiq.FullSerializer.fsResult.Failed">
<summary>
Did this result fail? If so, you can see the reasons why in
`RawMessages`.
</summary>
</member>
<member name="P:Ludiq.FullSerializer.fsResult.Succeeded">
<summary>
Was the result a success? Note that even successful operations may
have warning messages (`RawMessages`) associated with them.
</summary>
</member>
<member name="P:Ludiq.FullSerializer.fsResult.HasWarnings">
<summary>
Does this result have any warnings? This says nothing about if it
failed or succeeded, just if it has warning messages associated with
it.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsResult.AssertSuccess">
<summary>
A simply utility method that will assert that this result is
successful. If it is not, then an exception is thrown.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsResult.AssertSuccessWithoutWarnings">
<summary>
A simple utility method that will assert that this result is
successful and that there are no warning messages. This throws an
exception if either of those asserts are false.
</summary>
</member>
<member name="P:Ludiq.FullSerializer.fsResult.AsException">
<summary>
Utility method to convert the result to an exception. This method is
only defined is `Failed` returns true.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsSerializer._availableConverters">
<summary>
Converters that can be used for type registration.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsSerializer._availableDirectConverters">
<summary>
Direct converters (optimized _converters). We use these so we don't
have to perform a scan through every item in _converters and can
instead just do an O(1) lookup. This is potentially important to perf
when there are a ton of direct converters.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsSerializer._processors">
<summary>
Processors that are available.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsSerializer._references">
<summary>
Reference manager for cycle detection.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsSerializer._abstractTypeRemap">
<summary>
Allow the user to provide default storage types for interfaces and abstract
classes. For example, a model could have IList{int} as a parameter, but the
serialization data does not specify a List{int} type. A IList{} -> List{}
remapping will cause List{} to be used as the default storage type. see
https://github.com/jacobdufault/fullserializer/issues/120 for additional
context.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsSerializer._cachedConverterTypeInstances">
<summary>
Converter type to converter instance lookup table. This
could likely be stored inside
from serialized type to converter.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsSerializer._cachedConverters">
<summary>
A cache from type to it's converter.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsSerializer._cachedProcessors">
<summary>
A cache from type to the set of processors that are interested in it.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsSerializer.Context">
<summary>
A context object that fsConverters can use to customize how they
operate.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsSerializer.Config">
<summary>
Configuration options. Also see fsGlobalConfig.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsSerializer.AddProcessor(Ludiq.FullSerializer.fsObjectProcessor)">
<summary>
Add a new processor to the serializer. Multiple processors can run at
the same time in the same order they were added in.
</summary>
<param name="processor">The processor to add.</param>
</member>
<member name="M:Ludiq.FullSerializer.fsSerializer.RemoveProcessor``1">
<summary>
Remove all processors which derive from TProcessor.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsSerializer.SetDefaultStorageType(System.Type,System.Type)">
<summary>
Provide a default storage type for the given abstract or interface type. If
a type is deserialized which contains an interface/abstract field type and a
mapping is provided, the mapped type will be used by default. For example,
IList{T} => List{T} or IDictionary{TKey, TValue} => Dictionary{TKey, TValue}.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsSerializer.GetProcessors(System.Type)">
<summary>
Fetches all of the processors for the given type.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsSerializer.AddConverter(Ludiq.FullSerializer.fsBaseConverter)">
<summary>
Adds a new converter that can be used to customize how an object is
serialized and deserialized.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsSerializer.GetConverter(System.Type,System.Type)">
<summary>
Fetches a converter that can serialize/deserialize the given type.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsSerializer.TrySerialize``1(``0,Ludiq.FullSerializer.fsData@)">
<summary>
Helper method that simply forwards the call to
TrySerialize(typeof(T), instance, out data);
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsSerializer.TryDeserialize``1(Ludiq.FullSerializer.fsData,``0@)">
<summary>
Generic wrapper around TryDeserialize that simply forwards the call.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsSerializer.TrySerialize(System.Type,System.Object,Ludiq.FullSerializer.fsData@)">
<summary>
Serialize the given value.
</summary>
<param name="storageType">
The type of field/property that stores the object instance. This is
important particularly for inheritance, as a field storing an
IInterface instance should have type information included.
</param>
<param name="instance">
The actual object instance to serialize.
</param>
<param name="data">The serialized state of the object.</param>
<returns>If serialization was successful.</returns>
</member>
<member name="M:Ludiq.FullSerializer.fsSerializer.TrySerialize(System.Type,System.Type,System.Object,Ludiq.FullSerializer.fsData@)">
<summary>
Serialize the given value.
</summary>
<param name="storageType">
The type of field/property that stores the object instance. This is
important particularly for inheritance, as a field storing an
IInterface instance should have type information included.
</param>
<param name="overrideConverterType">
An fsBaseConverter derived type that will be used to serialize the
object instead of the converter found via the normal discovery
mechanisms.
</param>
<param name="instance">
The actual object instance to serialize.
</param>
<param name="data">The serialized state of the object.</param>
<returns>If serialization was successful.</returns>
</member>
<member name="M:Ludiq.FullSerializer.fsSerializer.TryDeserialize(Ludiq.FullSerializer.fsData,System.Type,System.Object@)">
<summary>
Attempts to deserialize a value from a serialized state.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsSerializer.TryDeserialize(Ludiq.FullSerializer.fsData,System.Type,System.Type,System.Object@)">
<summary>
Attempts to deserialize a value from a serialized state.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsSerializer.EnsureDictionary(Ludiq.FullSerializer.fsData)">
<summary>
Ensures that the data is a dictionary. If it is not, then it is
wrapped inside of one.
</summary>
</member>
<member name="T:Ludiq.FullSerializer.fsSerializer.fsLazyCycleDefinitionWriter">
<summary>
This manages instance writing so that we do not write unnecessary $id
fields. We only need to write out an $id field when there is a
corresponding $ref field. This is able to write $id references lazily
because the fsData instance is not actually written out to text until
we have entirely finished serializing it.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsSerializer.IsReservedKeyword(System.String)">
<summary>
Returns true if the given key is a special keyword that full
serializer uses to add additional metadata on top of the emitted
JSON.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsSerializer.Key_ObjectReference">
<summary>
This is an object reference in part of a cyclic graph.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsSerializer.Key_ObjectDefinition">
<summary>
This is an object definition, as part of a cyclic graph.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsSerializer.Key_InstanceType">
<summary>
This specifies the actual type of an object (the instance type was
different from the field type).
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsSerializer.Key_Version">
<summary>
The version string for the serialized data.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsSerializer.Key_Content">
<summary>
If we have to add metadata but the original serialized state was not
a dictionary, then this will contain the original data.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsSerializer.StripDeserializationMetadata(Ludiq.FullSerializer.fsData@)">
<summary>
Strips all deserialization metadata from the object, like $type and
$content fields.
</summary>
<remarks>
After making this call, you will *not* be able to deserialize the
same object instance. The metadata is strictly necessary for
deserialization!
</remarks>
</member>
<member name="M:Ludiq.FullSerializer.fsSerializer.ConvertLegacyData(Ludiq.FullSerializer.fsData@)">
<summary>
This function converts legacy serialization data into the new format,
so that the import process can be unified and ignore the old format.
</summary>
</member>
<member name="T:Ludiq.FullSerializer.Internal.fsOption`1">
<summary>
Simple option type. This is akin to nullable types.
</summary>
</member>
<member name="T:Ludiq.FullSerializer.Internal.fsPortableReflection">
<summary>
This wraps reflection types so that it is portable across different Unity
runtimes.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.Internal.fsPortableReflection.HasAttribute``1(System.Reflection.MemberInfo)">
<summary>
Returns true if the given attribute is defined on the given element.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.Internal.fsPortableReflection.HasAttribute``1(System.Reflection.MemberInfo,System.Boolean)">
<summary>
Returns true if the given attribute is defined on the given element.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.Internal.fsPortableReflection.HasAttribute(System.Reflection.MemberInfo,System.Type)">
<summary>
Returns true if the given attribute is defined on the given element.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.Internal.fsPortableReflection.HasAttribute(System.Reflection.MemberInfo,System.Type,System.Boolean)">
<summary>
Returns true if the given attribute is defined on the given element.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.Internal.fsPortableReflection.GetAttribute(System.Reflection.MemberInfo,System.Type,System.Boolean)">
<summary>
Fetches the given attribute from the given MemberInfo. This method
applies caching and is allocation free (after caching has been
performed).
</summary>
<param name="element">
The MemberInfo the get the attribute from.
</param>
<param name="attributeType">The type of attribute to fetch.</param>
<returns>The attribute or null.</returns>
</member>
<member name="M:Ludiq.FullSerializer.Internal.fsPortableReflection.GetAttribute``1(System.Reflection.MemberInfo,System.Boolean)">
<summary>
Fetches the given attribute from the given MemberInfo.
</summary>
<typeparam name="TAttribute">
The type of attribute to fetch.
</typeparam>
<param name="element">
The MemberInfo to get the attribute from.
</param>
<param name="shouldCache">
Should this computation be cached? If this is the only time it will
ever be done, don't bother caching.
</param>
<returns>The attribute or null.</returns>
</member>
<member name="M:Ludiq.FullSerializer.Internal.fsTypeExtensions.CSharpName(System.Type)">
<summary>
Returns a pretty name for the type in the style of one that you'd see
in C# without the namespace.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.Internal.fsTypeExtensions.CSharpName(System.Type,System.Boolean)">
<summary>
Returns a pretty name for the type in the style of one that you'd see
in C#.
</summary>
<parparam name="includeNamespace">
Should the name include namespaces?
</parparam>
</member>
<member name="F:Ludiq.FullSerializer.Internal.fsVersionedType.Ancestors">
<summary>
The direct ancestors that this type can import.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.Internal.fsVersionedType.VersionString">
<summary>
The identifying string that is unique among all ancestors.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.Internal.fsVersionedType.ModelType">
<summary>
The modeling type that this versioned type maps back to.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.Internal.fsVersionedType.Migrate(System.Object)">
<summary>
Migrate from an instance of an ancestor.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.Internal.fsVersionManager.VerifyConstructors(Ludiq.FullSerializer.Internal.fsVersionedType)">
<summary>
Verifies that the given type has constructors to migrate from all
ancestor types.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.Internal.fsVersionManager.VerifyUniqueVersionStrings(Ludiq.FullSerializer.Internal.fsVersionedType)">
<summary>
Verifies that the given version graph contains only unique versions.
</summary>
</member>
<member name="T:Ludiq.FullSerializer.fsMetaProperty">
<summary>
A property or field on a MetaType. This unifies the FieldInfo and
PropertyInfo classes.
</summary>
</member>
<member name="F:Ludiq.FullSerializer.fsMetaProperty._memberInfo">
<summary>
Internal handle to the reflected member.
</summary>
</member>
<member name="P:Ludiq.FullSerializer.fsMetaProperty.StorageType">
<summary>
The type of value that is stored inside of the property. For example,
for an int field, StorageType will be typeof(int).
</summary>
</member>
<member name="P:Ludiq.FullSerializer.fsMetaProperty.OverrideConverterType">
<summary>
A custom fsBaseConverter instance to use for this field/property, if
requested. This will be null if the default converter selection
algorithm should be used. This is specified using the [fsObject]
annotation with the Converter field.
</summary>
</member>
<member name="P:Ludiq.FullSerializer.fsMetaProperty.CanRead">
<summary>
Can this property be read?
</summary>
</member>
<member name="P:Ludiq.FullSerializer.fsMetaProperty.CanWrite">
<summary>
Can this property be written to?
</summary>
</member>
<member name="P:Ludiq.FullSerializer.fsMetaProperty.JsonName">
<summary>
The serialized name of the property, as it should appear in JSON.
</summary>
</member>
<member name="P:Ludiq.FullSerializer.fsMetaProperty.MemberName">
<summary>
The name of the actual member.
</summary>
</member>
<member name="P:Ludiq.FullSerializer.fsMetaProperty.IsPublic">
<summary>
Is this member public?
</summary>
</member>
<member name="P:Ludiq.FullSerializer.fsMetaProperty.IsReadOnly">
<summary>
Is this type readonly? We can modify readonly properties using
reflection, but not using generated C#.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsMetaProperty.Write(System.Object,System.Object)">
<summary>
Writes a value to the property that this MetaProperty represents,
using given object instance as the context.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsMetaProperty.Read(System.Object)">
<summary>
Reads a value from the property that this MetaProperty represents,
using the given object instance as the context.
</summary>
</member>
<member name="T:Ludiq.FullSerializer.fsMetaType">
<summary>
MetaType contains metadata about a type. This is used by the reflection
serializer.
</summary>
</member>
<member name="P:Ludiq.FullSerializer.fsMetaType.HasDefaultConstructor">
<summary>
Returns true if the type represented by this metadata contains a
default constructor.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsMetaType.EmitAotData">
<summary>
Attempt to emit an AOT compiled direct converter for this type.
</summary>
<returns>True if AOT data was emitted, false otherwise.</returns>
</member>
<member name="M:Ludiq.FullSerializer.fsMetaType.CreateInstance">
<summary>
Creates a new instance of the type that this metadata points back to.
If this type has a default constructor, then Activator.CreateInstance
will be used to construct the type (or Array.CreateInstance if it an
array). Otherwise, an uninitialized object created via
FormatterServices.GetSafeUninitializedObject is used to construct the
instance.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsMetaType.ClearCache">
<summary>
Clears out the cached type results. Useful if some prior assumptions
become invalid, ie, the default member serialization mode.
</summary>
</member>
<member name="M:Ludiq.FullSerializer.fsMetaType.CanSerializeProperty(Ludiq.FullSerializer.fsConfig,System.Reflection.PropertyInfo,System.Reflection.MemberInfo[],System.Boolean)">
<summary>
Returns if the given property should be serialized.
</summary>
<param name="annotationFreeValue">
Should a property without any annotations be serialized?
</param>
</member>
<member name="M:Ludiq.FullSerializer.fsReflectionUtility.GetInterface(System.Type,System.Type)">
<summary>
Searches for a particular implementation of the given interface type
inside of the type. This is particularly useful if the interface type
is an open type, ie, typeof(IFace{}), because this method will then
return IFace{} but with appropriate type parameters inserted.
</summary>
<param name="type">The base type to search for interface</param>
<param name="interfaceType">
The interface type to search for. Can be an open generic type.
</param>
<returns>
The actual interface type that the type contains, or null if there is
no implementation of the given interfaceType on type.
</returns>
</member>
<member name="T:Ludiq.FullSerializer.fsTypeCache">
<summary>
Caches type name to type lookups. Type lookups occur in all loaded
assemblies.
</summary>
</member>
<member name="T:Ludiq.MemberInfoComparer">
<summary>
A member info comparer that will ignore the ReflectedType
property by relying on the metadata token for comparison.
</summary>
</member>
<member name="T:Ludiq.SceneSingleton`1">
<remarks>
Does not support objects hidden with hide flags.
</remarks>
</member>
<member name="M:Ludiq.MemberUtility.MakeGenericMethodVia(System.Reflection.MethodInfo,System.Type[])">
<remarks>This may return an open-constructed method as well.</remarks>
</member>
<member name="T:Ludiq.TypeFilter">
<summary>
Filters the list of types displayed in the inspector drawer.
</summary>
</member>
<member name="T:Ludiq.Singleton`1">
<remarks>
Does not support objects hidden with hide flags.
</remarks>
</member>
</members>
</doc>