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 thisIterable
.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
index
th 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 whiletest
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