The most important classes to understand are InkDialogueRunner and InkOutput.*.
These are what you will interact with the most when implementing this plugin into your game.
Every output returned by the interpreter is a child class of InkOutput.
ChoicePoint implementation is done through the property InkOutput.Text.options which is an array of InkOutput.Option. InkOutput.Text is the generally the default output from the interpreter. Call InkOutput.Option.select() to choose that option.
This is not a comprehensive overview of every class defined in this plugin. Specficially, InkValue and InkControl have many child classes.
InkDialogueRunnerextendsNodeInkInterpreterextendsRefCountedInkOutputextendsRefCounted- abstract
InkOutput.BaseextendsRefCounted InkOutput.TextextendsInkOutput.BaseInkOutput.ExternCallextendsInkOutput.BaseInkOutput.OptionextendsRefCounted
- abstract
InkResourceextendsResourceInkResourceSetextendsInkResource
InkDialogueRequestextendsResource- abstract
InkNodeextendsResourceInkContainerextendsInkNode- abstract
InkValueextendsInkNode - abstract
InkControlextendsInkNode
Scene node and the programmer frontend.
Attach a InkResource while editing and call start() (start_request() or start_at_path()) during runtime.
When has_next() is true, you can get the next InkOutput by running get_next().
Keeps track of interpretation context using InkInterpreter.
After dialogue is complete (InkOutput.Text.should_close_on_completion == true), you can clear the last context by calling reset(). is_interpretation_complete() is only determined if the state has ran into the final done command.
Extends Node
Keeps track of interpretation state such as the call stack and whether interpretation must wait for input or an external function call. Buffers the output.
Extends Object.
(this is basically a namespace and is not meant to be instantiated)
Abstract Base Class. Extends Object.
Normal dialogue text; the default. Extends Base
options: Array[InkOutput.Option]: ChoicePoint frontendtext: Display texttags: metadatashould_close_on_completion: has done been called on this iteration?
External function call. Extends Base.
Incomplete Implementation
function: Function nameargs_state: ????
ChoicePoint implementation. Extends Object.
text: Option Display Textselect(): Called on selection by InkInterpreter
The parsed output of the importer half of this plugin. It stores the JSON tree provided by inklecate using InkNode derived objects. Extends Resource.
Solution to connecting dialogue trees from two different files. Top level path is changed to <file_name>.<path> - start_request() and start_from_path() will be effected.
Pushes every path to the call stack so that they are ran in order without breaks.
An element of the interpretation tree. Extends Resource.
func run(state: InkInterpreter): the primary functionality that determines how this node affects the state.
-
Stores an array and a dictionary of InkNodes. Pushes its iterator to the call stack. In simple terms, these are basically methods with callable code segments.
-
arrnodes are ran when this container is ran -
dictnodes are only ran when called either manually or as the result of adivertcontrol node.
Abstract base class. Nodes that exend InkValue store data required during runtime. These are basically statements or expressions.
Abstract base class. Nodes that extend InkControl operate on data or the call stack. These effect the interpreter state directly.
InkLambdaInkPointerInkReadCountInkReferenceInkAssign- Arithmetic and Logic Commands in
InkCommand