All pages
Powered by GitBook
Couldn't generate the PDF for 525 pages, generation stopped at 100.
Extend with 50 more pages.
1 of 100

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

C#

Number

Property in BuiltinTypes

Summary

Gets the type representing numbers.

public static IType Number { get; };

BuiltinTypes

Class in Yarn

Inherits from System.Object

Summary

Contains the built-in types available in the Yarn language.

public static class BuiltinTypes

Properties

Name
Description

Any

Property in

Gets the type representing any value.

TypeMappings

Property in

Gets a dictionary that maps CLR types to their corresponding Yarn types.

Text

Property in

Gets the text of the command.

Boolean

Property in

Gets the type representing boolean values.

String

Property in

Gets the type representing strings.

Any

Gets the type representing any value.

Boolean

Gets the type representing boolean values.

Number

Gets the type representing numbers.

String

Gets the type representing strings.

TypeMappings

Gets a dictionary that maps CLR types to their corresponding Yarn types.

public static IType Any { get; };

Summary

BuiltinTypes
public static IReadOnlyDictionary<System.Type, Yarn.IType> TypeMappings { get; };

Summary

BuiltinTypes
public string Text { get; private set; }

Summary

Command
public static IType Boolean { get; };

Summary

BuiltinTypes
public static IType String { get; };

Summary

BuiltinTypes

NodeStartHandler

Property in Dialogue

Summary

Gets or sets the NodeStartHandler that is called when a node is started.

public NodeStartHandler NodeStartHandler
{
            get; set; }

LogDebugMessage

Property in Dialogue

Summary

Invoked when the Dialogue needs to report debugging information.

public Logger LogDebugMessage { get; set; }

Command

Struct in Yarn

Inherits from System.ValueType

Summary

A command, sent from the Dialogue to the game.

public struct Command

Remarks

You do not create instances of this struct yourself. They are created by the Dialogue during program execution.

Properties

Name
Description
  • : Gets or sets the that is called when a command is to be delivered to the game.

AddProgram(Program)

Method in Dialogue

Summary

Loads the nodes from the specified Program , and adds them to the nodes already loaded.

public void AddProgram(Program program)

Remarks

If Yarn.Dialogue.Program is null , this method has the effect as calling SetProgram(Program) .

Parameters

Name
Description

UnloadAll()

Method in

Unloads all nodes from the Dialogue.

DefaultStartNodeName

Field in

The node that execution will start from.

Dialogue(Yarn.IVariableStorage)

Constructor in

Initializes a new instance of the class.

Name
Description

GetTagsForNode(string)

Method in

Returns the tags for the node nodeName .

The tags for a node are defined by setting the tags header in the node's source code. This header must be a space-separated list.

Name
Description

Library

Property in

Gets the that this Dialogue uses to locate functions.

When the Dialogue is constructed, the Library is initialized with the built-in operators like + , - , and so on.

DialogueCompleteHandler

Property in

Gets or sets the that is called when the dialogue reaches its end.

IsActive

Property in

Gets a value indicating whether the Dialogue is currently executing Yarn instructions.

OptionsHandler

Property in

Gets or sets the that is called when a set of options are ready to be shown to the user.

The Options Handler delivers an to the game. Before can be called to resume execution, must be called to indicate which was selected by the user. If is not called, an exception is thrown.

Methods

Property in

Gets the collection of methods that are available on this type.

Stop()

Method in

Immediately stops the .

The will not be called if the dialogue is ended by calling .

NodeExists(string)

Method in

Gets a value indicating whether a specified node exists in the Program.

Name
Description

VariableStorage

Property in

Gets or sets the object that provides access to storing and retrieving the values of variables.

NodeCompleteHandler

Property in

Gets or sets the that is called when a node is complete.

LogErrorMessage

Property in

Invoked when the Dialogue needs to report an error.

ParseMarkup(string)

Method in

Parses a line of text, and produces a containing the results.

The 's will have any select , plural or ordinal markers replaced with the appropriate text, following this 's .

Name

Description

Property in

Gets a more verbose description of this type.

Parent

Property in

Gets the parent of this type.

All types have as their ultimate parent type (except for itself.)

Parameters

Property in

Gets the list of the parameter types that this function is called with.

