Files
ichni_Official/Packages/dev.yarnspinner.unity/Runtime/DLLs/YarnSpinner.xml
SoulliesOfficial 021e76efe7 同步
2026-06-09 11:21:59 -04:00

3646 lines
170 KiB
XML

<?xml version="1.0"?>
<doc>
<assembly>
<name>YarnSpinner</name>
</assembly>
<members>
<member name="T:Yarn.Utility.CRC32">
<summary>
Provides a method for generating CRC32 hashes of strings.
</summary>
</member>
<member name="M:Yarn.Utility.CRC32.GetChecksum(System.Byte[])">
<summary>
Computes a CRC32 checksum from the given bytes.
</summary>
<param name="bytes">The bytes to generate a checksum
for.</param>
<returns>A CRC32 checksum derived from <paramref
name="bytes"/>.</returns>
</member>
<member name="M:Yarn.Utility.CRC32.GetChecksum(System.String)">
<summary>
Computes a CRC32 checksum from the given string.
</summary>
<remarks>
This method converts the string to a UTF-8 encoding, and then
computes a CRC32 checksum from those bytes.
</remarks>
<param name="s">The string to generate a checksum for.</param>
<returns>A CRC32 checksum derived from <paramref
name="s"/>.</returns>
</member>
<member name="M:Yarn.Utility.CRC32.GetChecksumString(System.String)">
<summary>
Gets the CRC-32 hash of <paramref name="s"/> as a string
containing 8 lowercase hexadecimal characters.
</summary>
<remarks>
This method converts the string to a UTF-8 encoding, and then
computes a CRC32 checksum from those bytes.
</remarks>
<param name="s">The string to get the checksum of.</param>
<returns>The string containing the checksum.</returns>
</member>
<member name="T:Yarn.Line">
<summary>
A line of dialogue, sent from the <see cref="T:Yarn.Dialogue"/> to the game.
</summary>
<remarks>
<para>When the game receives a <see cref="T:Yarn.Line"/>, it should do the
following things to prepare the line for presentation to the user.
</para>
<list type="number">
<item>Use the value in the <see cref="P:Yarn.Line.ID"/> field to look up the
appropriate user-facing text in the string table. </item>
<item>Use <see cref="M:Yarn.Markup.LineParser.ExpandSubstitutions(System.String,System.Collections.Generic.IList{System.String})"/> to replace all
substitutions in the user-facing text.</item>
<item>Use <see cref="M:Yarn.Markup.LineParser.ParseString(System.String,System.String,System.Boolean,System.Boolean,System.Boolean)"/> to parse all markup in the
line.</item>
</list>
<para>You typically do not create instances of this struct yourself.
They are created by the <see cref="T:Yarn.Dialogue"/> during program
execution.</para>
</remarks>
<seealso cref="P:Yarn.Dialogue.LineHandler"/>
</member>
<member name="M:Yarn.Line.#ctor(System.String,System.String[])">
<summary>
Initialises a new instance of the <see cref="T:Yarn.Line"/> struct.
</summary>
<param name="stringID">The unique line ID for this content.</param>
<param name="substitutions">The list of values that should be
substituted into the final line.
</param>
</member>
<member name="P:Yarn.Line.ID">
<summary>
The string ID for this line.
</summary>
</member>
<member name="P:Yarn.Line.Substitutions">
<summary>
The values that should be inserted into the user-facing text before
delivery.
</summary>
</member>
<member name="T:Yarn.OptionSet">
<summary>
A set of <see cref="T:Yarn.OptionSet.Option"/>s, sent from the <see
cref="T:Yarn.Dialogue"/> to the game.
</summary>
<remarks>
You typically do not create instances of this struct yourself. They are
created by the <see cref="T:Yarn.Dialogue"/> during program execution.
</remarks>
<seealso cref="P:Yarn.Dialogue.OptionsHandler"/>
</member>
<member name="T:Yarn.OptionSet.Option">
<summary>
An option to be presented to the user.
</summary>
</member>
<member name="P:Yarn.OptionSet.Option.Line">
<summary>
Gets the <see cref="P:Yarn.OptionSet.Option.Line"/> that should be presented to the
user for this option.
</summary>
<remarks>
See the documentation for the <see cref="T:Yarn.Line"/> class
for information on how to prepare a line before presenting
it to the user.
</remarks>
</member>
<member name="P:Yarn.OptionSet.Option.ID">
<summary>
Gets the identifying number for this option.
</summary>
<remarks>
When the user selects this option, this value should be
used as the parameter for <see
cref="M:Yarn.Dialogue.SetSelectedOption(System.Int32)"/>.
</remarks>
</member>
<member name="P:Yarn.OptionSet.Option.DestinationInstruction">
<summary>
Gets the name of the node that will be run if this option
is selected.
</summary>
<remarks>
The value of this property not be valid if this is a
shortcut option.
</remarks>
</member>
<member name="P:Yarn.OptionSet.Option.IsAvailable">
<summary>
Gets a value indicating whether the player should be
permitted to select this option.
</summary>
<remarks>
<para>
If this value is <see langword="false"/>, this option had a
line condition on it that failed. The option will still be
delivered to the game, but, depending on the needs of the
game, the game may decide to not allow the player to select
it, or not offer it to the player at all.
</para>
<para>
This is intended for situations where games wish to show
options that the player _could_ have taken, if some other
condition had been met (e.g. having enough "charisma"
points).
</para>
</remarks>
</member>
<member name="P:Yarn.OptionSet.Options">
<summary>
Gets the <see cref="T:Yarn.OptionSet.Option"/>s that should be presented to the
user.
</summary>
<seealso cref="T:Yarn.OptionSet.Option"/>
</member>
<member name="T:Yarn.Command">
<summary>
A command, sent from the <see cref="T:Yarn.Dialogue"/> to the game.
</summary>
<remarks>
You do not create instances of this struct yourself. They are
created by the <see cref="T:Yarn.Dialogue"/> during program execution.
</remarks>
<seealso cref="P:Yarn.Dialogue.CommandHandler"/>
</member>
<member name="P:Yarn.Command.Text">
<summary>
Gets the text of the command.
</summary>
</member>
<member name="T:Yarn.Logger">
<summary>
Represents a method that receives diagnostic messages and error
information from a <see cref="T:Yarn.Dialogue"/>.
</summary>
<remarks>
The text that this delegate receives may be output to a console, or
sent to a log.
</remarks>
<param name="message">The text that should be logged.</param>
</member>
<member name="T:Yarn.IMarkupParser">
<summary>
Contains methods for parsing raw text into a <see
cref="T:Yarn.Markup.MarkupParseResult"/>.
</summary>
</member>
<member name="M:Yarn.IMarkupParser.ParseMarkup(System.String,System.String)">
<summary>
Parses a string into markup, given a locale.
</summary>
<param name="rawText">The text to parse.</param>
<param name="localeCode">The locale to use when parsing the text.</param>
<returns></returns>
</member>
<member name="T:Yarn.VariableKind">
<summary>
Represents different kinds of variables that can be fetched from a <see
cref="T:Yarn.Dialogue"/> using <see cref="M:Yarn.IVariableAccess.TryGetValue``1(System.String,``0@)"/>.
</summary>
</member>
<member name="F:Yarn.VariableKind.Unknown">
<summary>
The kind of the variable cannot be determined. It may not be known
to the system.
</summary>
</member>
<member name="F:Yarn.VariableKind.Stored">
<summary>
The variable's value is stored in memory, and may be persisted to
disk.
</summary>
</member>
<member name="F:Yarn.VariableKind.Smart">
<summary>
The variable's value is computed at run-time, and is not persisted
to disk.
</summary>
</member>
<member name="T:Yarn.IVariableAccess">
<summary>Provides a mechanism for retrieving values.</summary>
</member>
<member name="M:Yarn.IVariableAccess.TryGetValue``1(System.String,``0@)">
<summary>
Given a variable name, attempts to fetch a value for the variable,
either from storage, initial values found in <see cref="P:Yarn.IVariableAccess.Program"/>,
or by evaluating a smart variable found in <see cref="P:Yarn.IVariableAccess.Program"/>.
</summary>
<typeparam name="T">The type of the value to return. The fetched
value will be converted to this type, if possible.</typeparam>
<param name="variableName">The name of the variable.</param>
<param name="result">If this method returns <see langword="true"/>,
this parameter will contain the fetched value.</param>
<returns><see langword="true"/> if a value could be fetched; <see
langword="false"/> otherwise.</returns>
</member>
<member name="M:Yarn.IVariableAccess.GetVariableKind(System.String)">
<summary>
Gets the kind of variable named <paramref name="name"/>.
</summary>
<param name="name">The name of the variable.</param>
<returns>A <see cref="T:Yarn.VariableKind"/> enum representing the kind of
the variable named <paramref name="name"/>.</returns>
</member>
<member name="P:Yarn.IVariableAccess.Program">
<summary>
Gets or sets the Yarn <see cref="P:Yarn.IVariableAccess.Program"/> that stores information
about the initial values of variables, and is able to produce values
for smart variables.
</summary>
</member>
<member name="P:Yarn.IVariableAccess.SmartVariableEvaluator">
<summary>
Gets or sets the object to use when evaluating smart variables.
</summary>
</member>
<member name="T:Yarn.IVariableStorage">
<summary>Provides a mechanism for storing values.</summary>
</member>
<member name="M:Yarn.IVariableStorage.SetValue(System.String,System.String)">
<summary>
Stores a <see cref="T:System.String"/> in this VariableStorage.
</summary>
<param name="variableName">The name to associate with this
variable.</param>
<param name="stringValue">The string to store.</param>
</member>
<member name="M:Yarn.IVariableStorage.SetValue(System.String,System.Single)">
<summary>
Stores a <see cref="T:System.Single"/> in this VariableStorage.
</summary>
<param name="variableName">The name to associate with this
variable.</param>
<param name="floatValue">The number to store.</param>
</member>
<member name="M:Yarn.IVariableStorage.SetValue(System.String,System.Boolean)">
<summary>
Stores a <see cref="T:System.Boolean"/> in this VariableStorage.
</summary>
<param name="variableName">The name to associate with this
variable.</param>
<param name="boolValue">The boolean value to store.</param>
</member>
<member name="M:Yarn.IVariableStorage.Clear">
<summary>
Removes all variables from storage.
</summary>
</member>
<member name="T:Yarn.MemoryVariableStore">
<summary>
A simple concrete implementation of <see cref="T:Yarn.IVariableStorage"/>
that keeps all variables in memory.
</summary>
</member>
<member name="P:Yarn.MemoryVariableStore.Program">
<inheritdoc/>
</member>
<member name="P:Yarn.MemoryVariableStore.SmartVariableEvaluator">
<inheritdoc/>
</member>
<member name="M:Yarn.MemoryVariableStore.TryGetValue``1(System.String,``0@)">
<inheritdoc/>
</member>
<member name="M:Yarn.MemoryVariableStore.Clear">
<inheritdoc/>
</member>
<member name="M:Yarn.MemoryVariableStore.SetValue(System.String,System.String)">
<inheritdoc/>
</member>
<member name="M:Yarn.MemoryVariableStore.SetValue(System.String,System.Single)">
<inheritdoc/>
</member>
<member name="M:Yarn.MemoryVariableStore.SetValue(System.String,System.Boolean)">
<inheritdoc/>
</member>
<member name="M:Yarn.MemoryVariableStore.GetVariableKind(System.String)">
<inheritdoc/>
</member>
<member name="T:Yarn.LineHandler">
<summary>
Represents the method that is called when the Dialogue delivers a <see
cref="T:Yarn.Line"/>.
</summary>
<param name="line">The <see cref="T:Yarn.Line"/> that has been
delivered.</param>
<seealso cref="T:Yarn.OptionsHandler"/>
<seealso cref="T:Yarn.CommandHandler"/>
<seealso cref="T:Yarn.NodeStartHandler"/>
<seealso cref="T:Yarn.NodeCompleteHandler"/>
<seealso cref="T:Yarn.DialogueCompleteHandler"/>
</member>
<member name="T:Yarn.OptionsHandler">
<summary>
Represents the method that is called when the Dialogue delivers an <see
cref="T:Yarn.OptionSet"/>.
</summary>
<param name="options">The <see cref="T:Yarn.OptionSet"/> that has been
delivered.</param>
<seealso cref="T:Yarn.LineHandler"/>
<seealso cref="T:Yarn.CommandHandler"/>
<seealso cref="T:Yarn.NodeStartHandler"/>
<seealso cref="T:Yarn.NodeCompleteHandler"/>
<seealso cref="T:Yarn.DialogueCompleteHandler"/>
</member>
<member name="T:Yarn.CommandHandler">
<summary>
Represents the method that is called when the Dialogue delivers a <see
cref="T:Yarn.Command"/>.
</summary>
<param name="command">The <see cref="T:Yarn.Command"/> that has been
delivered.</param>
<seealso cref="T:Yarn.LineHandler"/>
<seealso cref="T:Yarn.OptionsHandler"/>
<seealso cref="T:Yarn.NodeStartHandler"/>
<seealso cref="T:Yarn.NodeCompleteHandler"/>
<seealso cref="T:Yarn.DialogueCompleteHandler"/>
</member>
<member name="T:Yarn.NodeCompleteHandler">
<summary>
Represents the method that is called when the Dialogue reaches the end
of a node.
</summary>
<param name="completedNodeName">The name of the node.</param>
<remarks>
This method may be called multiple times over the course of code
execution. A node being complete does not necessarily represent the end
of the conversation.
</remarks>
<seealso cref="T:Yarn.LineHandler"/>
<seealso cref="T:Yarn.OptionsHandler"/>
<seealso cref="T:Yarn.CommandHandler"/>
<seealso cref="T:Yarn.NodeStartHandler"/>
<seealso cref="T:Yarn.DialogueCompleteHandler"/>
</member>
<member name="T:Yarn.NodeStartHandler">
<summary>
Represents the method that is called when the Dialogue begins executing
a node.
</summary>
<param name="startedNodeName">The name of the node.</param>
<seealso cref="T:Yarn.LineHandler"/>
<seealso cref="T:Yarn.OptionsHandler"/>
<seealso cref="T:Yarn.CommandHandler"/>
<seealso cref="T:Yarn.NodeCompleteHandler"/>
<seealso cref="T:Yarn.DialogueCompleteHandler"/>
</member>
<member name="T:Yarn.DialogueCompleteHandler">
<summary>
Represents the method that is called when the dialogue has reached its
end, and no more code remains to be run.
</summary>
<seealso cref="T:Yarn.LineHandler"/>
<seealso cref="T:Yarn.OptionsHandler"/>
<seealso cref="T:Yarn.CommandHandler"/>
<seealso cref="T:Yarn.NodeStartHandler"/>
<seealso cref="T:Yarn.NodeCompleteHandler"/>
</member>
<member name="T:Yarn.PrepareForLinesHandler">
<summary>
Represents the method that is called when the dialogue anticipates that
it will deliver lines.
</summary>
<remarks>
<para>
This method should begin preparing to run the lines. For example, if a
game delivers dialogue via voice-over, the appropriate audio files
should be loaded.
</para>
<para>
This method serves to provide a hint to the game that a line _may_ be
run. Not every line indicated in <paramref name="lineIDs"/> may end up
actually running.
</para>
<para>
This method may be called any number of times during a dialogue session.
</para>
</remarks>
<param name="lineIDs">The collection of line IDs that may be delivered
at some point soon.</param>
</member>
<member name="T:Yarn.Dialogue">
<summary>
Co-ordinates the execution of Yarn programs.
</summary>
</member>
<member name="P:Yarn.Dialogue.VariableStorage">
<summary>
Gets or sets the object that provides access to storing and
retrieving the values of variables.
</summary>
</member>
<member name="P:Yarn.Dialogue.LogDebugMessage">
<summary>
Invoked when the Dialogue needs to report debugging
information.
</summary>
</member>
<member name="P:Yarn.Dialogue.LogErrorMessage">
<summary>
Invoked when the Dialogue needs to report an error.
</summary>
</member>
<member name="F:Yarn.Dialogue.DefaultStartNodeName">
<summary>The default name of the node that execution will start
from.</summary>
</member>
<member name="F:Yarn.Dialogue.NoOptionSelected">
<summary>
The value to indicate to the dialogue runner that no option was selected and dialogue should fall through to the rest of the program.
</summary>
</member>
<member name="P:Yarn.Dialogue.Program">
<summary>Gets or sets the compiled Yarn program.</summary>
</member>
<member name="P:Yarn.Dialogue.IsActive">
<summary>
Gets a value indicating whether the Dialogue is currently executing
Yarn instructions.
</summary>
</member>
<member name="P:Yarn.Dialogue.LineHandler">
<summary>
Gets or sets the <see cref="T:Yarn.LineHandler"/> that is called when
a line is ready to be shown to the user.
</summary>
</member>
<member name="P:Yarn.Dialogue.OptionsHandler">
<summary>
Gets or sets the <see cref="T:Yarn.OptionsHandler"/> that is called
when a set of options are ready to be shown to the user.
</summary>
<remarks>
The Options Handler delivers an <see cref="T:Yarn.OptionSet"/> to the game.
Before <see cref="M:Yarn.Dialogue.Continue"/> can be called to resume execution,
<see cref="M:Yarn.Dialogue.SetSelectedOption(System.Int32)"/> must be called to indicate which
<see cref="T:Yarn.OptionSet.Option"/> was selected by the user. If <see
cref="M:Yarn.Dialogue.SetSelectedOption(System.Int32)"/> is not called, an exception is thrown.
</remarks>
</member>
<member name="P:Yarn.Dialogue.CommandHandler">
<summary>
Gets or sets the <see cref="T:Yarn.CommandHandler"/> that is called
when a command is to be delivered to the game.
</summary>
</member>
<member name="P:Yarn.Dialogue.NodeStartHandler">
<summary>
Gets or sets the <see cref="T:Yarn.NodeStartHandler"/> that is called
when a node is started.
</summary>
</member>
<member name="P:Yarn.Dialogue.NodeCompleteHandler">
<summary>
Gets or sets the <see cref="T:Yarn.NodeCompleteHandler"/> that is
called when a node is complete.
</summary>
</member>
<member name="P:Yarn.Dialogue.DialogueCompleteHandler">
<summary>
Gets or sets the <see cref="T:Yarn.DialogueCompleteHandler"/> that is
called when the dialogue reaches its end.
</summary>
</member>
<member name="P:Yarn.Dialogue.PrepareForLinesHandler">
<summary>
Gets or sets the <see cref="P:Yarn.Dialogue.PrepareForLinesHandler"/> that is called
when the dialogue anticipates delivering some lines.
</summary>
<value></value>
</member>
<member name="F:Yarn.Dialogue.vm">
<summary>
The virtual machine to use when running dialogue.
</summary>
</member>
<member name="F:Yarn.Dialogue.smartVariableVM">
<summary>
The virtual machine to use when evaluating smart variables.
</summary>
<remarks>
This is kept separate from the main VM in order to prevent
evaluating smart variables from modifying the evaluation state of
dialogue.
</remarks>
</member>
<member name="P:Yarn.Dialogue.Library">
<summary>
Gets the <see cref="T:Yarn.Library"/> that this Dialogue uses to
locate functions.
</summary>
<remarks>
When the Dialogue is constructed, the Library is initialized with
the built-in operators like <c>+</c>, <c>-</c>, and so on.
</remarks>
</member>
<member name="P:Yarn.Dialogue.ContentSaliencyStrategy">
<summary>
Gets or sets the content saliency strategy used by this <see cref="T:Yarn.Dialogue"/>.
</summary>
<remarks>
A content saliency strategy is a class that implements <see
cref="T:Yarn.Saliency.IContentSaliencyStrategy"/> and selects the most
appropriate content in a line group, or any other situation where
content saliency is relevant.
</remarks>
</member>
<member name="M:Yarn.Dialogue.#ctor(Yarn.IVariableStorage)">
<summary>
Initializes a new instance of the <see cref="T:Yarn.Dialogue"/> class.
</summary>
<param name="variableStorage">The <see
cref="T:Yarn.IVariableStorage"/> that this Dialogue should
use.</param>
</member>
<member name="M:Yarn.Dialogue.SetProgram(Yarn.Program)">
<summary>
Loads all nodes from the provided <see cref="T:Yarn.Program"/>.
</summary>
<remarks>
This method replaces any existing nodes have been loaded.
</remarks>
<param name="program">The <see cref="T:Yarn.Program"/> to use.</param>
</member>
<member name="M:Yarn.Dialogue.LoadProgram(System.String)">
<summary>
Loads a compiled <see cref="T:Yarn.Program"/> from a file.
</summary>
<param name="fileName">The path of the file to load.</param>
<remarks>
<para>
This method replaces the current value of <see cref="P:Yarn.Dialogue.Program"/> with
the result of loading the file.
</para>
<para>
This method does not compile Yarn source. To compile Yarn source
code into a <see cref="T:Yarn.Program"/>, Refer to the Yarn compiler.
</para>
</remarks>
</member>
<member name="M:Yarn.Dialogue.SetNode(System.String)">
<summary>
Prepares the <see cref="T:Yarn.Dialogue"/> that the user intends to start
running a node.
</summary>
<param name="startNode">The name of the node that will be run. The
node have been loaded by calling <see
cref="M:Yarn.Dialogue.SetProgram(Yarn.Program)"/>.</param>
<remarks>
<para>
After this method is called, you call <see cref="M:Yarn.Dialogue.Continue"/> to
start executing it.
</para>
<para>
If <see cref="P:Yarn.Dialogue.PrepareForLinesHandler"/> has been set, it may be
called when this method is invoked, as the Dialogue determines which
lines may be delivered during the <paramref name="startNode"/>
node's execution.
</para>
</remarks>
<throws cref="T:Yarn.DialogueException">Thrown when no node named
<c>startNode</c> has been loaded.</throws>
</member>
<member name="M:Yarn.Dialogue.SetSelectedOption(System.Int32)">
<summary>
Signals to the <see cref="T:Yarn.Dialogue"/> that the user has selected a
specified <see cref="T:Yarn.OptionSet.Option"/>.
</summary>
<remarks>
<para>
After the Dialogue delivers an <see cref="T:Yarn.OptionSet"/>, this method
must be called before <see cref="M:Yarn.Dialogue.Continue"/> is called.
</para>
<para>
The ID number that should be passed as the parameter to this method
should be the <see cref="P:Yarn.OptionSet.Option.ID"/> field in the <see
cref="T:Yarn.OptionSet.Option"/> that represents the user's selection.
</para>
</remarks>
<param name="selectedOptionID">The ID number of the Option that the
user selected.</param>
<throws cref="T:Yarn.DialogueException">Thrown when the Dialogue is not
expecting an option to be selected.</throws> <throws
cref="T:System.ArgumentOutOfRangeException">Thrown when <c>selectedOptionID</c> is
not a valid option ID.</throws>
<seealso cref="T:Yarn.OptionsHandler"/>
<seealso cref="T:Yarn.OptionSet"/>
<seealso cref="M:Yarn.Dialogue.Continue"/>
</member>
<member name="M:Yarn.Dialogue.SignalContentComplete">
<summary>
Signals that the currently running content has completed synchronously.
</summary>
<remarks>
This method is not intended to be called by user code.
</remarks>
</member>
<member name="M:Yarn.Dialogue.Continue">
<summary>
Starts, or continues, execution of the current Program.
</summary>
<remarks>
<para>
This method repeatedly executes instructions until one of the
following conditions is encountered:
</para>
<list type="bullet">
<item>The <see cref="P:Yarn.Dialogue.LineHandler"/> or <see cref="P:Yarn.Dialogue.CommandHandler"/>
is called. After calling either of these handlers, the Dialogue will
wait until <see cref="M:Yarn.Dialogue.Continue"/> is called. Continue may be called
from inside the <see cref="P:Yarn.Dialogue.LineHandler"/> or <see
cref="P:Yarn.Dialogue.CommandHandler"/>, or may be called at any future time.</item>
<item>The <see cref="P:Yarn.Dialogue.OptionsHandler"/> is called. When this occurs,
the Dialogue is waiting for the user to specify which of the options
has been selected, and <see cref="M:Yarn.Dialogue.SetSelectedOption(System.Int32)"/> must be
called before <see cref="M:Yarn.Dialogue.Continue"/> is called again.)</item>
<item>The Program reaches its end. When this occurs, <see
cref="M:Yarn.Dialogue.SetNode(System.String)"/> must be called before <see
cref="M:Yarn.Dialogue.Continue"/> is called again.</item>
<item>An error occurs while executing the Program.</item>
</list>
<para>This method has no effect if it is called while the <see
cref="T:Yarn.Dialogue"/> is currently in the process of executing
instructions.</para>
</remarks>
<seealso cref="T:Yarn.LineHandler"/>
<seealso cref="T:Yarn.OptionsHandler"/>
<seealso cref="T:Yarn.CommandHandler"/>
<seealso cref="T:Yarn.NodeCompleteHandler"/>
<seealso cref="T:Yarn.DialogueCompleteHandler"/>
</member>
<member name="M:Yarn.Dialogue.Stop">
<summary>
Immediately stops the <see cref="T:Yarn.Dialogue"/>.
</summary>
</member>
<member name="P:Yarn.Dialogue.NodeNames">
<summary>
Gets the names of the nodes in the currently loaded Program.
</summary>
<remarks>If no program is currently loaded, an empty collection is
returned.</remarks>
</member>
<member name="P:Yarn.Dialogue.CurrentNode">
<summary>
Gets the name of the node that this Dialogue is currently executing.
</summary>
<remarks>If <see cref="M:Yarn.Dialogue.Continue"/> has never been called, this value
will be <see langword="null"/>.</remarks>
</member>
<member name="M:Yarn.Dialogue.GetStringIDForNode(System.String)">
<summary>
Returns the string ID that contains the original, uncompiled source
text for a node.
</summary>
<param name="nodeName">The name of the node.</param>
<returns>The string ID.</returns>
<remarks>
<para>
A node's source text will only be present in the string table if its
<c>tags</c> header contains <c>rawText</c>.
</para>
<para>
Because the <see cref="T:Yarn.Dialogue"/> class is designed to be unaware
of the contents of the string table, this method does not test to
see if the string table contains an entry with the line ID. You will
need to test for that yourself.
</para>
</remarks>
</member>
<member name="M:Yarn.Dialogue.GetTagsForNode(System.String)">
<summary>
Returns the tags for the node <paramref name="nodeName"/>.
</summary>
<remarks>
The tags for a node are defined by setting the <c>tags</c> header in
the node's source code. This header must be a space-separated list.
</remarks>
<param name="nodeName">The name of the node.</param>
<returns>The node's tags, or <see langword="null"/> if the node is
not present in the Program.</returns>
</member>
<member name="M:Yarn.Dialogue.GetHeaderValue(System.String,System.String)">
<summary>
Gets the value of the header named <paramref name="headerName"/> on
the node named <paramref name="nodeName"/>, or <see
langword="null"/> if the header can't be found.
</summary>
<remarks>If the node has more than one header named <paramref
name="headerName"/>, the first one is used.</remarks>
<param name="nodeName">The name of the node.</param>
<param name="headerName">The name of the header.</param>
<returns>The value of the first header on the node with the
specified header value.</returns>
<exception cref="T:System.InvalidOperationException">Thrown when the program
is not loaded, the program contains no nodes, or the program does
not contain a node named <paramref name="nodeName"/>.</exception>
</member>
<member name="M:Yarn.Dialogue.GetHeaders(System.String)">
<summary>
Gets the collection of headers present on the node named <paramref
name="nodeName"/>.
</summary>
<param name="nodeName">The name of the node to get headers
for.</param>
<returns>A collection of key-values pairs, each one representing a
header on the node.</returns>
<exception cref="T:System.InvalidOperationException">Thrown when the program
is not loaded, the program contains no nodes, or the program does
not contain a node named <paramref name="nodeName"/>.</exception>
</member>
<member name="M:Yarn.Dialogue.UnloadAll">
<summary>
Unloads all nodes from the Dialogue.
</summary>
</member>
<member name="M:Yarn.Dialogue.NodeExists(System.String)">
<summary>
Gets a value indicating whether a specified node exists in the
Program.
</summary>
<param name="nodeName">The name of the node.</param>
<returns><see langword="true"/> if a node named <c>nodeName</c>
exists in the Program, <see langword="false"/>
otherwise.</returns>
</member>
<member name="M:Yarn.Dialogue.Analyse(Yarn.Analysis.Context)">
<summary>
Begins analysis of the <see cref="P:Yarn.Dialogue.Program"/> by the <paramref name="context"/>
</summary>
<param name="context">The Context that performs the analysis</param>
</member>
<member name="M:Yarn.Dialogue.TryGetSmartVariable``1(System.String,``0@)">
<inheritdoc />
</member>
<member name="M:Yarn.Dialogue.GetSaliencyOptionsForNodeGroup(System.String)">
<summary>
Queries the <see cref="T:Yarn.Dialogue"/> for what content could possibly
run if the node group nodeGroup was run.
</summary>
<remarks>
<para>This method evaluates all nodes in the given node group, and
returns a <see cref="T:Yarn.Saliency.ContentSaliencyOption"/> object for
each node. This object contains the current number of passing and
failing 'when' clauses on the node, as well as the complexity score
for that node. This is the same information that's passed to a <see
cref="T:Yarn.Saliency.IContentSaliencyStrategy"/> object's <see
cref="M:Yarn.Saliency.IContentSaliencyStrategy.QueryBestContent(System.Collections.Generic.IEnumerable{Yarn.Saliency.ContentSaliencyOption})"/>
method. This method is read-only, and calling it will not modify any
variable state.
</para>
<para>Note that this method does not filter its output, and may
include content options whose <see
cref="P:Yarn.Saliency.ContentSaliencyOption.FailingConditionValueCount"/>
is greater than zero. It's up to the caller of this function to
filter out these options if they're not wanted.</para>
<para>
This method can be used to see if <em>any</em> content will appear
when a given node group is run. If the collection returned by this
method is empty, then running this node group will not result in any
content. This can be used, for example, to decide whether to show a
'character can be spoken to' indicator. You can also examine the
individal <see cref="T:Yarn.Saliency.ContentSaliencyOption"/> objects to
see if any content is available that passes a filter, such as
whether content might appear that has a user-defined 'plot critical'
tag.
</para>
</remarks>
<param name="nodeGroup">The name of the node group to get available
content for.</param>
<returns>A collection of <see
cref="T:Yarn.Saliency.ContentSaliencyOption"/> objects that may appear if
and when the node group <paramref name="nodeGroup"/> is run.
</returns>
<exception cref="T:System.ArgumentException">Thrown when <paramref
name="nodeGroup"/> is not a valid node name.</exception>
</member>
<member name="M:Yarn.Dialogue.HasSalientContent(System.String)">
<summary>
Returns if the node group has any potential nodes to be run based on the current salient selector.
</summary>
<param name="nodeGroup">The name of the node group.</param>
<returns>True if there is any salient content for the requested node group</returns>
</member>
<member name="M:Yarn.Dialogue.IsNodeGroup(System.String)">
<summary>
Gets a value indicating whether <paramref name="nodeName"/> is the
name of a valid node group in the program.
</summary>
<param name="nodeName">The name of the node group to check.</param>
<returns><see langword="true"/> if <paramref name="nodeName"/> is
the name of a node group; <see langword="false"/>
otherwise.</returns>
<exception cref="T:System.InvalidOperationException">Thrown when <see
cref="P:Yarn.Dialogue.Program"/> is null.</exception>
</member>
<member name="F:Yarn.Dialogue.StandardLibrary.Random">
<summary>
The internal random number generator used by functions like
'random' and 'dice'.
</summary>
</member>
<member name="T:Yarn.DialogueException">
<summary>
An exception that is thrown by <see cref="T:Yarn.Dialogue"/> when there is an
error in executing a <see cref="T:Yarn.Program"/>.
</summary>
</member>
<member name="T:Yarn.Library">
<summary>
A collection of functions that can be called from Yarn programs.
</summary>
<remarks>
You do not create instances of this class yourself. The <see
cref="T:Yarn.Dialogue"/> class creates one of its own, which you can
access via the <see cref="P:Yarn.Dialogue.Library"/> property.
</remarks>
<seealso cref="T:Yarn.Dialogue"/>
</member>
<member name="M:Yarn.Library.GetFunction(System.String)">
<summary>
Returns a <see cref="T:System.Delegate"/> with a given name.
</summary>
<param name="name">The name of the function to
retrieve.</param>
<returns>The <see cref="T:System.Delegate"/>.</returns>
<throws cref="T:System.InvalidOperationException">Thrown when a function
named <c>name</c> is not present in the library.</throws>
</member>
<member name="M:Yarn.Library.ImportLibrary(Yarn.Library)">
<summary>
Loads functions from another <see cref="T:Yarn.Library"/>.
</summary>
<param name="otherLibrary">The library to import functions from.</param>
<remarks>
If the other library contains a function with the same name as
one in this library, the function in the other library takes
precedence.
</remarks>
</member>
<member name="M:Yarn.Library.RegisterFunction``1(System.String,System.Func{``0})">
<summary>
Registers a new function that returns a value, which can be
called from a Yarn program.
</summary>
<param name="name">The name of the function.</param>
<param name="implementation">The method to
be invoked when the function is called.</param>
<typeparam name="TResult">The return type of the
function.</typeparam>
<exception cref="T:System.ArgumentException">Thrown when a function
named <paramref name="name"/> already exists in the <see
cref="T:Yarn.Library"/>.</exception>
<exception cref="T:System.ArgumentNullException">Thrown when name is
null.</exception>
</member>
<member name="M:Yarn.Library.RegisterFunction``2(System.String,System.Func{``0,``1})">
<inheritdoc cref="M:Yarn.Library.RegisterFunction``1(System.String,System.Func{``0})"/>
<typeparam name="TResult">The return type of the function.</typeparam>
<typeparam name="T1">The type of the function's first argument.</typeparam>
</member>
<member name="M:Yarn.Library.RegisterFunction``3(System.String,System.Func{``0,``1,``2})">
<inheritdoc cref="M:Yarn.Library.RegisterFunction``1(System.String,System.Func{``0})"/>
<typeparam name="TResult">The return type of the function.</typeparam>
<typeparam name="T1">The type of the function's first argument.</typeparam>
<typeparam name="T2">The type of the function's second argument.</typeparam>
</member>
<member name="M:Yarn.Library.RegisterFunction``4(System.String,System.Func{``0,``1,``2,``3})">
<inheritdoc cref="M:Yarn.Library.RegisterFunction``1(System.String,System.Func{``0})"/>
<typeparam name="TResult">The return type of the function.</typeparam>
<typeparam name="T1">The type of the function's first argument.</typeparam>
<typeparam name="T2">The type of the function's second argument.</typeparam>
<typeparam name="T3">The type of the function's third argument.</typeparam>
</member>
<member name="M:Yarn.Library.RegisterFunction``5(System.String,System.Func{``0,``1,``2,``3,``4})">
<inheritdoc cref="M:Yarn.Library.RegisterFunction``1(System.String,System.Func{``0})"/>
<typeparam name="TResult">The return type of the function.</typeparam>
<typeparam name="T1">The type of the function's first argument.</typeparam>
<typeparam name="T2">The type of the function's second argument.</typeparam>
<typeparam name="T3">The type of the function's third argument.</typeparam>
<typeparam name="T4">The type of the function's fourth argument.</typeparam>
</member>
<member name="M:Yarn.Library.RegisterFunction``6(System.String,System.Func{``0,``1,``2,``3,``4,``5})">
<inheritdoc cref="M:Yarn.Library.RegisterFunction``1(System.String,System.Func{``0})"/>
<typeparam name="TResult">The return type of the function.</typeparam>
<typeparam name="T1">The type of the function's first argument.</typeparam>
<typeparam name="T2">The type of the function's second argument.</typeparam>
<typeparam name="T3">The type of the function's third argument.</typeparam>
<typeparam name="T4">The type of the function's fourth argument.</typeparam>
<typeparam name="T5">The type of the function's fifth argument.</typeparam>
</member>
<member name="M:Yarn.Library.RegisterFunction(System.String,System.Delegate)">
<inheritdoc cref="M:Yarn.Library.RegisterFunction``1(System.String,System.Func{``0})"/>
</member>
<member name="M:Yarn.Library.FunctionExists(System.String)">
<summary>
Gets a value indicating whether this <see cref="T:Yarn.Library"/> contains a function named <c>name</c>.
</summary>
<param name="name">The name of the function to look for.</param>
<returns><c>true</c> if a function exists in this Library; <c>false</c> otherwise.</returns>
</member>
<member name="M:Yarn.Library.DeregisterFunction(System.String)">
<summary>
Removes a function from the Library.
</summary>
<param name="name">The name of the function to remove.</param>
<remarks>
If no function with the given name is present in the Library,
this method does nothing.
</remarks>
</member>
<member name="M:Yarn.Library.RegisterMethods(Yarn.TypeBase)">
<summary>
Registers the methods found inside a type.
</summary>
<param name="typeLiteral">The type to register methods from.</param>
</member>
<member name="M:Yarn.Library.GenerateUniqueVisitedVariableForNode(System.String)">
<summary>
Generates a unique tracking variable name.
This is intended to be used to generate names for visting.
Ideally these will very reproduceable and sensible.
For now it will be something terrible and easy.
</summary>
<param name="nodeName">The name of the node that needs to
have a tracking variable created.</param>
<returns>The new variable name.</returns>
</member>
<member name="M:Yarn.ICodeDumpHelper.GetStringForKey(System.String)">
<summary>
Gets the user-facing string for a given key from the code dump
helper's string table.
</summary>
<param name="key">The key to fetch a string for.</param>
<returns>The found string, or <see langword="null"/> if none was
found.</returns>
</member>
<member name="M:Yarn.ICodeDumpHelper.GetDescriptionForVariable(System.String)">
<summary>
Gets the description for a given variable, if it exists.
</summary>
<param name="variableName">The name of the variable.</param>
<returns>The description for the variable, or <see langword="null"/>
if none was found.</returns>
</member>
<member name="M:Yarn.ICodeDumpHelper.GetLabelsForNode(System.String)">
<summary>
Gets the mapping of instruction indices to named labels found in the
node.
</summary>
<param name="node">The name of the node.</param>
<returns>The instruction label mapping.</returns>
</member>
<member name="T:Yarn.Program">
<summary>
A compiled Yarn program.
</summary>
<summary>
A complete Yarn program.
</summary>
</member>
<member name="M:Yarn.Program.LineIDsForNode(System.String)">
<summary>
Identifies and returns a list of all line and option IDs inside the
node.
</summary>
<param name="nodeName">The name of the node whos line IDs you
covet.</param>
<returns>The line IDs of all lines and options inside the node, or
<see langword="null"/> if <paramref name="nodeName"/> doesn't exist
in the program.</returns>
</member>
<member name="P:Yarn.Program.SmartVariableNodes">
<summary>
Gets the collection of nodes that contain the code for evaluating a
smart variable.
</summary>
</member>
<member name="M:Yarn.Program.TryGetInitialValue``1(System.String,``0@)">
<summary>
Attempts to fetch a value for a variable named <paramref
name="variableName"/> from this program's collection of initial
values.
</summary>
<typeparam name="T">The type of variable to retrieve.</typeparam>
<param name="variableName">The name of the variable to retrieve a
value for.</param>
<param name="result">On return, contains the value of the variable,
or the default value of <typeparamref name="T"/> if not known.
Depending on what <typeparamref name="T"/> is, this value may be
<see langword="null"/>.</param>
<returns><see langword="true"/> if an initial value for <paramref
name="variableName"/> was found; <see langword="false"/>
otherwise.</returns>
<exception cref="T:System.InvalidOperationException">Thrown the stored
initial value found for <paramref name="variableName"/> is not known
to this version of Yarn Spinner.</exception>
<exception cref="T:System.InvalidCastException">Thrown when the initial value
found for <paramref name="variableName"/> cannot be cast or
converted to <typeparamref name="T"/>.</exception>
</member>
<member name="M:Yarn.Program.GetVariableKind(System.String)">
<summary>
Gets a value indicating the kind of variable <paramref name="name"/>
represents.
</summary>
<param name="name">The name of a variable.</param>
<returns>The kind of variable that <paramref name="name"/>
represents.</returns>
</member>
<member name="F:Yarn.Program.NameFieldNumber">
<summary>Field number for the "name" field.</summary>
</member>
<member name="P:Yarn.Program.Name">
<summary>
The name of the program.
</summary>
</member>
<member name="F:Yarn.Program.NodesFieldNumber">
<summary>Field number for the "nodes" field.</summary>
</member>
<member name="P:Yarn.Program.Nodes">
<summary>
The collection of nodes in this program.
</summary>
</member>
<member name="F:Yarn.Program.InitialValuesFieldNumber">
<summary>Field number for the "initial_values" field.</summary>
</member>
<member name="P:Yarn.Program.InitialValues">
<summary>
The collection of initial values for variables; if a PUSH_VARIABLE
instruction is run, and the value is not found in the storage, this
value will be used
</summary>
</member>
<member name="F:Yarn.Program.LanguageVersionFieldNumber">
<summary>Field number for the "language_version" field.</summary>
</member>
<member name="P:Yarn.Program.LanguageVersion">
<summary>
The version of the Yarn Spinner language that this program was compiled under.
</summary>
</member>
<member name="T:Yarn.Instruction">
<summary>
An instruction in a Yarn Program.
</summary>
</member>
<member name="F:Yarn.Instruction.JumpToFieldNumber">
<summary>Field number for the "jumpTo" field.</summary>
</member>
<member name="P:Yarn.Instruction.JumpTo">
<summary>
Jumps to a specified position in the current node.
</summary>
</member>
<member name="F:Yarn.Instruction.PeekAndJumpFieldNumber">
<summary>Field number for the "peekAndJump" field.</summary>
</member>
<member name="P:Yarn.Instruction.PeekAndJump">
<summary>
Peeks a number on the stack, and jumps to that position in the
current node.
</summary>
</member>
<member name="F:Yarn.Instruction.RunLineFieldNumber">
<summary>Field number for the "runLine" field.</summary>
</member>
<member name="P:Yarn.Instruction.RunLine">
<summary>
Runs a line of dialogue.
</summary>
</member>
<member name="F:Yarn.Instruction.RunCommandFieldNumber">
<summary>Field number for the "runCommand" field.</summary>
</member>
<member name="P:Yarn.Instruction.RunCommand">
<summary>
Runs a command.
</summary>
</member>
<member name="F:Yarn.Instruction.AddOptionFieldNumber">
<summary>Field number for the "addOption" field.</summary>
</member>
<member name="P:Yarn.Instruction.AddOption">
<summary>
Adds an option to the 'pending options' list.
</summary>
</member>
<member name="F:Yarn.Instruction.ShowOptionsFieldNumber">
<summary>Field number for the "showOptions" field.</summary>
</member>
<member name="P:Yarn.Instruction.ShowOptions">
<summary>
Shows all options in the 'pending options' list, then clears the list.
</summary>
</member>
<member name="F:Yarn.Instruction.PushStringFieldNumber">
<summary>Field number for the "pushString" field.</summary>
</member>
<member name="P:Yarn.Instruction.PushString">
<summary>
Pushes a string onto the stack.
</summary>
</member>
<member name="F:Yarn.Instruction.PushFloatFieldNumber">
<summary>Field number for the "pushFloat" field.</summary>
</member>
<member name="P:Yarn.Instruction.PushFloat">
<summary>
Pushes a floating point number onto the stack.
</summary>
</member>
<member name="F:Yarn.Instruction.PushBoolFieldNumber">
<summary>Field number for the "pushBool" field.</summary>
</member>
<member name="P:Yarn.Instruction.PushBool">
<summary>
Pushes a boolean onto the stack.
</summary>
</member>
<member name="F:Yarn.Instruction.JumpIfFalseFieldNumber">
<summary>Field number for the "jumpIfFalse" field.</summary>
</member>
<member name="P:Yarn.Instruction.JumpIfFalse">
<summary>
Peeks a boolean on the stack, and if it's false, jumps to the
indicated position in the current node.
</summary>
</member>
<member name="F:Yarn.Instruction.PopFieldNumber">
<summary>Field number for the "pop" field.</summary>
</member>
<member name="P:Yarn.Instruction.Pop">
<summary>
Pops a value of any kind off the stack.
</summary>
</member>
<member name="F:Yarn.Instruction.CallFuncFieldNumber">
<summary>Field number for the "callFunc" field.</summary>
</member>
<member name="P:Yarn.Instruction.CallFunc">
<summary>
Calls a named function.
</summary>
</member>
<member name="F:Yarn.Instruction.PushVariableFieldNumber">
<summary>Field number for the "pushVariable" field.</summary>
</member>
<member name="P:Yarn.Instruction.PushVariable">
<summary>
Pushes the value of the named variable onto the stack.
</summary>
</member>
<member name="F:Yarn.Instruction.StoreVariableFieldNumber">
<summary>Field number for the "storeVariable" field.</summary>
</member>
<member name="P:Yarn.Instruction.StoreVariable">
<summary>
Peeks a value of any kind on the stack, and stores it in the
indicated variable.
</summary>
</member>
<member name="F:Yarn.Instruction.StopFieldNumber">
<summary>Field number for the "stop" field.</summary>
</member>
<member name="P:Yarn.Instruction.Stop">
<summary>
Halts execution.
</summary>
</member>
<member name="F:Yarn.Instruction.RunNodeFieldNumber">
<summary>Field number for the "runNode" field.</summary>
</member>
<member name="P:Yarn.Instruction.RunNode">
<summary>
Jumps to the start of a named node.
</summary>
</member>
<member name="F:Yarn.Instruction.PeekAndRunNodeFieldNumber">
<summary>Field number for the "peekAndRunNode" field.</summary>
</member>
<member name="P:Yarn.Instruction.PeekAndRunNode">
<summary>
Peeks a string on the stack, and jumps to the start of that node.
</summary>
</member>
<member name="F:Yarn.Instruction.DetourToNodeFieldNumber">
<summary>Field number for the "detourToNode" field.</summary>
</member>
<member name="F:Yarn.Instruction.PeekAndDetourToNodeFieldNumber">
<summary>Field number for the "peekAndDetourToNode" field.</summary>
</member>
<member name="F:Yarn.Instruction.ReturnFieldNumber">
<summary>Field number for the "return" field.</summary>
</member>
<member name="F:Yarn.Instruction.AddSaliencyCandidateFieldNumber">
<summary>Field number for the "addSaliencyCandidate" field.</summary>
</member>
<member name="P:Yarn.Instruction.AddSaliencyCandidate">
<summary>
Pops a boolean from the stack, and adds a saliency candidate to the
current list.
</summary>
</member>
<member name="F:Yarn.Instruction.AddSaliencyCandidateFromNodeFieldNumber">
<summary>Field number for the "addSaliencyCandidateFromNode" field.</summary>
</member>
<member name="P:Yarn.Instruction.AddSaliencyCandidateFromNode">
<summary>
Add a saliency candidate to the current list, given a node name.
</summary>
</member>
<member name="F:Yarn.Instruction.SelectSaliencyCandidateFieldNumber">
<summary>Field number for the "selectSaliencyCandidate" field.</summary>
</member>
<member name="P:Yarn.Instruction.SelectSaliencyCandidate">
<summary>
Attempt to select a single saliency candidate from the current list:
- if one is selected, pushes the destination of that candidate and
the value 'true'
- if none is selected, pushes the value 'false'
In all circumstances, clears the saliency candidate list before
returning.
</summary>
</member>
<member name="T:Yarn.Instruction.InstructionTypeOneofCase">
<summary>Enum of possible cases for the "InstructionType" oneof.</summary>
</member>
<member name="T:Yarn.Instruction.Types">
<summary>Container for nested types declared in the Instruction message type.</summary>
</member>
<member name="F:Yarn.Instruction.Types.PushStringInstruction.ValueFieldNumber">
<summary>Field number for the "value" field.</summary>
</member>
<member name="P:Yarn.Instruction.Types.PushStringInstruction.Value">
<summary>
The value to push.
</summary>
</member>
<member name="F:Yarn.Instruction.Types.PushFloatInstruction.ValueFieldNumber">
<summary>Field number for the "value" field.</summary>
</member>
<member name="P:Yarn.Instruction.Types.PushFloatInstruction.Value">
<summary>
The value to push.
</summary>
</member>
<member name="F:Yarn.Instruction.Types.PushBoolInstruction.ValueFieldNumber">
<summary>Field number for the "value" field.</summary>
</member>
<member name="P:Yarn.Instruction.Types.PushBoolInstruction.Value">
<summary>
The value to push.
</summary>
</member>
<member name="F:Yarn.Instruction.Types.JumpToInstruction.DestinationFieldNumber">
<summary>Field number for the "destination" field.</summary>
</member>
<member name="P:Yarn.Instruction.Types.JumpToInstruction.Destination">
<summary>
The instruction number in the current node to jump to.
</summary>
</member>
<member name="F:Yarn.Instruction.Types.RunLineInstruction.LineIDFieldNumber">
<summary>Field number for the "lineID" field.</summary>
</member>
<member name="P:Yarn.Instruction.Types.RunLineInstruction.LineID">
<summary>
The ID of the localised content that should be shown for this line.
</summary>
</member>
<member name="F:Yarn.Instruction.Types.RunLineInstruction.SubstitutionCountFieldNumber">
<summary>Field number for the "substitutionCount" field.</summary>
</member>
<member name="P:Yarn.Instruction.Types.RunLineInstruction.SubstitutionCount">
<summary>
The number of substitutions present in this line that must be popped
off the stack.
</summary>
</member>
<member name="F:Yarn.Instruction.Types.RunCommandInstruction.CommandTextFieldNumber">
<summary>Field number for the "commandText" field.</summary>
</member>
<member name="P:Yarn.Instruction.Types.RunCommandInstruction.CommandText">
<summary>
The text of the command to send to the client.
</summary>
</member>
<member name="F:Yarn.Instruction.Types.RunCommandInstruction.SubstitutionCountFieldNumber">
<summary>Field number for the "substitutionCount" field.</summary>
</member>
<member name="P:Yarn.Instruction.Types.RunCommandInstruction.SubstitutionCount">
<summary>
The number of substitutions present in this command that must be popped
off the stack.
</summary>
</member>
<member name="F:Yarn.Instruction.Types.AddOptionInstruction.LineIDFieldNumber">
<summary>Field number for the "lineID" field.</summary>
</member>
<member name="P:Yarn.Instruction.Types.AddOptionInstruction.LineID">
<summary>
The ID of the content that should be shown for this option.
</summary>
</member>
<member name="F:Yarn.Instruction.Types.AddOptionInstruction.DestinationFieldNumber">
<summary>Field number for the "destination" field.</summary>
</member>
<member name="P:Yarn.Instruction.Types.AddOptionInstruction.Destination">
<summary>
The instruction number in the current node to jump to if this option
is selected.
</summary>
</member>
<member name="F:Yarn.Instruction.Types.AddOptionInstruction.SubstitutionCountFieldNumber">
<summary>Field number for the "substitutionCount" field.</summary>
</member>
<member name="P:Yarn.Instruction.Types.AddOptionInstruction.SubstitutionCount">
<summary>
The number of substitutions present in this option that must be popped
off the stack.
</summary>
</member>
<member name="F:Yarn.Instruction.Types.AddOptionInstruction.HasConditionFieldNumber">
<summary>Field number for the "hasCondition" field.</summary>
</member>
<member name="P:Yarn.Instruction.Types.AddOptionInstruction.HasCondition">
<summary>
A value indicating whether this instruction has a line condition on
it, whose evaluated value must be popped off the stack.
</summary>
</member>
<member name="F:Yarn.Instruction.Types.JumpIfFalseInstruction.DestinationFieldNumber">
<summary>Field number for the "destination" field.</summary>
</member>
<member name="P:Yarn.Instruction.Types.JumpIfFalseInstruction.Destination">
<summary>
The instruction number in the current node to jump to.
</summary>
</member>
<member name="F:Yarn.Instruction.Types.CallFunctionInstruction.FunctionNameFieldNumber">
<summary>Field number for the "functionName" field.</summary>
</member>
<member name="P:Yarn.Instruction.Types.CallFunctionInstruction.FunctionName">
<summary>
The name of the function to call.
</summary>
</member>
<member name="F:Yarn.Instruction.Types.PushVariableInstruction.VariableNameFieldNumber">
<summary>Field number for the "variableName" field.</summary>
</member>
<member name="P:Yarn.Instruction.Types.PushVariableInstruction.VariableName">
<summary>
The name of the variable whose value should be pushed onto the stack.
</summary>
</member>
<member name="F:Yarn.Instruction.Types.StoreVariableInstruction.VariableNameFieldNumber">
<summary>Field number for the "variableName" field.</summary>
</member>
<member name="P:Yarn.Instruction.Types.StoreVariableInstruction.VariableName">
<summary>
The name of the variable whose value should be updated with the value
currently on top of the stack.
</summary>
</member>
<member name="F:Yarn.Instruction.Types.RunNodeInstruction.NodeNameFieldNumber">
<summary>Field number for the "nodeName" field.</summary>
</member>
<member name="P:Yarn.Instruction.Types.RunNodeInstruction.NodeName">
<summary>
The name of the node to begin running.
</summary>
</member>
<member name="F:Yarn.Instruction.Types.DetourToNodeInstruction.NodeNameFieldNumber">
<summary>Field number for the "nodeName" field.</summary>
</member>
<member name="F:Yarn.Instruction.Types.AddSaliencyCandidateInstruction.ContentIDFieldNumber">
<summary>Field number for the "contentID" field.</summary>
</member>
<member name="P:Yarn.Instruction.Types.AddSaliencyCandidateInstruction.ContentID">
<summary>
The unique ID for this piece of content, such as a line ID.
</summary>
</member>
<member name="F:Yarn.Instruction.Types.AddSaliencyCandidateInstruction.ComplexityScoreFieldNumber">
<summary>Field number for the "complexityScore" field.</summary>
</member>
<member name="P:Yarn.Instruction.Types.AddSaliencyCandidateInstruction.ComplexityScore">
<summary>
The complexity score of the candidate.
</summary>
</member>
<member name="F:Yarn.Instruction.Types.AddSaliencyCandidateInstruction.DestinationFieldNumber">
<summary>Field number for the "destination" field.</summary>
</member>
<member name="P:Yarn.Instruction.Types.AddSaliencyCandidateInstruction.Destination">
<summary>
The instruction number in the current node to jump to if this
candidate is selected.
</summary>
</member>
<member name="F:Yarn.Instruction.Types.AddSaliencyCandidateFromNodeInstruction.NodeNameFieldNumber">
<summary>Field number for the "nodeName" field.</summary>
</member>
<member name="P:Yarn.Instruction.Types.AddSaliencyCandidateFromNodeInstruction.NodeName">
<summary>
The name of the node to get saliency information from.
</summary>
</member>
<member name="F:Yarn.Instruction.Types.AddSaliencyCandidateFromNodeInstruction.DestinationFieldNumber">
<summary>Field number for the "destination" field.</summary>
</member>
<member name="P:Yarn.Instruction.Types.AddSaliencyCandidateFromNodeInstruction.Destination">
<summary>
The instruction number in the current node to jump to if this
candidate is selected.
</summary>
</member>
<member name="T:Yarn.Node">
<summary>
A node of Yarn script, contained within a <see cref="T:Yarn.Program"/>, and
containing <see cref="T:Yarn.Instruction"/>s.
</summary>
<summary>
A collection of instructions
</summary>
</member>
<member name="P:Yarn.Node.Tags">
<summary>
Gets the collection of tags defined for this node, if any. If no
tags are defined, returns an empty collection.
</summary>
</member>
<member name="F:Yarn.Node.NodeGroupHeader">
<summary>
The name of the header that indicates which node group a node
belongs to.
</summary>
</member>
<member name="P:Yarn.Node.TrackingVariableName">
<summary>
Gets the name of the variable used for tracking the number of times
this node has completed, or <see langword="null"/> if this node is
not tracked.
</summary>
</member>
<member name="P:Yarn.Node.IsNodeGroupHub">
<summary>
Gets a value indicating whether this node is the 'hub' node for a
node group.
</summary>
</member>
<member name="P:Yarn.Node.ContentSaliencyConditionVariables">
<summary>
Gets an enumerable containing the names of variables that must be
evaluated in order to determine whether this node can be selected as
a piece of salient content.
</summary>
<remarks>
The list of variables is stored in the header as a
semicolon-delimited string.
</remarks>
</member>
<member name="P:Yarn.Node.ContentSaliencyConditionComplexityScore">
<summary>
Gets the content saliency condition complexity score for this node.
</summary>
<returns>
An integer representing the content saliency condition complexity
score if a valid header is found; otherwise, returns -1 if the
header is not present or does not contain a valid value.
</returns>
</member>
<member name="P:Yarn.Node.NodeGroup">
<summary>
Gets the name of the node group that this node is a part of, or <see
langword="null"/> if it is not part of a node group.
</summary>
</member>
<member name="F:Yarn.Node.NameFieldNumber">
<summary>Field number for the "name" field.</summary>
</member>
<member name="P:Yarn.Node.Name">
<summary>
The name of this node.
</summary>
</member>
<member name="F:Yarn.Node.InstructionsFieldNumber">
<summary>Field number for the "instructions" field.</summary>
</member>
<member name="P:Yarn.Node.Instructions">
<summary>
The list of instructions in this node.
</summary>
</member>
<member name="F:Yarn.Node.HeadersFieldNumber">
<summary>Field number for the "headers" field.</summary>
</member>
<member name="P:Yarn.Node.Headers">
<summary>
The headers present on this node.
</summary>
</member>
<member name="T:Yarn.Saliency.BestLeastRecentlyViewedSaliencyStrategy">
<summary>
A content saliency strategy that returns the first of the best,
least-recently seen choices from the provided options.
</summary>
<remarks>
This strategy stores information about the number of times each piece of
content has been seen in the provided <see cref="P:Yarn.Saliency.BestLeastRecentlyViewedSaliencyStrategy.VariableStorage"/>.
</remarks>
</member>
<member name="M:Yarn.Saliency.BestLeastRecentlyViewedSaliencyStrategy.#ctor(Yarn.IVariableStorage)">
<summary>
Initalises a new instance of the <see
cref="T:Yarn.Saliency.BestLeastRecentlyViewedSaliencyStrategy"/> class.
</summary>
<param name="storage">The variable storage to use when determining
which content to show.</param>
<exception cref="T:System.ArgumentNullException">Thrown when the provided
<paramref name="storage"/> argument is null.</exception>
</member>
<member name="P:Yarn.Saliency.BestLeastRecentlyViewedSaliencyStrategy.VariableStorage">
<summary>
Gets the variable storage to use for storing information about how
often we've seen content.
</summary>
</member>
<member name="M:Yarn.Saliency.BestLeastRecentlyViewedSaliencyStrategy.ContentWasSelected(Yarn.Saliency.ContentSaliencyOption)">
<inheritdoc/>
<remarks>This method increments the view count for <paramref
name="content"/>, so that the next time QueryBestContent is run, it
has an updated count of the number of times the content has been
viewed.</remarks>
</member>
<member name="M:Yarn.Saliency.BestLeastRecentlyViewedSaliencyStrategy.QueryBestContent(System.Collections.Generic.IEnumerable{Yarn.Saliency.ContentSaliencyOption})">
<inheritdoc/>
</member>
<member name="T:Yarn.Saliency.BestSaliencyStrategy">
<summary>
A content saliency strategy that returns the best of the provided
options.
</summary>
<remarks>
This strategy always selects the single best of the available items,
regardless of how many times it has been seen before. For a saliency
strategy that takes into account how recently content has been seen, see
<see cref="T:Yarn.Saliency.BestLeastRecentlyViewedSaliencyStrategy"/>.
</remarks>
</member>
<member name="M:Yarn.Saliency.BestSaliencyStrategy.ContentWasSelected(Yarn.Saliency.ContentSaliencyOption)">
<inheritdoc/>
</member>
<member name="M:Yarn.Saliency.BestSaliencyStrategy.QueryBestContent(System.Collections.Generic.IEnumerable{Yarn.Saliency.ContentSaliencyOption})">
<inheritdoc/>
</member>
<member name="T:Yarn.Saliency.ContentSaliencyContentType">
<summary>
Indicates what type of content a <see cref="T:Yarn.Saliency.ContentSaliencyOption"/>
represents.
</summary>
<seealso cref="P:Yarn.Saliency.ContentSaliencyOption.ContentType"/>
</member>
<member name="F:Yarn.Saliency.ContentSaliencyContentType.Node">
<summary>
The content represents a node in a node group.
</summary>
</member>
<member name="F:Yarn.Saliency.ContentSaliencyContentType.Line">
<summary>
The content represents a line in a line group.
</summary>
</member>
<member name="T:Yarn.Saliency.ContentSaliencyOption">
<summary>
Represents a piece of content that may be selected by an <see
cref="T:Yarn.Saliency.IContentSaliencyStrategy"/>.
</summary>
</member>
<member name="M:Yarn.Saliency.ContentSaliencyOption.#ctor(System.String)">
<summary>
Initializes a new instance of the ContentSaliencyOption class with
the specified content ID.
</summary>
<param name="id">A string representing the unique identifier for the
content.</param>
<exception cref="T:System.ArgumentNullException">Thrown when the
provided ID is null.</exception>
</member>
<member name="P:Yarn.Saliency.ContentSaliencyOption.PassingConditionValueCount">
<summary>
Gets the number of conditions that passed for this piece of content.
</summary>
</member>
<member name="P:Yarn.Saliency.ContentSaliencyOption.FailingConditionValueCount">
<summary>
Get the number of conditions that failed for this piece of content.
</summary>
</member>
<member name="P:Yarn.Saliency.ContentSaliencyOption.ContentID">
<summary>
Gets a string that uniquely identifies this content.
</summary>
</member>
<member name="P:Yarn.Saliency.ContentSaliencyOption.ComplexityScore">
<summary>
Gets the complexity score of this option.
</summary>
</member>
<member name="P:Yarn.Saliency.ContentSaliencyOption.ContentType">
<summary>
Gets the type of content that this option represents.
</summary>
<remarks>
This information may be used by custom <see
cref="T:Yarn.Saliency.IContentSaliencyStrategy"/> classes to allow them to have
different behaviour depending on the type of the content.
</remarks>
</member>
<member name="P:Yarn.Saliency.ContentSaliencyOption.ViewCountKey">
<summary>
Gets a unique variable name that can be used for tracking the view
count of a specific piece of content. This value is <see
langword="null"/> if <see cref="P:Yarn.Saliency.ContentSaliencyOption.ContentID"/> is <see
langword="null"/> or empty.
</summary>
</member>
<member name="P:Yarn.Saliency.ContentSaliencyOption.Destination">
<summary>
The destination instruction that the virtual machine will jump to if
this option is selected.
</summary>
<remarks>This property is internal to Yarn Spinner, and is used by
the <see cref="T:Yarn.VirtualMachine"/> class.</remarks>
</member>
<member name="T:Yarn.Saliency.FirstSaliencyStrategy">
<summary>
A content saliency strategy that always returns the first non-failing
item in the list of available options.
</summary>
<remarks>
This saliency strategy is used when a <see cref="T:Yarn.Dialogue"/> has no
provided saliency strategy, but is required to make a decision.
</remarks>
</member>
<member name="M:Yarn.Saliency.FirstSaliencyStrategy.ContentWasSelected(Yarn.Saliency.ContentSaliencyOption)">
<inheritdoc/>
</member>
<member name="M:Yarn.Saliency.FirstSaliencyStrategy.QueryBestContent(System.Collections.Generic.IEnumerable{Yarn.Saliency.ContentSaliencyOption})">
<inheritdoc/>
</member>
<member name="T:Yarn.Saliency.IContentSaliencyStrategy">
<summary>
Contains methods for choosing a piece of content from a collection of
options.
</summary>
</member>
<member name="M:Yarn.Saliency.IContentSaliencyStrategy.QueryBestContent(System.Collections.Generic.IEnumerable{Yarn.Saliency.ContentSaliencyOption})">
<summary>
Chooses an item from content that is the most appropriate (or
<i>salient</i>) for the user's current context.
</summary>
<remarks>Implementations of this method should not modify any state
- that is, they should be 'read-only' operations. If a strategy
needs to record information about when a piece of content has been
selected, it should do it in the <see cref="M:Yarn.Saliency.IContentSaliencyStrategy.ContentWasSelected(Yarn.Saliency.ContentSaliencyOption)"/>
method.</remarks>
<param name="content">A collection of content items. This collection
may be empty.</param>
<returns>An item from <paramref name="content"/> that is the most
appropriate for display, or <see langword="null"/> if no content
should be displayed.</returns>
</member>
<member name="M:Yarn.Saliency.IContentSaliencyStrategy.ContentWasSelected(Yarn.Saliency.ContentSaliencyOption)">
<summary>
Called by Yarn Spinner to indicate that a piece of salient content
has been selected, and this system should update any state related
to how it selects content.
</summary>
<remarks>If a content saliency strategy does not need to keep track
of any state, then this method can be empty.</remarks>
<param name="content">The content that has been selected.</param>
</member>
<member name="T:Yarn.Saliency.RandomBestLeastRecentlyViewedSaliencyStrategy">
<summary>
A content saliency strategy that returns a random choice of the best,
least-recently seen choices from the provided options.
</summary>
<remarks>
This strategy stores information about the number of times each piece of
content has been seen in the provided <see cref="P:Yarn.Saliency.RandomBestLeastRecentlyViewedSaliencyStrategy.VariableStorage"/>.
</remarks>
</member>
<member name="M:Yarn.Saliency.RandomBestLeastRecentlyViewedSaliencyStrategy.#ctor(Yarn.IVariableStorage)">
<summary>
Initializes a new instance of the <see
cref="T:Yarn.Saliency.RandomBestLeastRecentlyViewedSaliencyStrategy"/> class.
</summary>
<param name="storage">The variable storage to use when determining
which content to show.</param>
<exception cref="T:System.ArgumentNullException">Thrown when the provided
<paramref name="storage"/> argument is null.</exception>
</member>
<member name="P:Yarn.Saliency.RandomBestLeastRecentlyViewedSaliencyStrategy.VariableStorage">
<summary>
Gets the variable storage to use for storing information about how
often we've seen content.
</summary>
</member>
<member name="M:Yarn.Saliency.RandomBestLeastRecentlyViewedSaliencyStrategy.ContentWasSelected(Yarn.Saliency.ContentSaliencyOption)">
<inheritdoc/>
<remarks>This method increments the view count for <paramref
name="content"/>, so that the next time QueryBestContent is run, it
has an updated count of the number of times the content has been
viewed.</remarks>
</member>
<member name="M:Yarn.Saliency.RandomBestLeastRecentlyViewedSaliencyStrategy.QueryBestContent(System.Collections.Generic.IEnumerable{Yarn.Saliency.ContentSaliencyOption})">
<inheritdoc/>
</member>
<member name="T:Yarn.Saliency.EnumerableRandomExtension">
<summary>
Contains extension methods for <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
</summary>
</member>
<member name="M:Yarn.Saliency.EnumerableRandomExtension.RandomElement``1(System.Collections.Generic.IEnumerable{``0})">
<summary>
Returns a random element from <paramref name="enumerable"/>.
</summary>
<remarks>
This method uses System.Random to make a selection, which is
cryptographically insecure. This means that this method should not
be used for security-critical decisions.
</remarks>
<typeparam name="T">The type of element in <paramref
name="enumerable"/>.</typeparam>
<param name="enumerable">The collection to choose an item
from.</param>
<returns>A random element in <paramref
name="enumerable"/>.</returns>
<exception cref="T:System.ArgumentException">Thrown when <paramref
name="enumerable"/> contains no items.</exception>
</member>
<member name="T:Yarn.SmartVariableEvaluationVirtualMachine">
<summary>
A lightweight, static 'virtual machine' designed for evaluating smart
variables.
</summary>
<remarks>
This class implements a subset of the <see cref="T:Yarn.Instruction"/>
operations, and is designed for evaluating smart variable implementation
nodes.
</remarks>
</member>
<member name="M:Yarn.SmartVariableEvaluationVirtualMachine.TryGetSmartVariable``1(System.String,Yarn.IVariableAccess,Yarn.Library,``0@)">
<summary>
Evaluates a smart variable.
</summary>
<typeparam name="T">The type of the variable to return.</typeparam>
<param name="name">The name of the smart variable.</param>
<param name="variableAccess">An <see cref="T:Yarn.IVariableAccess"/> object
that can be used for fetching variable values.</param>
<param name="library">A <see cref="T:Yarn.Library"/> containing functions
to use while evaluating the variable.</param>
<param name="result">On return, the computed value of the smart
variable.</param>
<returns><see langword="true"/> if the variable could be fetched as
type <typeparamref name="T"/>; <see langword="false"/>
otherwise.</returns>
<exception cref="T:System.ArgumentNullException">Thrown if <paramref
name="variableAccess"/> or <paramref name="library"/> is
null.</exception>
<exception cref="T:System.ArgumentException">Thrown if <paramref
name="name"/> is null or empty.</exception>
<exception cref="T:System.InvalidOperationException">Thrown if an error
occurs during the evaluation of the variable.</exception>
</member>
<member name="M:Yarn.SmartVariableEvaluationVirtualMachine.GetSaliencyOptionsForNodeGroup(System.String,Yarn.IVariableAccess,Yarn.Library)">
<summary>
Retrieves a collection of content saliency options available for the
specified node group.
</summary>
<remarks>
This method iterates through all nodes in the program to find those
that belong to the specified node group. It calculates the
complexity score and counts the number of conditions that pass or
fail for each node, then creates a saliency option for each
qualifying node.
</remarks>
<param name="nodeGroupName">The name of the node group to search for
available content.</param>
<param name="variableAccess">The object to use when accessing
variables.</param>
<param name="library">The library containing function
definitions.</param>
<returns>An enumerable collection of <see
cref="T:Yarn.Saliency.ContentSaliencyOption"/> objects representing
available content saliency options for the specified node
group.</returns>
<exception cref="T:System.ArgumentException">Thrown when the provided
<paramref name="nodeGroupName"/> is not a valid node group name in
the program.</exception>
</member>
<member name="T:Yarn.AnyType">
<summary>
Represents any type. This type is used in circumstances when a type
is known to have a value, but the specific type is not known or
required to be known.
</summary>
<remarks>
This is the parent type of all types.
</remarks>
</member>
<member name="P:Yarn.AnyType.Name">
<inheritdoc/>
</member>
<member name="P:Yarn.AnyType.Parent">
<inheritdoc/>
</member>
<member name="P:Yarn.AnyType.Description">
<inheritdoc/>
</member>
<member name="P:Yarn.AnyType.Methods">
<inheritdoc/>
</member>
<member name="T:Yarn.BooleanType">
<summary>
A type that represents boolean values.
</summary>
</member>
<member name="P:Yarn.BooleanType.DefaultValue">
<inheritdoc/>
</member>
<member name="P:Yarn.BooleanType.Name">
<inheritdoc/>
</member>
<member name="P:Yarn.BooleanType.Parent">
<inheritdoc/>
</member>
<member name="P:Yarn.BooleanType.Description">
<inheritdoc/>
</member>
<member name="P:Yarn.BooleanType.DefaultMethods">
<inheritdoc/>
</member>
<member name="T:Yarn.EnumBase">
<summary>
The base type for all enumeration types.
</summary>
</member>
<member name="M:Yarn.EnumBase.#ctor">
<summary>
Initialises a new instance of the <see cref="T:Yarn.EnumBase"/> class.
</summary>
</member>
<member name="P:Yarn.EnumBase.Name">
<inheritdoc/>
</member>
<member name="P:Yarn.EnumBase.Parent">
<inheritdoc/>
</member>
<member name="P:Yarn.EnumBase.Description">
<inheritdoc/>
</member>
<member name="T:Yarn.EnumType">
<summary>
A type that represents enumerations.
</summary>
</member>
<member name="M:Yarn.EnumType.#ctor(System.String,System.String,Yarn.TypeBase)">
<summary>
Initializes a new instance of the <see cref="T:Yarn.EnumType"/> class that
represents an enum type. This type has no methods of its own, and is
a subtype of <see cref="P:Yarn.Types.Any"/>.
</summary>
<param name="name">The name of this method.</param>
<param name="description">A string that describes this
method.</param>
<param name="rawType"></param>
</member>
<member name="P:Yarn.EnumType.Name">
<inheritdoc/>
</member>
<member name="P:Yarn.EnumType.Parent">
<inheritdoc/>
</member>
<member name="P:Yarn.EnumType.Description">
<inheritdoc/>
</member>
<member name="P:Yarn.EnumType.RawType">
<summary>
Gets the type of this enum's members.
</summary>
</member>
<member name="P:Yarn.EnumType.EnumCases">
<summary>
Gets the collection of enum cases in this enum.
</summary>
</member>
<member name="M:Yarn.EnumType.AddMember(System.String,Yarn.ConstantTypeProperty)">
<summary>
Adds a new case to this enumeration type.
</summary>
<param name="name">The name of the case.</param>
<param name="member">The member to add for the given name.</param>
</member>
<member name="T:Yarn.FunctionType">
<summary>
A type that represents a function.
</summary>
<remarks>
Functions have parameters and a return type, and can be called from
script. Instances of this type are created when the host
application registers new functions (such as through using the <see
cref="M:Yarn.Library.RegisterFunction(System.String,System.Delegate)"/> methods or similar.)
</remarks>
</member>
<member name="P:Yarn.FunctionType.Name">
<inheritdoc/>
</member>
<member name="P:Yarn.FunctionType.Description">
<inheritdoc/>
</member>
<member name="P:Yarn.FunctionType.Parent">
<inheritdoc/>
</member>
<member name="P:Yarn.FunctionType.ReturnType">
<summary>
Gets the type of value that this function returns.
</summary>
</member>
<member name="P:Yarn.FunctionType.Parameters">
<summary>
Gets the list of the parameter types that this function is
called with.
</summary>
<remarks>
The length of this list also determines the number of
parameters this function accepts (also known as the function's
<i>arity</i>).
</remarks>
</member>
<member name="M:Yarn.FunctionType.GetParameterAt(System.Int32)">
<summary>
Gets the type of the parameter at the given index.
</summary>
<param name="index">The index of the parameter to get the type
for.</param>
<returns>The type of the parameter. If <paramref name="index"/> is
beyond the length of <see cref="P:Yarn.FunctionType.Parameters"/>, and <see
cref="P:Yarn.FunctionType.VariadicParameterType"/> is not <see langword="null"/>, <see
cref="P:Yarn.FunctionType.VariadicParameterType"/> is returned. </returns>
<exception cref="T:System.ArgumentOutOfRangeException">Thrown when
<paramref name="index"/> is less than zero, or is beyond the length
of <see cref="P:Yarn.FunctionType.Parameters"/> and <see cref="P:Yarn.FunctionType.VariadicParameterType"/>
is <see langword="null"/>.
</exception>
</member>
<member name="P:Yarn.FunctionType.VariadicParameterType">
<summary>
Gets the type of value that this type of function accepts as a
variadic parameter.
</summary>
<remarks>This value is <see langword="null"/> if this type of
function does not accept variadic parameters.</remarks>
</member>
<member name="P:Yarn.FunctionType.TypeMembers">
<inheritdoc/>
</member>
<member name="M:Yarn.FunctionType.#ctor(Yarn.IType,Yarn.IType[])">
<summary>
Initialises a new instances of the <see cref="T:Yarn.FunctionType"/> class.
</summary>
<param name="returnType">The type of the value that this type of
function returns.</param>
<param name="parameterTypes">The types of the parameters that this
type of function accepts.</param>
</member>
<member name="M:Yarn.FunctionType.AddParameter(Yarn.IType)">
<summary>
Adds a new parameter to the function.
</summary>
<param name="parameterType">The type of parameter to
add.</param>
</member>
<member name="M:Yarn.FunctionType.ToString">
<inheritdoc/>
</member>
<member name="M:Yarn.FunctionType.Equals(Yarn.IType)">
<inheritdoc/>
</member>
<member name="T:Yarn.IType">
<summary>
Defines properties that describe a type in the Yarn language.
</summary>
</member>
<member name="P:Yarn.IType.Name">
<summary>
Gets the name of this type.
</summary>
</member>
<member name="P:Yarn.IType.Parent">
<summary>
Gets the parent of this type.
</summary>
<remarks>All types have <see cref="P:Yarn.Types.Any"/> as their
ultimate parent type (except for <see cref="P:Yarn.Types.Any"/>
itself.)</remarks>
</member>
<member name="P:Yarn.IType.Description">
<summary>
Gets a more verbose description of this type.
</summary>
</member>
<member name="P:Yarn.IType.TypeMembers">
<summary>
Gets the collection of type information for this type's type members.
</summary>
</member>
<member name="T:Yarn.NumberType">
<summary>
A type that represents floating-point number values.
</summary>
</member>
<member name="P:Yarn.NumberType.DefaultValue">
<inheritdoc/>
</member>
<member name="P:Yarn.NumberType.Name">
<inheritdoc/>
</member>
<member name="P:Yarn.NumberType.Parent">
<inheritdoc/>
</member>
<member name="P:Yarn.NumberType.Description">
<inheritdoc/>
</member>
<member name="M:Yarn.NumberType.ToBridgedType(Yarn.Value)">
<inheritdoc/>
</member>
<member name="T:Yarn.StringType">
<summary>
A type that represents string values.
</summary>
</member>
<member name="M:Yarn.StringType.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Yarn.StringType"/>
class.
</summary>
</member>
<member name="P:Yarn.StringType.Name">
<inheritdoc/>
</member>
<member name="P:Yarn.StringType.Parent">
<inheritdoc/>
</member>
<member name="P:Yarn.StringType.Description">
<inheritdoc/>
</member>
<member name="P:Yarn.StringType.DefaultValue">
<inheritdoc/>
</member>
<member name="M:Yarn.StringType.Equals(System.Object)">
<inheritdoc/>
</member>
<member name="M:Yarn.StringType.GetHashCode">
<inheritdoc/>
</member>
<member name="M:Yarn.StringType.ToString">
<inheritdoc/>
</member>
<member name="T:Yarn.ITypeMember">
<summary>
Provides properties used to work with members of a type.
</summary>
</member>
<member name="P:Yarn.ITypeMember.Type">
<summary>
Gets or sets the type of this member.
</summary>
</member>
<member name="T:Yarn.ConstantTypeProperty">
<summary>
Represents a property that belongs to a type and contains a read-only
value.
</summary>
<remarks>
This kind of type member is useful for constant properties, like enum
cases.
</remarks>
</member>
<member name="P:Yarn.ConstantTypeProperty.Type">
<summary>
Gets the type of this property.
</summary>
</member>
<member name="P:Yarn.ConstantTypeProperty.Value">
<summary>
Gets the value that is stored in this property.
</summary>
</member>
<member name="P:Yarn.ConstantTypeProperty.Description">
<summary>
Gets a string describing this property.
</summary>
</member>
<member name="T:Yarn.TypeBase">
<summary>
Provides the base class for all concrete types.
</summary>
</member>
<member name="P:Yarn.TypeBase.Name">
<summary>
Gets the name of this type.
</summary>
</member>
<member name="P:Yarn.TypeBase.Parent">
<summary>
Gets the parent of this type.
</summary>
</member>
<member name="P:Yarn.TypeBase.Description">
<summary>
Gets a string describing this type.
</summary>
</member>
<member name="M:Yarn.TypeBase.ToString">
<inheritdoc />
</member>
<member name="P:Yarn.TypeBase.Methods">
<summary>
Gets the collection of methods that are defined on this type.
</summary>
</member>
<member name="P:Yarn.TypeBase.TypeMembers">
<summary>
Gets a dictionary containing the members of this type.
</summary>
</member>
<member name="P:Yarn.TypeBase.ConvertibleToTypes">
<summary>
Gets the collection of types that this type may be converted to.
</summary>
</member>
<member name="P:Yarn.TypeBase.TypeDepth">
<summary>
Gets the depth of this type in the hierarchy, measured as the total
number of parent-child relationships between this type and a root of
the type system.
</summary>
<remarks>
<see cref="P:Yarn.Types.Any"/> and <see cref="P:Yarn.Types.Error"/> have a depth
of zero.
</remarks>
</member>
<member name="M:Yarn.TypeBase.AddConvertibleTo(Yarn.TypeBase)">
<summary>
Registers that this type is convertible to <paramref name="otherType"/>.
</summary>
<param name="otherType"></param>
</member>
<member name="M:Yarn.TypeBase.IsConvertibleTo(Yarn.TypeBase)">
<summary>
Checks if this type is convertible to the type represented by
<paramref name="otherType"/>.
</summary>
<remarks>
A type is convertible to another type if:
<list type="number">
<item>there is an explicit conversion available, or</item>
<item>it is a descendant of that type, or</item>
<item>
the two types are identical.</item></list>
</remarks>
<param name="otherType">The type to check.</param>
<returns><see langword="true"/> if this type is convertible to
<paramref name="otherType"/>.</returns>
</member>
<member name="M:Yarn.TypeBase.#ctor(System.Collections.Generic.IReadOnlyDictionary{System.String,System.Delegate})">
<summary>
Initialises a new instance of the <see cref="T:Yarn.TypeBase"/> class with
a collection of methods.
</summary>
<param name="methods">The methods that belong to this type.</param>
</member>
<member name="M:Yarn.TypeBase.IsAncestorOf(Yarn.TypeBase)">
<summary>
Gets whether this type is an ancestor of <paramref name="other"/>.
</summary>
<param name="other">The type to check.</param>
<returns><see langword="true"/> if this type is an ancestor of
<paramref name="other"/>; <see langword="false"/>
otherwise.</returns>
</member>
<member name="M:Yarn.TypeBase.Equals(Yarn.TypeBase)">
<inheritdoc/>
</member>
<member name="M:Yarn.TypeBase.Equals(System.Object)">
<inheritdoc/>
</member>
<member name="M:Yarn.TypeBase.GetHashCode">
<inheritdoc/>
</member>
<member name="T:Yarn.Types">
<summary>
Contains the built-in types available in the Yarn language.
</summary>
</member>
<member name="P:Yarn.Types.String">
<summary>Gets the type representing strings.</summary>
</member>
<member name="P:Yarn.Types.Number">
<summary>Gets the type representing numbers.</summary>
</member>
<member name="P:Yarn.Types.Boolean">
<summary>Gets the type representing boolean values.</summary>
</member>
<member name="P:Yarn.Types.Any">
<summary>Gets the type representing any value.</summary>
</member>
<member name="P:Yarn.Types.Error">
<summary>Gets the type representing a typing error.</summary>
</member>
<member name="P:Yarn.Types.AllBuiltinTypes">
<summary>
Gets the collection of all built-in types.
</summary>
</member>
<member name="P:Yarn.Types.TypeMappings">
<summary>
Gets a dictionary that maps CLR types to their corresponding
Yarn types.
</summary>
</member>
<member name="T:Yarn.TypeUtil">
<summary>
Contains utility methods for working with types and their methods.
</summary>
</member>
<member name="M:Yarn.TypeUtil.FindImplementingTypeForMethod(Yarn.IType,System.String)">
<summary>
Returns the type that contains the actual implementation of the
method indicated by <paramref name="methodName"/>, given a type or
sub-type.
</summary>
<remarks>
This method checks to see if <paramref name="type"/> contains a
concrete implementation of a method named <paramref
name="methodName"/>. If it does, <paramref name="type"/> is
returned; otherwise, the parent of <paramref name="type"/> is
checked, and so on up the hierarchy. If no type in <paramref
name="type"/>'s parent chain implements a method named <paramref
name="methodName"/>, this method returns <see langword="null"/>.
</remarks>
<param name="type">The type, or sub-type, to start searching for an
implementation for the method.</param>
<param name="methodName">The name of the method to search
for.</param>
<returns>The <see cref="T:Yarn.IType"/> object that contains an
implementation of <paramref name="methodName"/>.</returns>
<exception cref="T:System.ArgumentNullException">Thrown if <paramref
name="type"/> is <see langword="null"/>.</exception>
<exception cref="T:System.ArgumentException">Thrown if methodName is <see
langword="null"/> or empty.</exception>
</member>
<member name="M:Yarn.TypeUtil.IsSubType(Yarn.IType,Yarn.IType)">
<summary>
Checks to see if <paramref name="subType"/> is equal to
<paramref name="parentType"/>, or if <paramref
name="parentType"/> exists in <paramref name="subType"/>'s type
hierarchy.
</summary>
<param name="parentType">The parent type to check
against.</param>
<param name="subType">The type to check if it's a subtype of
<paramref name="parentType"/>.</param>
<returns><see langword="true"/> if <paramref name="subType"/>
is the same or a subtype of <paramref name="parentType"/>; <see
langword="false"/> otherwise.</returns>
</member>
<member name="T:Yarn.IYarnValue">
<summary>
Represents a read-only value in the Yarn Spinner virtual machine.
</summary>
</member>
<member name="M:Yarn.IYarnValue.ConvertTo``1">
<summary>
Converts this <see cref="T:Yarn.IYarnValue"/> to type <typeparamref
name="T"/>.
</summary>
<typeparam name="T">The type to convert to.</typeparam>
<returns>A value of type T.</returns>
</member>
<member name="T:Yarn.Value">
<summary>
A value from inside Yarn.
</summary>
</member>
<member name="M:Yarn.Value.#ctor(Yarn.Value)">
<summary>
Initializes a new instance of the <see cref="T:Yarn.Value"/> class,
using the specified object.
</summary>
<remarks>
If the <c>value</c> is another <see cref="T:Yarn.Value"/>, its contents
will be copied into the new instance.
</remarks>
<throws cref="T:System.ArgumentException">
Thrown when the <c>value</c> is not a <see cref="T:Yarn.Value"/>, string,
int, float, double, bool, or null.
</throws>
<param name="value">The value that this <see cref="T:Yarn.Value"/>
should contain.</param>
</member>
<member name="M:Yarn.Value.CompareTo(System.Object)">
<summary>
Compares this <see cref="T:Yarn.Value"/> to another object. The other object must either be another instance of <see cref="T:Yarn.Value"/>, or <c>null</c>.
</summary>
<param name="obj">The object to compare to.</param>
<returns>Returns the same results as <see cref="M:System.IComparable.CompareTo(System.Object)"/>.</returns>
<exception cref="T:System.ArgumentException">Thrown when <c>obj</c> is not a <see cref="T:Yarn.Value"/>.</exception>
</member>
<member name="M:Yarn.Value.ToString">
<summary>
Converts this value to a string.
</summary>
<returns>The string representation of this value</returns>
</member>
<member name="T:Yarn.Operand">
<summary>
A value used by an Instruction.
</summary>
<summary>
A value used by an Instruction.
</summary>
</member>
<member name="M:Yarn.Operand.#ctor(System.Boolean)">
<summary>
Convenience constructor for the Operand type.
</summary>
<remarks>
so that we don't need to have two separate steps for creating and then preparing the Operand
</remarks>
<param name="value">The boolean value to be made into the operand</param>
</member>
<member name="M:Yarn.Operand.#ctor(System.String)">
<summary>
Convenience constructor for the Operand type.
</summary>
<remarks>
so that we don't need to have two separate steps for creating and then preparing the Operand
</remarks>
<param name="value">The string value to be made into the operand</param>
</member>
<member name="M:Yarn.Operand.#ctor(System.Single)">
<summary>
Convenience constructor for the Operand type.
</summary>
<remarks>
so that we don't need to have two separate steps for creating and then preparing the Operand
</remarks>
<param name="value">The float value to be made into the operand</param>
</member>
<member name="F:Yarn.Operand.StringValueFieldNumber">
<summary>Field number for the "string_value" field.</summary>
</member>
<member name="P:Yarn.Operand.StringValue">
<summary>
A string.
</summary>
</member>
<member name="P:Yarn.Operand.HasStringValue">
<summary>Gets whether the "string_value" field is set</summary>
</member>
<member name="M:Yarn.Operand.ClearStringValue">
<summary> Clears the value of the oneof if it's currently set to "string_value" </summary>
</member>
<member name="F:Yarn.Operand.BoolValueFieldNumber">
<summary>Field number for the "bool_value" field.</summary>
</member>
<member name="P:Yarn.Operand.BoolValue">
<summary>
A boolean (true or false).
</summary>
</member>
<member name="P:Yarn.Operand.HasBoolValue">
<summary>Gets whether the "bool_value" field is set</summary>
</member>
<member name="M:Yarn.Operand.ClearBoolValue">
<summary> Clears the value of the oneof if it's currently set to "bool_value" </summary>
</member>
<member name="F:Yarn.Operand.FloatValueFieldNumber">
<summary>Field number for the "float_value" field.</summary>
</member>
<member name="P:Yarn.Operand.FloatValue">
<summary>
A floating point number.
</summary>
</member>
<member name="P:Yarn.Operand.HasFloatValue">
<summary>Gets whether the "float_value" field is set</summary>
</member>
<member name="M:Yarn.Operand.ClearFloatValue">
<summary> Clears the value of the oneof if it's currently set to "float_value" </summary>
</member>
<member name="T:Yarn.Operand.ValueOneofCase">
<summary>Enum of possible cases for the "value" oneof.</summary>
</member>
<member name="T:Yarn.Operator">
<summary>
Lists the available operators that can be used with Yarn values.
</summary>
</member>
<member name="F:Yarn.Operator.None">
<summary>A unary operator that returns its input.</summary>
</member>
<member name="F:Yarn.Operator.EqualTo">
<summary>A binary operator that represents equality.</summary>
</member>
<member name="F:Yarn.Operator.GreaterThan">
<summary>A binary operator that represents a value being
greater than another.</summary>
</member>
<member name="F:Yarn.Operator.GreaterThanOrEqualTo">
<summary>A binary operator that represents a value being
greater than or equal to another.</summary>
</member>
<member name="F:Yarn.Operator.LessThan">
<summary>A binary operator that represents a value being less
than another.</summary>
</member>
<member name="F:Yarn.Operator.LessThanOrEqualTo">
<summary>A binary operator that represents a value being less
than or equal to another.</summary>
</member>
<member name="F:Yarn.Operator.NotEqualTo">
<summary>A binary operator that represents
inequality.</summary>
</member>
<member name="F:Yarn.Operator.Or">
<summary>A binary operator that represents a logical
or.</summary>
</member>
<member name="F:Yarn.Operator.And">
<summary>A binary operator that represents a logical
and.</summary>
</member>
<member name="F:Yarn.Operator.Xor">
<summary>A binary operator that represents a logical exclusive
or.</summary>
</member>
<member name="F:Yarn.Operator.Not">
<summary>A binary operator that represents a logical
not.</summary>
</member>
<member name="F:Yarn.Operator.UnaryMinus">
<summary>A unary operator that represents negation.</summary>
</member>
<member name="F:Yarn.Operator.Add">
<summary>A binary operator that represents addition.</summary>
</member>
<member name="F:Yarn.Operator.Minus">
<summary>A binary operator that represents
subtraction.</summary>
</member>
<member name="F:Yarn.Operator.Multiply">
<summary>A binary operator that represents
multiplication.</summary>
</member>
<member name="F:Yarn.Operator.Divide">
<summary>A binary operator that represents division.</summary>
</member>
<member name="F:Yarn.Operator.Modulo">
<summary>A binary operator that represents the remainder
operation.</summary>
</member>
<member name="T:Yarn.ISmartVariableEvaluator">
<summary>
Contains methods for evaluating the value of smart variables
</summary>
</member>
<member name="M:Yarn.ISmartVariableEvaluator.TryGetSmartVariable``1(System.String,``0@)">
<summary>
Evaluate the value of a smart variable named <paramref
name="name"/>.
</summary>
<typeparam name="T">The type of the returned value.</typeparam>
<param name="name">The name of the variable.</param>
<param name="result">On return, contains the returned value of the
smart variable, or the <see langword="default"/> value of
<typeparamref name="T"/> if a smart variable named <paramref
name="name"/> could not be found or its value could not be returned
as type <typeparamref name="T"/>.</param>
<returns><see langword="true"/> if the smart variable was evaluated,
<see langword="false"/> otherwise.</returns>
</member>
<member name="F:Yarn.VirtualMachine.State.currentNodeName">
<summary>The name of the node that we're currently
in.</summary>
</member>
<member name="F:Yarn.VirtualMachine.State.programCounter">
<summary>The instruction number in the current
node.</summary>
</member>
<member name="F:Yarn.VirtualMachine.State.currentOptions">
<summary>The current list of options that will be delivered
when the next RunOption instruction is
encountered.</summary>
</member>
<member name="F:Yarn.VirtualMachine.State.stack">
<summary>The value stack.</summary>
</member>
<member name="M:Yarn.VirtualMachine.State.PushValue(Yarn.Value)">
<summary>Pushes a <see cref="T:Yarn.Value"/> object onto the
stack.</summary>
<param name="v">The value to push onto the stack.</param>
</member>
<member name="M:Yarn.VirtualMachine.State.PopValue">
<summary>Removes a value from the top of the stack, and
returns it.</summary>
<returns>The value that was at the top of the stack when
this method was called.</returns>
</member>
<member name="M:Yarn.VirtualMachine.State.PeekValue">
<summary>Peeks at a value from the stack.</summary>
<returns>The value at the top of the stack.</returns>
</member>
<member name="M:Yarn.VirtualMachine.State.ClearStack">
<summary>Clears the stack.</summary>
</member>
<member name="M:Yarn.VirtualMachine.ResetState">
Reset the state of the VM
</member>
<member name="P:Yarn.VirtualMachine.Program">
<summary>
The <see cref="P:Yarn.VirtualMachine.Program"/> that this virtual machine is running.
</summary>
</member>
<member name="F:Yarn.VirtualMachine.ExecutionState.Stopped">
<summary>
The VirtualMachine is not running a node.
</summary>
</member>
<member name="F:Yarn.VirtualMachine.ExecutionState.WaitingOnOptionSelection">
<summary>
The VirtualMachine is waiting on option selection. Call
<see cref="M:Yarn.VirtualMachine.SetSelectedOption(System.Int32)"/> before calling <see
cref="M:Yarn.VirtualMachine.Continue"/>.
</summary>
</member>
<member name="F:Yarn.VirtualMachine.ExecutionState.WaitingForContinue">
<summary>
The VirtualMachine has finished delivering content to the
client game, and is waiting for <see cref="M:Yarn.VirtualMachine.Continue"/> to
be called.
</summary>
</member>
<member name="F:Yarn.VirtualMachine.ExecutionState.DeliveringContent">
<summary>
The VirtualMachine is delivering a line, options, or a
commmand to the client game.
</summary>
</member>
<member name="F:Yarn.VirtualMachine.ExecutionState.Running">
<summary>
The VirtualMachine is in the middle of executing code.
</summary>
</member>
<member name="M:Yarn.VirtualMachine.Continue">
Resumes execution.
</member>
<member name="M:Yarn.VirtualMachine.CheckCanContinue">
<summary>
Runs a series of tests to see if the <see
cref="T:Yarn.VirtualMachine"/> is in a state where <see
cref="M:Yarn.VirtualMachine.Continue"/> can be called. Throws an exception if it
can't.
</summary>
<throws cref="T:Yarn.DialogueException">Thrown when the <see
cref="T:Yarn.VirtualMachine"/> is not in a state where <see
cref="M:Yarn.VirtualMachine.Continue"/> could be called.</throws>
</member>
<member name="T:Yarn.YarnSpinnerReflection">
<summary>Holder for reflection information generated from yarn_spinner.proto</summary>
</member>
<member name="P:Yarn.YarnSpinnerReflection.Descriptor">
<summary>File descriptor for yarn_spinner.proto</summary>
</member>
<member name="F:Yarn.Header.KeyFieldNumber">
<summary>Field number for the "key" field.</summary>
</member>
<member name="P:Yarn.Header.Key">
<summary>
The name of the header.
</summary>
</member>
<member name="F:Yarn.Header.ValueFieldNumber">
<summary>Field number for the "value" field.</summary>
</member>
<member name="P:Yarn.Header.Value">
<summary>
The value of the header.
</summary>
</member>
<member name="T:Yarn.InstructionV1">
<summary>
A single Yarn instruction.
</summary>
</member>
<member name="F:Yarn.InstructionV1.OpcodeFieldNumber">
<summary>Field number for the "opcode" field.</summary>
</member>
<member name="P:Yarn.InstructionV1.Opcode">
<summary>
The operation that this instruction will perform.
</summary>
</member>
<member name="F:Yarn.InstructionV1.OperandsFieldNumber">
<summary>Field number for the "operands" field.</summary>
</member>
<member name="P:Yarn.InstructionV1.Operands">
<summary>
The list of operands, if any, that this instruction uses.
</summary>
</member>
<member name="T:Yarn.InstructionV1.Types">
<summary>Container for nested types declared in the InstructionV1 message type.</summary>
</member>
<member name="T:Yarn.InstructionV1.Types.OpCode">
<summary>
The type of instruction that this is.
</summary>
</member>
<member name="F:Yarn.InstructionV1.Types.OpCode.JumpTo">
<summary>
Jumps to a named position in the node.
opA = string: label name
</summary>
</member>
<member name="F:Yarn.InstructionV1.Types.OpCode.Jump">
<summary>
Peeks a string from stack, and jumps to that named position in
the node.
No operands.
</summary>
</member>
<member name="F:Yarn.InstructionV1.Types.OpCode.RunLine">
<summary>
Delivers a string ID to the client.
opA = string: string ID
</summary>
</member>
<member name="F:Yarn.InstructionV1.Types.OpCode.RunCommand">
<summary>
Delivers a command to the client.
opA = string: command text
</summary>
</member>
<member name="F:Yarn.InstructionV1.Types.OpCode.AddOption">
<summary>
Adds an entry to the option list (see ShowOptions).
- opA = string: string ID for option to add
- opB = string: destination to go to if this option is selected
- opC = number: number of expressions on the stack to insert
into the line
- opD = bool: whether the option has a condition on it (in which
case a value should be popped off the stack and used to signal
the game that the option should be not available)
</summary>
</member>
<member name="F:Yarn.InstructionV1.Types.OpCode.ShowOptions">
<summary>
Presents the current list of options to the client, then clears
the list. The most recently selected option will be on the top
of the stack when execution resumes.
No operands.
</summary>
</member>
<member name="F:Yarn.InstructionV1.Types.OpCode.PushString">
<summary>
Pushes a string onto the stack.
opA = string: the string to push to the stack.
</summary>
</member>
<member name="F:Yarn.InstructionV1.Types.OpCode.PushFloat">
<summary>
Pushes a floating point number onto the stack.
opA = float: number to push to stack
</summary>
</member>
<member name="F:Yarn.InstructionV1.Types.OpCode.PushBool">
<summary>
Pushes a boolean onto the stack.
opA = bool: the bool to push to stack
</summary>
</member>
<member name="F:Yarn.InstructionV1.Types.OpCode.PushNull">
<summary>
Pushes a null value onto the stack.
No operands.
</summary>
</member>
<member name="F:Yarn.InstructionV1.Types.OpCode.JumpIfFalse">
<summary>
Jumps to the named position in the the node, if the top of the
stack is not null, zero or false.
opA = string: label name
</summary>
</member>
<member name="F:Yarn.InstructionV1.Types.OpCode.Pop">
<summary>
Discards top of stack.
No operands.
</summary>
</member>
<member name="F:Yarn.InstructionV1.Types.OpCode.CallFunc">
<summary>
Calls a function in the client. Pops as many arguments as the
client indicates the function receives, and the result (if any)
is pushed to the stack.
opA = string: name of the function
</summary>
</member>
<member name="F:Yarn.InstructionV1.Types.OpCode.PushVariable">
<summary>
Pushes the contents of a variable onto the stack.
opA = name of variable
</summary>
</member>
<member name="F:Yarn.InstructionV1.Types.OpCode.StoreVariable">
<summary>
Stores the contents of the top of the stack in the named
variable.
opA = name of variable
</summary>
</member>
<member name="F:Yarn.InstructionV1.Types.OpCode.Stop">
<summary>
Stops execution of the program.
No operands.
</summary>
</member>
<member name="F:Yarn.InstructionV1.Types.OpCode.RunNode">
<summary>
Pops a string off the top of the stack, and runs the node with
that name.
No operands.
</summary>
</member>
<member name="T:Yarn.Markup.IAttributeMarkerProcessor">
<summary>Provides a mechanism for producing replacement text for a
marker.</summary>
<seealso cref="M:Yarn.Markup.LineParser.RegisterMarkerProcessor(System.String,Yarn.Markup.IAttributeMarkerProcessor)"/>
<seealso cref="M:Yarn.Markup.LineParser.DeregisterMarkerProcessor(System.String)"/>
</member>
<member name="M:Yarn.Markup.IAttributeMarkerProcessor.ProcessReplacementMarker(Yarn.Markup.MarkupAttribute,System.Text.StringBuilder,System.Collections.Generic.List{Yarn.Markup.MarkupAttribute},System.String)">
<summary>
Produces replacement text for a marker.
</summary>
<param name="marker">The marker to process into replacement
text.</param>
<param name="childBuilder">A <see cref="T:System.Text.StringBuilder"/>
that contains the child text contained within <paramref
name="marker"/>. Use the methods on this stringbuilder to produce
any text needed from this marker.</param>
<param name="childAttributes">The child attributes of <paramref
name="marker"/>.</param>
<param name="localeCode">A BCP-47 locale code that represents the
locale in which any processing should take place.</param>
<example>
<para>If the original text being processed by <see
cref="M:Yarn.Markup.LineParser.ParseString(System.String,System.String,System.Boolean)"/> is "<c>[a]
text1 [b/] text2 [/a]</c>", then the following facts will be
true:</para>
<list type="bullet">
<item>
<paramref name="childBuilder"/> will contain the text "text1 text2".
</item>
<item>
<paramref name="childAttributes"/> will contain a MarkupAttribute
named "<c>b</c>".
</item>
</list>
</example>
<returns>The collection of diagnostics produced during processing,
and the number of invisible characters created during processing.</returns>
</member>
<member name="T:Yarn.Markup.ReplacementMarkerResult">
<summary>
A bundle of results from processing replacement markers.
</summary>
<seealso cref="T:Yarn.Markup.IAttributeMarkerProcessor"/>
</member>
<member name="F:Yarn.Markup.ReplacementMarkerResult.Diagnostics">
<summary>
The collection of diagnostics produced during processing, if any.
</summary>
</member>
<member name="F:Yarn.Markup.ReplacementMarkerResult.InvisibleCharacters">
<summary>
The number of invisible characters added into the line during processing.
</summary>
<remarks>
This will vary depending on what the replacement markup needs to do.
<list type="bullet">
<item>
<para>
When only inserting rich-text tags, this should be the length of all inserted text.
For example <c>"this is text with [bold]some bold[/bold] elements"</c> translated into Unity style rich-text become <c>"this is text with &lt;b>some bold&lt;/b> elements"</c>.
In this case then the value of <c>InvisibleCharacters</c> would be seven.
</para>
</item>
<item>
<para>
When only modifying the content of the children text, such as making all text upper case, this should be <c>0</c>.
For example <c>"this is text with [upper]some uppercased[/upper] elements"</c> is transformed into <c>"this is text with SOME UPPERCASED elements"</c>.
The number of invisible character will be zero.
</para>
</item>
<item>
When adding new content into the line (regardless of being added at the start, end, or middle) this should be zero but the replacement processor should make sure to shift along it's children attributes where appropriate.
For example <c>"this is text with [emph]some emphasised[/emph] elements"</c> transformed into <c>"this is text with !!some emphasised!! elements"</c> the value of <c>InvisibleCharacters</c> would be zero.
In this case however the <c>childAttributes</c> in <see cref="M:Yarn.Markup.IAttributeMarkerProcessor.ProcessReplacementMarker(Yarn.Markup.MarkupAttribute,System.Text.StringBuilder,System.Collections.Generic.List{Yarn.Markup.MarkupAttribute},System.String)"/> would need to be shifted down two.
</item>
</list>
</remarks>
</member>
<member name="M:Yarn.Markup.ReplacementMarkerResult.#ctor(System.Collections.Generic.List{Yarn.Markup.LineParser.MarkupDiagnostic},System.Int32)">
<summary>
Convenience constructor for replacement markup results.
</summary>
<param name="diagnostics">The diagnostics generated during processing</param>
<param name="invisibleCharacters">the number of invisible characters generated during processing.</param>
</member>
<member name="M:Yarn.Markup.ReplacementMarkerResult.#ctor(System.Int32)">
<summary>
Convenience form of <see cref="M:Yarn.Markup.ReplacementMarkerResult.#ctor(System.Collections.Generic.List{Yarn.Markup.LineParser.MarkupDiagnostic},System.Int32)"/> for when there are no diagnostics.
</summary>
<param name="invisibleCharacters">the number of invisible characters generated during processing.</param>
</member>
<member name="T:Yarn.Markup.LineParser">
<summary>
Parses text and produces markup information.
</summary>
</member>
<member name="F:Yarn.Markup.LineParser.ReplacementMarkerContents">
<summary>
The name of the property in replacement attributes that
contains the text of the attribute.
</summary>
</member>
<member name="F:Yarn.Markup.LineParser.CharacterAttribute">
<summary>
The name of the implicitly-generated <c>character</c> attribute.
</summary>
<seealso cref="F:Yarn.Markup.LineParser.CharacterAttributeNameProperty"/>
</member>
<member name="F:Yarn.Markup.LineParser.CharacterAttributeNameProperty">
<summary>
The name of the 'name' property, on the implicitly-generated
<c>character</c> attribute.
</summary>
<seealso cref="F:Yarn.Markup.LineParser.CharacterAttribute"/>
</member>
<member name="F:Yarn.Markup.LineParser.TrimWhitespaceProperty">
<summary>
The name of the property to use to signify that trailing
whitespace should be trimmed if a tag had preceding whitespace
or begins the line. This property must be a bool value.
</summary>
</member>
<member name="F:Yarn.Markup.LineParser.NoMarkupAttribute">
<summary>
The name of the attribute to use to indicate that no marker
processing should occur.
</summary>
</member>
<member name="F:Yarn.Markup.LineParser.markerProcessors">
<summary>
A dictionary that maps the names of attributes to an object
that can generate replacement text for those attributes.
</summary>
</member>
<member name="F:Yarn.Markup.LineParser.input">
<summary>
The original text that this line parser is parsing.
</summary>
</member>
<member name="F:Yarn.Markup.LineParser.stringReader">
<summary>
A string reader used for reading through the <see
cref="F:Yarn.Markup.LineParser.input"/>.
</summary>
</member>
<member name="M:Yarn.Markup.LineParser.RegisterMarkerProcessor(System.String,Yarn.Markup.IAttributeMarkerProcessor)">
<summary>Registers an object as a marker processor for a given
marker name.</summary>
<remarks>
When a marker processor is registered for a marker name, the
parser will ask the processor for text to insert into the plain
text. This allows users of the <see cref="T:Yarn.Markup.LineParser"/> class
to dynamically replace text in a line. The <c>nomarkup</c> tag is
implemented in this way by the <see cref="T:Yarn.Markup.LineParser"/> class
directly; the <see cref="T:Yarn.Dialogue"/> class uses this mechanism
to implement the <c>select</c>, <c>plural</c> and <c>ordinal</c> markers.
</remarks>
<param name="attributeName">The name of the marker that should
use this marker processor.</param>
<param name="markerProcessor">The object that should be invoked
when markers with this name are encountered.</param>
</member>
<member name="M:Yarn.Markup.LineParser.DeregisterMarkerProcessor(System.String)">
<summary>
Removes any marker processor associated with a given marker name.
</summary>
<param name="attributeName">The name of the marker.</param>
</member>
<member name="T:Yarn.Markup.LineParser.MarkupDiagnostic">
<summary>
Represents a diagnostic message produced during markup parsing.
</summary>
</member>
<member name="P:Yarn.Markup.LineParser.MarkupDiagnostic.Message">
<summary>
Gets the text of the diagnostic.
</summary>
</member>
<member name="P:Yarn.Markup.LineParser.MarkupDiagnostic.Column">
<summary>
Gets the zero-based column index of the start of the range at
which this diagnostic appears.
</summary>
</member>
<member name="M:Yarn.Markup.LineParser.MarkupDiagnostic.#ctor(System.String,System.Int32)">
<summary>
Initialises a new instance of the <see cref="T:Yarn.Markup.LineParser.MarkupDiagnostic"/>
struct.
</summary>
<param name="message">The diagnostic text.</param>
<param name="column">The zero-based first column of the
diagnostic's range.</param>
</member>
<member name="M:Yarn.Markup.LineParser.MarkupDiagnostic.Equals(System.Object)">
<inheritdoc/>
</member>
<member name="M:Yarn.Markup.LineParser.MarkupDiagnostic.GetHashCode">
<inheritdoc/>
</member>
<member name="M:Yarn.Markup.LineParser.MarkupDiagnostic.op_Equality(Yarn.Markup.LineParser.MarkupDiagnostic,Yarn.Markup.LineParser.MarkupDiagnostic)">
<inheritdoc/>
</member>
<member name="M:Yarn.Markup.LineParser.MarkupDiagnostic.op_Inequality(Yarn.Markup.LineParser.MarkupDiagnostic,Yarn.Markup.LineParser.MarkupDiagnostic)">
<inheritdoc/>
</member>
<member name="M:Yarn.Markup.LineParser.MarkupDiagnostic.Equals(Yarn.Markup.LineParser.MarkupDiagnostic)">
<inheritdoc/>
</member>
<member name="M:Yarn.Markup.LineParser.ParseString(System.String,System.String,System.Boolean)">
<inheritdoc cref="M:Yarn.Markup.LineParser.ParseString(System.String,System.String,System.Boolean,System.Boolean,System.Boolean)"/>
</member>
<member name="M:Yarn.Markup.LineParser.ParseString(System.String,System.String,System.Boolean,System.Boolean,System.Boolean)">
<summary>
Parses a string of text and produces a markup parse result.
</summary>
<param name="input">The text to parse.</param>
<param name="localeCode">The locale to use when processing markers,
as a BCP-47 locale tag.</param>
<param name="squish">If <see langword="false"/>, markers that are
split as part of the markup parsing process will not be re-merged
before returning the result.</param>
<param name="sort">If <see langword="true"/>, markers will be sorted based on their position in the input.å</param>
<param name="addImplicitCharacterAttribute">If true, the parser will
attempt to detect a character name in the text and add a
<c>[character]</c> attribute for it.</param>
<returns>A markup parse result.</returns>
</member>
<member name="M:Yarn.Markup.LineParser.ExpandSubstitutions(System.String,System.Collections.Generic.IList{System.String})">
<summary>
Replaces all substitution markers in a text with the given
substitution list.
</summary>
<remarks>
This method replaces substitution markers - for example, <c>{0}</c>
- with the corresponding entry in <paramref name="substitutions"/>.
If <paramref name="text"/> contains a substitution marker whose
index is not present in <paramref name="substitutions"/>, it is
ignored.
</remarks>
<param name="text">The text containing substitution markers.</param>
<param name="substitutions">The list of substitutions.</param>
<returns><paramref name="text"/>, with the content from <paramref
name="substitutions"/> inserted.</returns>
</member>
<member name="M:Yarn.Markup.LineParser.Dispose">
<inheritdoc/>
</member>
<member name="T:Yarn.Markup.BuiltInMarkupReplacer">
<summary>
A marker processor that handles the built-in markers <c>[select]</c>
<c>[plural]</c>, and <c>[ordinal]</c>.
</summary>
</member>
<member name="M:Yarn.Markup.BuiltInMarkupReplacer.ProcessReplacementMarker(Yarn.Markup.MarkupAttribute,System.Text.StringBuilder,System.Collections.Generic.List{Yarn.Markup.MarkupAttribute},System.String)">
<inheritdoc/>
</member>
<member name="T:Yarn.Markup.MarkupParseException">
<summary>
An exception representing something going wrong when parsing markup.
</summary>
<seealso cref="T:Yarn.Markup.LineParser"/>
</member>
<member name="M:Yarn.Markup.MarkupParseException.#ctor">
<summary>
Initializes a new instance of the <see
cref="T:Yarn.Markup.MarkupParseException"/> class.
</summary>
</member>
<member name="M:Yarn.Markup.MarkupParseException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see
cref="T:Yarn.Markup.MarkupParseException"/> class.
</summary>
<param name="message">An explanation of the exception.</param>
</member>
<member name="M:Yarn.Markup.MarkupParseException.#ctor(System.String,System.Exception)">
<summary>
Initializes a new instance of the <see
cref="T:Yarn.Markup.MarkupParseException"/> class.
</summary>
<param name="message">An explanation of the exception.</param>
<param name="inner">The exception that caused this
exception.</param>
</member>
<member name="T:Yarn.Markup.MarkupParseResult">
<summary>
The result of parsing a line of marked-up text.
</summary>
<remarks>
You do not create instances of this struct yourself. It is created
by objects that can parse markup, such as <see cref="T:Yarn.Dialogue"/>.
</remarks>
<seealso cref="M:Yarn.Markup.LineParser.ParseString(System.String,System.String,System.Boolean,System.Boolean,System.Boolean)"/>
</member>
<member name="P:Yarn.Markup.MarkupParseResult.Text">
<summary>
The original text, with all parsed markers removed.
</summary>
</member>
<member name="P:Yarn.Markup.MarkupParseResult.Attributes">
<summary>
The list of <see cref="T:Yarn.Markup.MarkupAttribute"/>s in this parse
result.
</summary>
</member>
<member name="M:Yarn.Markup.MarkupParseResult.#ctor(System.String,System.Collections.Generic.List{Yarn.Markup.MarkupAttribute})">
<summary>
Initializes a new instance of the <see cref="T:Yarn.Markup.MarkupParseResult"/> struct.
</summary>
<param name="text">The plain text.</param>
<param name="attributes">The list of attributes.</param>
</member>
<member name="M:Yarn.Markup.MarkupParseResult.TryGetAttributeWithName(System.String,Yarn.Markup.MarkupAttribute@)">
<summary>
Gets the first attribute with the specified name, if present.
</summary>
<param name="name">The name of the attribute to get.</param>
<param name="attribute">When this method returns, contains the
attribute with the specified name, if the attribute is found;
otherwise, the default <see cref="T:Yarn.Markup.MarkupAttribute"/>. This
parameter is passed uninitialized.</param>
<returns><see langword="true"/> if the <see
cref="T:Yarn.Markup.MarkupParseResult"/> contains an attribute with the
specified name; otherwise, <see langword="false"/>.</returns>
</member>
<member name="M:Yarn.Markup.MarkupParseResult.TextForAttribute(Yarn.Markup.MarkupAttribute)">
<summary>
Returns the substring of <see cref="P:Yarn.Markup.MarkupParseResult.Text"/> covered by
<paramref name="attribute"/> Position and Length properties.
</summary>
<remarks>
<para>
If the attribute's <see cref="P:Yarn.Markup.MarkupAttribute.Length"/>
property is zero, this method returns the empty string.
</para>
<para>
This method does not check to see if <paramref
name="attribute"/> is an attribute belonging to this
MarkupParseResult. As a result, if you pass an attribute that
doesn't belong, it may describe a range of text that does not
appear in <see cref="P:Yarn.Markup.MarkupParseResult.Text"/>. If this occurs, an <see
cref="T:System.IndexOutOfRangeException"/> will be thrown.
</para>
</remarks>
<param name="attribute">The attribute to get the text
for.</param>
<returns>The text contained within the attribute.</returns>
<throws cref="T:System.IndexOutOfRangeException">Thrown when
attribute's <see cref="P:Yarn.Markup.MarkupAttribute.Position"/> and <see
cref="P:Yarn.Markup.MarkupAttribute.Length"/> properties describe a range of
text outside the maximum range of <see cref="P:Yarn.Markup.MarkupParseResult.Text"/>.</throws>
</member>
<member name="M:Yarn.Markup.MarkupParseResult.DeleteRange(Yarn.Markup.MarkupAttribute)">
<summary>
Deletes an attribute from this markup.
</summary>
<remarks>
This method deletes the range of text covered by <paramref
name="attributeToDelete"/>, and updates the other attributes in this
markup as follows:
<list type="bullet">
<item>
Attributes that start and end before the deleted attribute are
unmodified.
</item>
<item>
Attributes that start before the deleted attribute and end inside it
are truncated to remove the part overlapping the deleted attribute.
</item>
<item>
Attributes that have the same position and length as the deleted
attribute are deleted, if they apply to any text.
</item>
<item>
Attributes that start and end within the deleted attribute are
deleted.
</item>
<item>
Attributes that start within the deleted attribute, and end outside
it, have their start truncated to remove the part overlapping the
deleted attribute.
</item>
<item>
Attributes that start after the deleted attribute have their start
point adjusted to account for the deleted text.
</item>
</list>
<para>
This method does not modify the current object. A new <see
cref="T:Yarn.Markup.MarkupParseResult"/> is returned.
</para>
<para>
If <paramref name="attributeToDelete"/> is not an attribute of this
<see cref="T:Yarn.Markup.MarkupParseResult"/>, the behaviour is undefined.
</para>
</remarks>
<param name="attributeToDelete">The attribute to remove.</param>
<returns>A new <see cref="T:Yarn.Markup.MarkupParseResult"/> object, with the
plain text modified and an updated collection of
attributes.</returns>
</member>
<member name="T:Yarn.Markup.MarkupAttribute">
<summary>
Represents a range of text in a marked-up string.
</summary>
<remarks>
You do not create instances of this struct yourself. It is created by
objects that can parse markup, such as <see cref="T:Yarn.Markup.LineParser"/>.
</remarks>
<seealso cref="M:Yarn.Markup.LineParser.ParseString(System.String,System.String,System.Boolean,System.Boolean,System.Boolean)"/>
</member>
<member name="M:Yarn.Markup.MarkupAttribute.#ctor(System.Int32,System.Int32,System.Int32,System.String,System.Collections.Generic.IEnumerable{Yarn.Markup.MarkupProperty})">
<summary>
Initializes a new instance of the <see cref="T:Yarn.Markup.MarkupAttribute"/>
struct using specified values.
</summary>
<param name="position">The position in the plain text where
this attribute begins.</param>
<param name="sourcePosition">The position in the original
source text where this attribute begins.</param>
<param name="length">The number of text elements in the plain
text that this attribute covers.</param>
<param name="name">The name of the attribute.</param>
<param name="properties">The properties associated with this
attribute.</param>
</member>
<member name="M:Yarn.Markup.MarkupAttribute.#ctor(Yarn.Markup.MarkupAttributeMarker,System.Int32)">
<summary>
Initializes a new instance of the <see cref="T:Yarn.Markup.MarkupAttribute"/>
struct, using information taken from an opening <see
cref="T:Yarn.Markup.MarkupAttributeMarker"/>.
</summary>
<param name="openingMarker">The marker that represents the
start of this attribute.</param>
<param name="length">The number of text elements in the plain
text that this attribute covers.</param>
</member>
<member name="M:Yarn.Markup.MarkupAttribute.Shift(System.Int32)">
<summary>
Creates a new <see cref="T:Yarn.Markup.MarkupAttribute"/> based on the current
instance whose <see cref="P:Yarn.Markup.MarkupAttribute.Position"/> is shifted towards the end of
the string by <paramref name="shift"/> characters.
</summary>
<param name="shift">The number of characters to shift by.</param>
<returns>A new <see cref="T:Yarn.Markup.MarkupAttribute"/> with an updated <see
cref="P:Yarn.Markup.MarkupAttribute.Position"/>.</returns>
</member>
<member name="P:Yarn.Markup.MarkupAttribute.Position">
<summary>
Gets the position in the plain text where
this attribute begins.
</summary>
</member>
<member name="P:Yarn.Markup.MarkupAttribute.Length">
<summary>
Gets the number of text elements in the plain
text that this attribute covers.
</summary>
</member>
<member name="P:Yarn.Markup.MarkupAttribute.Name">
<summary>
Gets the name of the attribute.
</summary>
</member>
<member name="P:Yarn.Markup.MarkupAttribute.Properties">
<summary>
Gets the properties associated with this
attribute.
</summary>
</member>
<member name="P:Yarn.Markup.MarkupAttribute.SourcePosition">
<summary>
Gets the position in the original source text where this
attribute begins.
</summary>
</member>
<member name="M:Yarn.Markup.MarkupAttribute.ToString">
<inheritdoc/>
</member>
<member name="M:Yarn.Markup.MarkupAttribute.TryGetProperty(System.String,Yarn.Markup.MarkupValue@)">
<summary>
Gets a property named <paramref name="name"/> from this
attribute, if present.
</summary>
<param name="name">The name of the property.</param>
<param name="result">On return, the property's value if found, or
zero if not.</param>
<returns><see langword="true"/> if a property named <paramref
name="name"/> was found; <see langword="false"/>
otherwise.</returns>
</member>
<member name="M:Yarn.Markup.MarkupAttribute.TryGetProperty(System.String,System.Single@)">
<summary>
Gets a float property named <paramref name="name"/> from this
attribute, if present.
</summary>
<param name="name">The name of the property.</param>
<param name="result">On return, the property's value if found, or
zero if not.</param>
<returns><see langword="true"/> if a property named <paramref
name="name"/> was found; <see langword="false"/>
otherwise.</returns>
</member>
<member name="M:Yarn.Markup.MarkupAttribute.TryGetProperty(System.String,System.Int32@)">
<summary>
Gets an integer property named <paramref name="name"/> from this
attribute, if present.
</summary>
<param name="name">The name of the property.</param>
<param name="result">On return, the property's value if found, or
zero if not.</param>
<returns><see langword="true"/> if a property named <paramref
name="name"/> was found; <see langword="false"/>
otherwise.</returns>
</member>
<member name="M:Yarn.Markup.MarkupAttribute.TryGetProperty(System.String,System.String@)">
<summary>
Gets a string property named <paramref name="name"/> from this
attribute, if present.
</summary>
<param name="name">The name of the property.</param>
<param name="result">On return, the property's value if found, or
<see langword="null"/> if not.</param>
<returns><see langword="true"/> if a property named <paramref
name="name"/> was found; <see langword="false"/>
otherwise.</returns>
</member>
<member name="M:Yarn.Markup.MarkupAttribute.TryGetProperty(System.String,System.Boolean@)">
<summary>
Gets a boolean property named <paramref name="name"/> from this
attribute, if present.
</summary>
<param name="name">The name of the property.</param>
<param name="result">On return, the property's value if found, or
<see langword="false"/> if not.</param>
<returns><see langword="true"/> if a property named <paramref
name="name"/> was found; <see langword="false"/>
otherwise.</returns>
</member>
<member name="T:Yarn.Markup.MarkupProperty">
<summary>
A property associated with a <see cref="T:Yarn.Markup.MarkupAttribute"/>.
</summary>
<remarks>
You do not create instances of this struct yourself. It is created by
objects that can parse markup, such as <see cref="T:Yarn.Markup.LineParser"/>.
</remarks>
<seealso cref="M:Yarn.Markup.LineParser.ParseString(System.String,System.String,System.Boolean,System.Boolean,System.Boolean)"/>
</member>
<member name="M:Yarn.Markup.MarkupProperty.#ctor(System.String,Yarn.Markup.MarkupValue)">
<summary>
Initializes a new instance of the <see cref="T:Yarn.Markup.MarkupProperty"/>
struct.
</summary>
<param name="name">The name of the property.</param>
<param name="value">The value of the property.</param>
</member>
<member name="P:Yarn.Markup.MarkupProperty.Name">
<summary>
Gets the name of the property.
</summary>
</member>
<member name="P:Yarn.Markup.MarkupProperty.Value">
<summary>
Gets the value of the property.
</summary>
</member>
<member name="T:Yarn.Markup.MarkupValue">
<summary>
A value associated with a <see cref="T:Yarn.Markup.MarkupProperty"/>.
</summary>
<remarks>
You do not create instances of this struct yourself. It is created
by objects that can parse markup, such as <see cref="T:Yarn.Markup.LineParser"/>.
</remarks>
<seealso cref="M:Yarn.Markup.LineParser.ParseString(System.String,System.String,System.Boolean,System.Boolean,System.Boolean)"/>
</member>
<member name="P:Yarn.Markup.MarkupValue.IntegerValue">
<summary>Gets the integer value of this property.</summary>
<remarks>
This property is only defined when the property's <see
cref="P:Yarn.Markup.MarkupValue.Type"/> is <see cref="F:Yarn.Markup.MarkupValueType.Integer"/>.
</remarks>
</member>
<member name="P:Yarn.Markup.MarkupValue.FloatValue">
<summary>Gets the float value of this property.</summary>
/// <remarks>
This property is only defined when the property's <see
cref="P:Yarn.Markup.MarkupValue.Type"/> is <see cref="F:Yarn.Markup.MarkupValueType.Float"/>.
</remarks>
</member>
<member name="P:Yarn.Markup.MarkupValue.StringValue">
<summary>Gets the string value of this property.</summary>
<remarks>
This property is only defined when the property's <see
cref="P:Yarn.Markup.MarkupValue.Type"/> is <see cref="F:Yarn.Markup.MarkupValueType.String"/>.
</remarks>
</member>
<member name="P:Yarn.Markup.MarkupValue.BoolValue">
<summary>Gets the bool value of this property.</summary>
<remarks>
This property is only defined when the property's <see
cref="P:Yarn.Markup.MarkupValue.Type"/> is <see cref="F:Yarn.Markup.MarkupValueType.Bool"/>.
</remarks>
</member>
<member name="P:Yarn.Markup.MarkupValue.Type">
<summary>
Gets the value's type.
</summary>
</member>
<member name="M:Yarn.Markup.MarkupValue.ToString">
<inheritdoc/>
</member>
<member name="M:Yarn.Markup.MarkupValue.ToString(System.IFormatProvider)">
<inheritdoc/>
</member>
<member name="T:Yarn.Markup.MarkupAttributeMarker">
<summary>
Represents a marker (e.g. <c>[a]</c>) in line of marked up text.
</summary>
<remarks>
You do not create instances of this struct yourself. It is created
by objects that can parse markup, such as <see cref="T:Yarn.Markup.LineParser"/>.
</remarks>
<seealso cref="M:Yarn.Markup.LineParser.ParseString(System.String,System.String,System.Boolean,System.Boolean,System.Boolean)"/>
</member>
<member name="M:Yarn.Markup.MarkupAttributeMarker.#ctor(System.String,System.Int32,System.Int32,System.Collections.Generic.List{Yarn.Markup.MarkupProperty},Yarn.Markup.TagType)">
<summary>
Initializes a new instance of the <see
cref="T:Yarn.Markup.MarkupAttributeMarker"/> struct.
</summary>
<param name="name">The name of the marker.</param>
<param name="position">The position of the marker.</param>
<param name="sourcePosition">The position of the marker in the original text.</param>
<param name="properties">The properties of the marker.</param>
<param name="type">The type of the marker.</param>
</member>
<member name="P:Yarn.Markup.MarkupAttributeMarker.Name">
<summary>
Gets the name of the marker.
</summary>
<remarks>
For example, the marker <c>[wave]</c> has the name <c>wave</c>.
</remarks>
</member>
<member name="P:Yarn.Markup.MarkupAttributeMarker.Position">
<summary>
Gets the position of the marker in the plain text.
</summary>
</member>
<member name="P:Yarn.Markup.MarkupAttributeMarker.Properties">
<summary>
Gets the list of properties associated with this marker.
</summary>
</member>
<member name="P:Yarn.Markup.MarkupAttributeMarker.Type">
<summary>
Gets the type of marker that this is.
</summary>
</member>
<member name="P:Yarn.Markup.MarkupAttributeMarker.SourcePosition">
<summary>
Gets or sets the position of this marker in the original source
text.
</summary>
</member>
<member name="M:Yarn.Markup.MarkupAttributeMarker.TryGetProperty(System.String,Yarn.Markup.MarkupValue@)">
<summary>
Gets the property associated with the specified key, if
present.
</summary>
<param name="name">The name of the property to get.</param>
<param name="result">When this method returns, contains the
value associated with the specified key, if the key is found;
otherwise, the default <see cref="T:Yarn.Markup.MarkupValue"/>. This
parameter is passed uninitialized.</param>
<returns><see langword="true"/> if the <see
cref="T:Yarn.Markup.MarkupAttributeMarker"/> contains an element with the
specified key; otherwise, <see langword="false"/>.</returns>
</member>
<member name="T:Yarn.Markup.MarkupValueType">
<summary>
A type of <see cref="T:Yarn.Markup.MarkupValue"/>.
</summary>
</member>
<member name="F:Yarn.Markup.MarkupValueType.Integer">
<summary>An integer.</summary>
</member>
<member name="F:Yarn.Markup.MarkupValueType.Float">
<summary>A float.</summary>
</member>
<member name="F:Yarn.Markup.MarkupValueType.String">
<summary>A string.</summary>
</member>
<member name="F:Yarn.Markup.MarkupValueType.Bool">
<summary>A bool.</summary>
</member>
<member name="T:Yarn.Markup.TagType">
<summary>
A type of <see cref="T:Yarn.Markup.MarkupAttributeMarker"/>.
</summary>
</member>
<member name="F:Yarn.Markup.TagType.Open">
<summary>
An open marker. For example, <c>[a]</c>.
</summary>
</member>
<member name="F:Yarn.Markup.TagType.Close">
<summary>
A closing marker. For example, <c>[/a]</c>.
</summary>
</member>
<member name="F:Yarn.Markup.TagType.SelfClosing">
<summary>
A self-closing marker. For example, <c>[a/]</c>.
</summary>
</member>
<member name="F:Yarn.Markup.TagType.CloseAll">
<summary>
The close-all marker, <c>[/]</c>.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute">
<summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute">
<summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute">
<summary>Specifies that an output may be null even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute">
<summary>Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter may be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute">
<summary>Specifies that the output will be non-null if the named parameter is non-null.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with the associated parameter name.</summary>
<param name="parameterName">
The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName">
<summary>Gets the associated parameter name.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute">
<summary>Applied to a method that will never return under any circumstance.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute">
<summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified parameter value.</summary>
<param name="parameterValue">
The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
the associated parameter matches this value.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue">
<summary>Gets the condition parameter value.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with a field or property member.</summary>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
<summary>Initializes the attribute with the list of field and property members.</summary>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
<summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
<summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
</members>
</doc>