The "ds_struct_find_value" Function

Syntax#

ds_struct_find_value(id, key);
ArgumentTypeDescription
idstructThe struct to check
keystringThe key (i.e. struct content) to check value of

Description#

Checks if a variable name (as a string) exists within the given struct and returns the value. Unlike the built-in variable_struct_get function, this script will check recursively, including any structs-within-structs.

If multiple levels of struct exist, it is possible for the same key to occur multiple times with different values. To increase the speed and precision of this function, you can specify which level to search by prepending the key with any parent structs separated by a period. In this case, the first parent specified must exist in the root struct, but deeper levels will be recursed and are optional.

If the specified key doesn't exist, undefined will be returned instead. To determine whether the key exists first, use ds_struct_exists.

Example#

// Both "font" and "text.font" are acceptable and will return the same value
if (ds_struct_exists(my_struct, "text.font")) {
var my_font = ds_struct_find_value(my_struct, "text.font");
draw_set_font(my_font);
}