The length of this list also determines the number of parameters this function accepts (also known as the function's arity ).

NodeNames

Property in

Gets the names of the nodes in the currently loaded Program.

SetValue(string,float)

Method in

Stores a float in this VariableStorage.

Name
Description

Description

Property in

Gets a more verbose description of this type.

Parent

Property in

Gets the parent of this type.

All types have as their ultimate parent type (except for itself.)

LineHandler

Property in

Gets or sets the that is called when a line is ready to be shown to the user.

Clear()

Method in

Removes all variables from storage.

Instructions

Property in

The list of instructions in this node.

CommandHandler

Property in

Gets or sets the that is called when a command is to be delivered to the game.

Clear()

Method in

Removes all variables from storage.

LanguageCode

Property in

Gets or sets the 's locale, as an IETF BCP 47 code.

This code is used to determine how the plural and ordinal markers determine the plural class of numbers.

For example, the code "en-US" represents the English language as used in the United States.

Yarn.Program program

The additional program to load.

Text

Gets the text of the command.

See Also

Dialogue.CommandHandler
CommandHandler
public void UnloadAll()

Summary

Dialogue
public const string DefaultStartNodeName = "Start";

Summary

Dialogue
public Dialogue(Yarn.IVariableStorage variableStorage)

Yarn.IVariableStorage variableStorage

The IVariableStorage that this Dialogue should use.

Summary

Parameters

Dialogue
Dialogue

string nodeName

The name of the node.

The node's tags, or null if the node is not present in the Program.

Summary

Remarks

Parameters

Dialogue

Returns

public Library Library { get; internal set; }

Summary

Remarks

Dialogue
Library
public DialogueCompleteHandler DialogueCompleteHandler
{
            get; set; }

Summary

Dialogue
DialogueCompleteHandler
public bool IsActive { get };

Summary

Dialogue
public OptionsHandler OptionsHandler
{
            get; set; }

Summary

Remarks

Dialogue
OptionsHandler
OptionSet
Continue()
SetSelectedOption(int)
Option
SetSelectedOption(int)
public MethodCollection Methods { get };

Summary

FunctionType
public void Stop()

Summary

Remarks

Dialogue
Dialogue
DialogueCompleteHandler
Stop()
true if a node named nodeName exists in the Program, false otherwise.

string nodeName

The name of the node.

Summary

Parameters

Returns

Dialogue
public IVariableStorage VariableStorage { get; set; }

Summary

Dialogue
public NodeCompleteHandler NodeCompleteHandler
{
            get; set; }

Summary

Dialogue
NodeCompleteHandler
public Logger LogErrorMessage { get; set; }

Summary

Dialogue
Description

string line

The line of text to parse.

The results of parsing the markup.

Summary

Remarks

Parameters

Dialogue
MarkupParseResult
MarkupParseResult
Text
Dialogue
LanguageCode

Returns

string Description { get; }

Summary

IType
public IType Parent { get; }

Summary

Remarks

FunctionType
Any
Any
public List<IType> Parameters { get; };

Summary

Remarks

FunctionType
public IEnumerable<string> NodeNames
{
            get; }

Summary

Dialogue

float floatValue

The number to store.

string variableName

Summary

Parameters

IVariableStorage

The name to associate with this variable.

public string Description
{
            get; set; }

Summary

FunctionType
IType Parent { get; }

Summary

Remarks

IType
Any
Any
public LineHandler LineHandler
{
            get; set; }

Summary

Dialogue
LineHandler
void Clear();

Summary

IVariableStorage
public pbc::RepeatedField<global::Yarn.Instruction> Instructions {
      get; }

Summary

Node
public CommandHandler CommandHandler
{
            get; set; }

Summary

Dialogue
CommandHandler
public void Clear()

Summary

MemoryVariableStore
public string LanguageCode { get; set; }

Summary

Remarks

Dialogue
Dialogue

Methods

Property in IType

Summary

Gets the collection of methods that are available on this type.

MethodCollection Methods { get; }

Line

Property in Option

Summary

Gets the Line that should be presented to the user for this option.

public Line Line { get; private set; }

Remarks

See the documentation for the Line class for information on how to prepare a line before presenting it to the user.

CurrentNode

Property in Dialogue

Summary

Gets the name of the node that this Dialogue is currently executing.

public string CurrentNode
{
            get; }

Remarks

If Continue() has never been called, this value will be null .

ReturnType

Property in FunctionType

Summary

Gets the type of value that this function returns.

public IType ReturnType { get; internal set; }

Name

Property in FunctionType

Summary

Gets the name of this type.

public string Name { get; }

Name

Property in IType

Summary

Gets the name of this type.

string Name { get; }

SourceTextStringID

Property in Node

Summary

the entry in the program's string table that contains the original text of this node; null if this is not available

public string SourceTextStringID {
      get; set; }

Name

Property in Node

Summary

The name of this node.

public string Name {
      get; set; }

Tags

Property in Node

Summary

The tags associated with this node.

public pbc::RepeatedField<string> Tags {
      get; }

PrepareForLinesHandler

Property in Dialogue

Summary

Gets or sets the PrepareForLinesHandler that is called when the dialogue anticipates delivering some lines.

public PrepareForLinesHandler PrepareForLinesHandler
{
            get; set; }

IsAvailable

Property in Option

Summary

Gets a value indicating whether the player should be permitted to select this option.

public bool IsAvailable { get; private set; }

Remarks

If this value is 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.

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).

