VariablesState class

Encompasses all the global variables in an ink Story, and allows binding of a VariableChanged event so that that game code can be notified whenever the global variables change.

Inheritance
Available Extensions

Constructors

VariablesState(CallStack callStack, ListDefinitionsOrigin? listDefinitions)

Properties

batchObservingVariableChanges bool
getter/setter pair
callStack CallStack
getter/setter pair
first String
The first element.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
isEmpty bool
Whether this collection has no elements.
no setterinherited
isNotEmpty bool
Whether this collection has at least one element.
no setterinherited
iterator Iterator<String>
A new Iterator that allows iterating the elements of this Iterable.
no setteroverride
last String
The last element.
no setterinherited
length int
The number of elements in this.
no setterinherited
patch ↔ StatePatch?
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
single String
Checks that this iterable has only one element, and returns that element.
no setterinherited
variableChangedEvent VariableChanged?
getter/setter pair

Methods

$runtimeObjectsEqual(RuntimeObject? obj1, RuntimeObject obj2) bool
any(bool test(String element)) bool
Checks whether any element of this iterable satisfies test.
inherited
ApplyPatch() → void
assign(VariableAssignment varAss, RuntimeObject value) → void
cast<R>() Iterable<R>
A view of this iterable as an iterable of R instances.
inherited
contains(Object? element) bool
Whether the collection contains an element equal to element.
inherited
elementAt(int index) String
Returns the indexth element.
inherited
every(bool test(String element)) bool
Checks whether every element of this iterable satisfies test.
inherited
expand<T>(Iterable<T> toElements(String element)) Iterable<T>
Expands each element of this Iterable into zero or more elements.
inherited
firstWhere(bool test(String element), {String orElse()?}) String
The first element that satisfies the given predicate test.
inherited
fold<T>(T initialValue, T combine(T previousValue, String element)) → T
Reduces a collection to a single value by iteratively combining each element of the collection with an existing value
inherited
followedBy(Iterable<String> other) Iterable<String>
Creates the lazy concatenation of this iterable and other.
inherited
forEach(void action(String element)) → void
Invokes action on each element of this iterable in iteration order.
inherited
getRawVariableWithName(String? name, int contextIndex) RuntimeObject?
getVariableWithName(String? name, [int contextIndex = -1]) RuntimeObject?
globalVariableExistsWithName(String name) bool
join([String separator = ""]) String
Converts each element to a String and concatenates the strings.
inherited
lastWhere(bool test(String element), {String orElse()?}) String
The last element that satisfies the given predicate test.
inherited
map<T>(T toElement(String e)) Iterable<T>
The current elements of this iterable modified by toElement.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
reduce(String combine(String value, String element)) String
Reduces a collection to a single value by iteratively combining elements of the collection using the provided function.
inherited
SetGlobal(String variableName, RuntimeObject value) → void
SetJsonToken(Map<String, dynamic> jToken) → void
singleWhere(bool test(String element), {String orElse()?}) String
The single element that satisfies test.
inherited
skip(int count) Iterable<String>
Creates an Iterable that provides all but the first count elements.
inherited
skipWhile(bool test(String value)) Iterable<String>
Creates an Iterable that skips leading elements while test is satisfied.
inherited
snapshotDefaultGlobals() → void
take(int count) Iterable<String>
Creates a lazy iterable of the count first elements of this iterable.
inherited
takeWhile(bool test(String value)) Iterable<String>
Creates a lazy iterable of the leading elements satisfying test.
inherited
toList({bool growable = true}) List<String>
Creates a List containing the elements of this Iterable.
inherited
toSet() Set<String>
Creates a Set containing the same elements as this iterable.
inherited
toString() String
Returns a string representation of (some of) the elements of this.
inherited
tryGetDefaultVariableValue(String name) RuntimeObject?
valueAtVariablePointer(VariablePointerValue pointer) RuntimeObject?
variablesState(CallStack callStack, ListDefinitionsOrigin listDefsOrigin) → void
where(bool test(String element)) Iterable<String>
Creates a new lazy Iterable with all elements that satisfy the predicate test.
inherited
whereType<T>() Iterable<T>
Creates a new lazy Iterable with all elements that have type T.
inherited
WriteJson(SimpleJsonWriter writer) → void

Operators

operator ==(Object other) bool
The equality operator.
inherited
operator [](String variableName) → dynamic
Get or set the value of a named global ink variable. The types available are the standard ink types. Certain types will be implicitly casted when setting. For example, doubles to floats, longs to ints, and bools to ints.
operator []=(String variableName, dynamic value) → void
set the value of a named global ink variable. The types available are the standard ink types. Certain types will be implicitly casted when setting. For example, doubles to floats, longs to ints, and bools to ints.

Static Properties

dontSaveDefaultValues bool
When saving out JSON state, we can skip saving global values that remain equal to the initial values that were declared in ink. This makes the save file (potentially) much smaller assuming that at least a portion of the globals haven't changed. However, it can also take marginally longer to save in the case that the majority HAVE changed, since it has to compare all globals. It may also be useful to turn this off for testing worst case save timing.
getter/setter pair