ID

Property in Option

Summary

Gets the identifying number for this option.

public int ID { get; private set; }

Remarks

When the user selects this option, this value should be used as the parameter for SetSelectedOption(int) .

Labels

Property in Node

Summary

A jump table, mapping the names of labels to positions in the instructions list.

public pbc::MapField<string, int> Labels {
      get; }

DestinationNode

Property in Option

Summary

Gets the name of the node that will be run if this option is selected.

public string DestinationNode { get; private set; }

Remarks

The value of this property not be valid if this is a shortcut option.

public IEnumerable<string> GetTagsForNode(string nodeName)
public bool NodeExists(string nodeName)
public MarkupParseResult ParseMarkup(string line)
void SetValue(string variableName, float floatValue);

CommandHandler

Delegate in Yarn

Inherits from System.MulticastDelegate

Summary

Represents the method that is called when the Dialogue delivers a Command .

public delegate void CommandHandler(Command command);

Parameters

Name
Description
  • : Represents the method that is called when the Dialogue delivers a .

  • : Represents the method that is called when the Dialogue delivers an .

  • : Represents the method that is called when the Dialogue begins executing a node.

SetSelectedOption(int)

Method in Dialogue

Summary

Signals to the Dialogue that the user has selected a specified Option .

public void SetSelectedOption(int selectedOptionID)

Remarks

After the Dialogue delivers an OptionSet, this method must be called before Continue() is called.

The ID number that should be passed as the parameter to this method should be the ID field in the Option that represents the user's selection.

Parameters

Name
Description
  • : Represents the method that is called when the Dialogue delivers an .

  • : A set of s, sent from the to the game.

  • : Starts, or continues, execution of the current Program.

Continue()

Method in Dialogue

Summary

Starts, or continues, execution of the current Program.

public void Continue()

Remarks

This method repeatedly executes instructions until one of the following conditions is encountered:

  • The LineHandler or CommandHandler is called. After calling either of these handlers, the Dialogue will wait until Continue() is called. Continue may be called from inside the LineHandler or CommandHandler, or may be called at any future time.

  • The is called. When this occurs, the Dialogue is waiting for the user to specify which of the options has been selected, and must be called before is called again.)

  • The Program reaches its end. When this occurs, must be called before is called again.

  • An error occurs while executing the Program.

This method has no effect if it is called while the is currently in the process of executing instructions.

  • : Represents the method that is called when the Dialogue delivers a .

  • : Represents the method that is called when the Dialogue delivers an .

  • : Represents the method that is called when the Dialogue delivers a .

IType

Interface in Yarn

Summary

Defines properties that describe a type in the Yarn language.

public interface IType

Properties

Name
Description

Gets a more verbose description of this type.

RegisterFunction(string,Func<T1, T2, TResult>)

Method in Library

Summary

Registers a new function that returns a value, which can be called from a Yarn program.

public void RegisterFunction<T1, T2, TResult>(string name, Func<T1, T2, TResult> implementation)

Parameters

Name
Description

string name

The name of the function.

Name
Description

IVariableStorage

Interface in Yarn

Summary

Provides a mechanism for storing and retrieving instances of the Yarn.Value class.

public interface IVariableStorage

Methods

Name
Description

RegisterFunction(string,Func<T1, T2, T3, TResult>)

Method in Library

Summary

Registers a new function that returns a value, which can be called from a Yarn program.

public void RegisterFunction<T1, T2, T3, TResult>(string name, Func<T1, T2, T3, TResult> implementation)

Parameters

Name
Description

string name

The name of the function.

Name
Description

ExpandSubstitutions(string,IList<string>)

Method in Dialogue

Summary

Replaces all substitution markers in a text with the given substitution list.

public static string ExpandSubstitutions(string text, IList<string> substitutions)

Remarks

This method replaces substitution markers - for example, {0}

  • with the corresponding entry in substitutions . If text contains a substitution marker whose index is not present in substitutions , it is ignored.

Parameters

Name
Description

text , with the content from substitutions inserted.

TryGetValue(string,T)

Method in MemoryVariableStore

Summary

Retrieves a value of type T by name.

public bool TryGetValue<T>(string variableName, out T result)

Parameters

Name
Description

string variableName

Name
Description

true if a value named variableName of type T was retrieved; false otherwise.

RegisterFunction(string,Func<T1, T2, T3, T4, T5, TResult>)

Method in Library

Summary

Registers a new function that returns a value, which can be called from a Yarn program.

public void RegisterFunction<T1, T2, T3, T4, T5, TResult>(string name, Func<T1, T2, T3, T4, T5, TResult> implementation)

Parameters

Name
Description

string name

The name of the function.

Name
Description

DeregisterFunction(string)

Method in Library

Summary

Removes a function from the Library.

public void DeregisterFunction(string name)

Remarks

If no function with the given name is present in the Library, this method does nothing.

Parameters

Name
Description

string name

SetNode(string)

Method in Dialogue

Summary

Prepares the Dialogue that the user intends to start running a node.

public void SetNode(string startNode = DefaultStartNodeName)

Remarks

After this method is called, you call Continue() to start executing it.

If PrepareForLinesHandler has been set, it may be called when this method is invoked, as the Dialogue determines which lines may be delivered during the startNode node's execution.

Parameters

Name
Description

SetValue(string,float)

Method in MemoryVariableStore

Summary

Stores a float in this VariableStorage.

public void SetValue(string variableName, float floatValue)

Parameters

Name
Description

string variableName

SetValue(string,string)

Method in IVariableStorage

Summary

Stores a string in this VariableStorage.

void SetValue(string variableName, string stringValue);

Parameters

Name
Description

string variableName

SetValue(string,bool)

Method in IVariableStorage

Summary

Stores a bool in this VariableStorage.

void SetValue(string variableName, bool boolValue);

Parameters

Name
Description

string variableName

GetFunction(string)

Method in Library

Summary

Returns a System.Delegate with a given name.

public Delegate GetFunction(string name)

Parameters

Name
Description

string name

The System.Delegate .

ImportLibrary(Library)

Method in Library

Summary

Loads functions from another Library .

public void ImportLibrary(Library otherLibrary)

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.

Parameters

Name
Description

otherLibrary

Yarn Namespace

Contains classes for working with compiled Yarn programs.

Name
Description

FunctionType

Class in

Inherits from System.Object

A type that represents functions.

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 methods or similar.)

Name
Description

RegisterFunction(string,Func<T1, T2, T3, T4, TResult>)

Method in

Registers a new function that returns a value, which can be called from a Yarn program.

Name
Description

RegisterFunction(string,Func<T1, TResult>)

Method in

Registers a new function that returns a value, which can be called from a Yarn program.

Name
Description

SetProgram(Program)

Method in

Loads all nodes from the provided .

This method replaces any existing nodes have been loaded. If you want to load nodes from an additional Program, use the method.

Name
Description

MemoryVariableStore

Class in

Inherits from System.Object

A simple concrete implementation of that keeps all variables in memory.

Name
Description

NodeCompleteHandler

Delegate in

Inherits from System.MulticastDelegate

Represents the method that is called when the Dialogue reaches the end of a node.

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.

Name
Description

LineHandler

Delegate in

Inherits from System.MulticastDelegate

Represents the method that is called when the Dialogue delivers a .

Name
Description

NodeStartHandler

Delegate in

Inherits from System.MulticastDelegate

Represents the method that is called when the Dialogue begins executing a node.

Name
Description

Logger

Delegate in

Inherits from System.MulticastDelegate

Represents a method that receives diagnostic messages and error information from a .

The text that this delegate receives may be output to a console, or sent to a log.

Name
Description

RegisterFunction(string,Delegate)

Method in

Registers a new function that returns a value, which can be called from a Yarn program.

Name
Description

OptionSet

Struct in

Inherits from System.ValueType

A set of s, sent from the to the game.

You do not create instances of this struct yourself. They are created by the during program execution.

Name
Description

DialogueCompleteHandler

Delegate in

Inherits from System.MulticastDelegate

Represents the method that is called when the dialogue has reached its end, and no more code remains to be run.

  • : Represents the method that is called when the Dialogue delivers a .

SetValue(string,bool)

Method in

Stores a bool in this VariableStorage.

Name
Description

Options

Property in

Gets the s that should be presented to the user.

  • : An option to be presented to the user.

Substitutions

Field in

The values that should be inserted into the user-facing text before delivery.

DialogueException

Class in

Inherits from System.Exception

An exception that is thrown by when there is an error in executing a .

The name of the function to remove.

string startNode

The name of the node that will be run. The node have been loaded by calling SetProgram(Program) or AddProgram(Program) .

The name to associate with this variable.

float floatValue

The number to store.

The name to associate with this variable.

string stringValue

The string to store.

The name to associate with this variable.

bool boolValue

The boolean value to store.

string text

The text containing substitution markers.

System.Collections.Generic.IList<string> substitutions

The list of substitutions.

Returns

The name of the variable to retrieve the value of.

T result

On return, if this method returned true, contains the retrieved value. If this method returned false, contains the default value of T (for example, 0 for float values, null for strings, and so on.)

T

The type of the variable to retrieve.

Type Parameters

Returns

The name of the function to retrieve.

Returns

NodeCompleteHandler: Represents the method that is called when the Dialogue reaches the end of a node.
  • DialogueCompleteHandler: Represents the method that is called when the dialogue has reached its end, and no more code remains to be run.

  • Yarn.Command command

    The Command that has been delivered.

    See Also

    LineHandler
    Line
    OptionsHandler
    OptionSet
    NodeStartHandler

    int selectedOptionID

    The ID number of the Option that the user selected.

    See Also

    OptionsHandler
    OptionSet
    OptionSet
    Option
    Dialogue
    Dialogue.Continue()

    NodeCompleteHandler: Represents the method that is called when the Dialogue reaches the end of a node.

  • DialogueCompleteHandler: Represents the method that is called when the dialogue has reached its end, and no more code remains to be run.

  • See Also

    OptionsHandler
    SetSelectedOption(int)
    Continue()
    SetNode(string)
    Continue()
    Dialogue
    LineHandler
    Line
    OptionsHandler
    OptionSet
    CommandHandler
    Command

    Methods

    Gets the collection of methods that are available on this type.

    Name

    Gets the name of this type.

    Parent

    Gets the parent of this type.

    Description

    Removes all variables from storage.

    SetValue(string,bool)

    Stores a bool in this VariableStorage.

    SetValue(string,float)

    Stores a float in this VariableStorage.

    SetValue(string,string)

    Stores a string in this VariableStorage.

    TryGetValue(string,T)

    Retrieves a value of type T by name.

    Clear()

    The library to import functions from.

    Yarn.Library

    The type of the function's first argument.

    T2

    The type of the function's second argument.

    System.Func<T1, T2, TResult> implementation

    The method to be invoked when the function is called.

    TResult

    The return type of the function.

    TResult

    The return type of the function.

    Type Parameters

    T1

    The type of the function's first argument.

    T2

    The type of the function's second argument.

    T3

    The type of the function's third argument.

    System.Func<T1, T2, T3, TResult> implementation

    The method to be invoked when the function is called.

    TResult

    The return type of the function.

    TResult

    The return type of the function.

    Type Parameters

    T1

    The type of the function's first argument.

    T2

    The type of the function's second argument.

    T3

    The type of the function's third argument.

    T4

    The type of the function's fourth argument.

    T5

    The type of the function's fifth argument.

    System.Func<T1, T2, T3, T4, T5, TResult> implementation

    The method to be invoked when the function is called.

    TResult

    The return type of the function.

    TResult

    The return type of the function.

    Type Parameters

    T1

    string message

    The text that should be logged.

    Summary

    Remarks

    Parameters

    Yarn
    Dialogue

    System.Delegate implementation

    The method to be invoked when the function is called.

    Name
    Description

    TResult

    The return type of the function.

    string name

    The name of the function.

    Summary

    Parameters

    Library

    Type Parameters

    : Represents the method that is called when the Dialogue delivers an
    .
  • CommandHandler: Represents the method that is called when the Dialogue delivers a Command .

  • NodeStartHandler: Represents the method that is called when the Dialogue begins executing a node.

  • NodeCompleteHandler: Represents the method that is called when the Dialogue reaches the end of a node.

  • Summary

    See Also

    Yarn
    LineHandler
    Line
    OptionsHandler
    OptionSet

    bool boolValue

    The boolean value to store.

    string variableName

    Summary

    Parameters

    MemoryVariableStore

    The name to associate with this variable.

    public Option[] Options { get; private set; }

    Summary

    See Also

    OptionSet
    Option
    Option
    public string[] Substitutions;

    Summary

    Line
    public class DialogueException : System.Exception

    Summary

    Yarn
    Dialogue
    Program
    public delegate void Logger(string message);
    public void RegisterFunction(string name, Delegate implementation)
    public delegate void DialogueCompleteHandler();
    public void SetValue(string variableName, bool boolValue)

    Co-ordinates the execution of Yarn programs.

    An exception that is thrown by when there is an error in executing a .

    A type that represents functions.

    A collection of functions that can be called from Yarn programs.

    A simple concrete implementation of that keeps all variables in memory.

    A node of Yarn script, contained within a , and containing Yarn.Instruction s.

    A compiled Yarn program.

    Name
    Description

    Represents the method that is called when the Dialogue delivers a .

    Represents the method that is called when the dialogue has reached its end, and no more code remains to be run.

    Name
    Description

    Defines properties that describe a type in the Yarn language.

    Provides a mechanism for storing and retrieving instances of the Yarn.Value class.

    Name
    Description

    Contains classes for compiling Yarn code.

    Contains classes for working with markup in Yarn lines.

    Name
    Description

    A command, sent from the to the game.

    A line of dialogue, sent from the to the game.

    BuiltinTypes

    Contains the built-in types available in the Yarn language.

    Summary

    Classes

    Delegates

    Interfaces

    Namespaces

    Structs

    Gets a more verbose description of this type.

    Gets the collection of methods that are available on this type.

    Gets the name of this type.

    Gets the list of the parameter types that this function is called with.

    public class FunctionType : IType

    Summary

    Remarks

    Properties

    Yarn
    RegisterFunction(string,Delegate)

    System.Func<T1, T2, T3, T4, TResult> implementation

    The method to be invoked when the function is called.

    Name
    Description

    TResult

    The return type of the function.

    TResult

    The return type of the function.

    public void RegisterFunction<T1, T2, T3, T4, TResult>(string name, Func<T1, T2, T3, T4, TResult> implementation)

    string name

    The name of the function.

    Summary

    Parameters

    Library

    Type Parameters

    System.Func<T1, TResult> implementation

    The method to be invoked when the function is called.

    Name
    Description

    TResult

    The return type of the function.

    TResult

    The return type of the function.

    public void RegisterFunction<T1, TResult>(string name, Func<T1, TResult> implementation)

    string name

    The name of the function.

    Summary

    Parameters

    Library

    Type Parameters

    The to use.

    public void SetProgram(Program program)

    Summary

    Remarks

    Parameters

    Dialogue
    Program
    AddProgram(Program)

    program

    Removes all variables from storage.

    Stores a bool in this VariableStorage.

    Stores a float in this VariableStorage.

    Stores a string in this VariableStorage.

    Retrieves a value of type T by name.

    public class MemoryVariableStore : IVariableStorage

    Summary

    Methods

    Yarn
    IVariableStorage

    string completedNodeName

    The name of the node.

    • LineHandler: Represents the method that is called when the Dialogue delivers a Line .

    • OptionsHandler: Represents the method that is called when the Dialogue delivers an OptionSet .

    • CommandHandler: Represents the method that is called when the Dialogue delivers a Command .

    • : Represents the method that is called when the Dialogue begins executing a node.

    • : Represents the method that is called when the dialogue has reached its end, and no more code remains to be run.

    public delegate void NodeCompleteHandler(string completedNodeName);

    Summary

    Remarks

    Parameters

    Yarn

    See Also

    The that has been delivered.

    • OptionsHandler: Represents the method that is called when the Dialogue delivers an OptionSet .

    • CommandHandler: Represents the method that is called when the Dialogue delivers a Command .

    • NodeStartHandler: Represents the method that is called when the Dialogue begins executing a node.

    • : Represents the method that is called when the Dialogue reaches the end of a node.

    • : Represents the method that is called when the dialogue has reached its end, and no more code remains to be run.

    public delegate void LineHandler(Line line);

    Summary

    Parameters

    Yarn
    Line

    line

    See Also

    The name of the node.

    • LineHandler: Represents the method that is called when the Dialogue delivers a Line .

    • OptionsHandler: Represents the method that is called when the Dialogue delivers an OptionSet .

    • CommandHandler: Represents the method that is called when the Dialogue delivers a Command .

    • : Represents the method that is called when the Dialogue reaches the end of a node.

    • : Represents the method that is called when the dialogue has reached its end, and no more code remains to be run.

    public delegate void NodeStartHandler(string startedNodeName);

    Summary

    Parameters

    Yarn

    string startedNodeName

    See Also

    Gets the s that should be presented to the user.

    Name
    Description

    An option to be presented to the user.

    • Dialogue.OptionsHandler: Gets or sets the OptionsHandler that is called when a set of options are ready to be shown to the user.

    public struct OptionSet

    Summary

    Remarks

    Properties

    Yarn
    Option
    Dialogue
    Dialogue

    Structs

    See Also

    Line

    Struct in Yarn

    Inherits from System.ValueType

    Summary

    A line of dialogue, sent from the Dialogue to the game.

    public struct Line

    Remarks

    When the game receives a Line, it should do the following things to prepare the line for presentation to the user.

    1. Use the value in the ID field to look up the appropriate user-facing text in the string table.

    2. Use to replace all substitutions in the user-facing text.

    3. Use to parse all markup in the line.

    You do not create instances of this struct yourself. They are created by the during program execution.

    Name
    Description
    • : Gets or sets the that is called when a line is ready to be shown to the user.

    GetStringIDForNode(string)

    Method in Dialogue

    Summary

    Returns the string ID that contains the original, uncompiled source text for a node.

    public string GetStringIDForNode(string nodeName)

    Remarks

    A node's source text will only be present in the string table if its tags header contains rawText.

    Because the 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.

    Parameters

    Name
    Description

    The string ID.

    RegisterFunction(string,Func<TResult>)

    Method in

    Registers a new function that returns a value, which can be called from a Yarn program.

    Name
    Description

    Node

    Class in

    Inherits from System.Object

    A node of Yarn script, contained within a , and containing Yarn.Instruction s.

    Name
    Description

    Option

    Struct in

    Inherits from System.ValueType

    An option to be presented to the user.

    Name
    Description

    T1

    The type of the function's first argument.

    T2

    The type of the function's second argument.

    T3

    The type of the function's third argument.

    T4

    The type of the function's fourth argument.

    T1

    The type of the function's first argument.

    string nodeName

    The name of the node.

    Returns

    NodeStartHandler
    DialogueCompleteHandler
    NodeCompleteHandler
    DialogueCompleteHandler

    ID

    The string ID for this line.

    Substitutions

    The values that should be inserted into the user-facing text before delivery.

    Fields

    See Also

    ExpandSubstitutions(string,IList<string>)
    ParseMarkup(string)
    Dialogue
    Dialogue.LineHandler
    LineHandler

    LineHandler

    Represents the method that is called when the Dialogue delivers a Line .

    Logger

    Represents a method that receives diagnostic messages and error information from a Dialogue .

    NodeCompleteHandler

    Represents the method that is called when the Dialogue reaches the end of a node.

    NodeStartHandler

    Represents the method that is called when the Dialogue begins executing a node.

    OptionsHandler

    Represents the method that is called when the Dialogue delivers an OptionSet .

    PrepareForLinesHandler

    Represents the method that is called when the dialogue anticipates that it will deliver lines.

    Yarn.Unity

    Contains classes for working with Yarn Spinner in the Unity game engine.

    OptionSet

    A set of Option s, sent from the Dialogue to the game.

    Dialogue
    DialogueException
    Dialogue
    Program
    FunctionType
    Library
    MemoryVariableStore
    IVariableStorage
    Node
    Program
    Program
    CommandHandler
    Command
    DialogueCompleteHandler
    IType
    IVariableStorage
    Yarn.Compiler
    Yarn.Markup
    Command
    Dialogue
    Line
    Dialogue

    Parent

    Gets the parent of this type.

    ReturnType

    Gets the type of value that this function returns.

    Description
    Methods
    Name
    Parameters
    Yarn.Program
    Program
    Clear()
    SetValue(string,bool)
    SetValue(string,float)
    SetValue(string,string)
    TryGetValue(string,T)
    NodeCompleteHandler
    DialogueCompleteHandler
    Yarn.Line
    Line
    Options
    Option
    Option

    System.Func<TResult> implementation

    The method to be invoked when the function is called.

    Name
    Description

    TResult

    The return type of the function.

    string name

    The name of the function.

    Summary

    Parameters

    Library

    Type Parameters

    public void RegisterFunction<TResult>(string name, Func<TResult> implementation)

    Name
    Description

    The list of instructions in this node.

    A jump table, mapping the names of labels to positions in the instructions list.

    public class Node

    Summary

    Methods

    Yarn
    Program

    Properties

    Gets the name of the node that will be run if this option is selected.

    Gets the identifying number for this option.

    Gets a value indicating whether the player should be permitted to select this option.

    Gets the that should be presented to the user for this option.

    public struct Option

    Summary

    Properties

    OptionSet

    Library

    Class in Yarn

    Inherits from System.Object

    Summary

    A collection of functions that can be called from Yarn programs.

    public class Library

    Remarks

    You do not create instances of this class yourself. The Dialogue class creates one of its own, which you can access via the Library property.

    Methods

    Name
    Description
    • : Co-ordinates the execution of Yarn programs.

    DestinationNode
    ID
    IsAvailable
    Line
    Line

    Removes a function from the Library.

    Gets a value indicating whether this contains a function named name .

    Returns a System.Delegate with a given name.

    Loads functions from another .

    See Also

    Dialogue

    The name of this node.

    the entry in the program's string table that contains the original text of this node; null if this is not available

    The tags associated with this node.

    ToString()
    Instructions
    Labels
    Name
    SourceTextStringID
    Tags

    Registers a new function that returns a value, which can be called from a Yarn program.

    Registers a new function that returns a value, which can be called from a Yarn program.

    Registers a new function that returns a value, which can be called from a Yarn program.

    Registers a new function that returns a value, which can be called from a Yarn program.

    Registers a new function that returns a value, which can be called from a Yarn program.

    Registers a new function that returns a value, which can be called from a Yarn program.

    Registers a new function that returns a value, which can be called from a Yarn program.

    DeregisterFunction(string)
    FunctionExists(string)
    Library
    GetFunction(string)
    ImportLibrary(Library)
    Library
    RegisterFunction(string,Delegate)
    RegisterFunction(string,Func)
    RegisterFunction(string,Func<T1, TResult>)
    RegisterFunction(string,Func<T1, T2, TResult>)
    RegisterFunction(string,Func<T1, T2, T3, TResult>)
    RegisterFunction(string,Func<T1, T2, T3, T4, TResult>)
    RegisterFunction(string,Func<T1, T2, T3, T4, T5, TResult>)

    Dialogue

    Class in Yarn

    Inherits from System.Object

    Summary

    Co-ordinates the execution of Yarn programs.

    public class Dialogue : IAttributeMarkerProcessor

    Constructors

    Name
    Description
    Name
    Description
    Name
    Description
    Name
    Description

    FunctionExists(string)

    Method in Library

    Summary

    Gets a value indicating whether this Library contains a function named name .

    public bool FunctionExists(string name)

    Parameters

    Name
    Description

    string name

    true if a function exists in this Library; false otherwise.

    The name of the function to look for.

    Returns

    Initializes a new instance of the class.

    The node that execution will start from.

    Loads the nodes from the specified , and adds them to the nodes already loaded.

    Starts, or continues, execution of the current Program.

    Gets or sets the that is called when a command is to be delivered to the game.

    Fields

    Methods

    Properties

    Replaces all substitution markers in a text with the given substitution list.

    Returns the string ID that contains the original, uncompiled source text for a node.

    Returns the tags for the node nodeName .

    Gets a value indicating whether a specified node exists in the Program.

    Parses a line of text, and produces a containing the results.

    Prepares the that the user intends to start running a node.

    Loads all nodes from the provided .

    Signals to the that the user has selected a specified .

    Immediately stops the .

    Unloads all nodes from the Dialogue.

    Gets the name of the node that this Dialogue is currently executing.

    Gets or sets the that is called when the dialogue reaches its end.

    Gets a value indicating whether the Dialogue is currently executing Yarn instructions.

    Gets or sets the 's locale, as an IETF BCP 47 code.

    Gets the that this Dialogue uses to locate functions.

    Gets or sets the that is called when a line is ready to be shown to the user.

    Invoked when the Dialogue needs to report debugging information.

    Invoked when the Dialogue needs to report an error.

    Gets or sets the that is called when a node is complete.

    Gets the names of the nodes in the currently loaded Program.

    Gets or sets the that is called when a node is started.

    Gets or sets the that is called when a set of options are ready to be shown to the user.

    Gets or sets the that is called when the dialogue anticipates delivering some lines.

    Gets or sets the object that provides access to storing and retrieving the values of variables.

    Dialogue(Yarn.IVariableStorage)
    Dialogue
    DefaultStartNodeName
    AddProgram(Program)
    Program
    Continue()
    CommandHandler
    CommandHandler
    CurrentNode
    ExpandSubstitutions(string,IList)
    GetStringIDForNode(string)
    GetTagsForNode(string)
    NodeExists(string)
    ParseMarkup(string)
    MarkupParseResult
    SetNode(string)
    Dialogue
    SetProgram(Program)
    Program
    SetSelectedOption(int)
    Dialogue
    Option
    Stop()
    Dialogue
    UnloadAll()
    DialogueCompleteHandler
    DialogueCompleteHandler
    IsActive
    LanguageCode
    Dialogue
    Library
    Library
    LineHandler
    LineHandler
    LogDebugMessage
    LogErrorMessage
    NodeCompleteHandler
    NodeCompleteHandler
    NodeNames
    NodeStartHandler
    NodeStartHandler
    OptionsHandler
    OptionsHandler
    PrepareForLinesHandler
    PrepareForLinesHandler
    VariableStorage

    ToString()

    Method in

    public override string ToString()

    Summary

    Node

    ID

    Field in

    The string ID for this line.

    public string ID;

    Summary

    Line

    SetValue(string,string)

    Method in MemoryVariableStore

    Summary

    Stores a string in this VariableStorage.

    public void SetValue(string variableName, string stringValue)

    Parameters

    Name
    Description

    string variableName

    The name to associate with this variable.

    string stringValue

    The string to store.

    TryGetValue(string,T)

    Method in IVariableStorage

    Summary

    Retrieves a value of type T by name.

    bool TryGetValue<T>(string variableName, out T result);

    Parameters

    Name
    Description

    string variableName

    Name
    Description

    true if a value named variableName of type T was retrieved; false otherwise.

    The name of the variable to retrieve the value of.

    T result

    On return, if this method returned true, contains the retrieved value. If this method returned false, contains the default value of T (for example, 0 for float values, null for strings, and so on.)

    T

    The type of the variable to retrieve.

    Type Parameters

    Returns