List (Array)
Arbor data flow supports lists (arrays).
Please use the behavior of each operation node and state for access.
Example using a list
The following is an example of randomly extracting elements from the list set in ParameterContainer.
GetParameter
- Added StringList parameter to graph parameters.
 - Get with GetParameter.
 
List.Count
- Add the List.Count operation node to get the number of elements in the string type list.
 
Random.RangeInt
- Calculate the random index using the number of elements in the obtained list.
 
List.GetElement
- Gets a list element by random index.
 
SetParameter
- Added SelectString parameter to graph parameters.
 - Set the retrieved random element in the SelectString parameter.
 - Repeat at 1 second intervals with a TimeTransition to see it change randomly.
 
Calculator Node
Use a calculation node to obtain various data that does not change the elements of List.
- List.Contains
 - List.Count
 - List.GetElement
 - List.IndexOf
 - List.LastIndexOf
 - List.ToArrayList
 - NewArrayList
 
StateBehaviour
Use state behaviors to modify List elements.
Ahead-of-Time (AOT) Restrictions
Due to restrictions in the precompiled environment such as IL2CPP build, an exception will occur when using List<T> that is not referenced from the code.
See Unity - Manual: Scripting restrictions for more information on precompilation limits.
Here's how to use it that causes problems with Arbor.
- Parameter
- AssetObjectList
 - ComponentList
 - EnumList
 
 - List-related built-in scripts
 
To avoid such AOT problems, add code similar to the following.
 | 
 | 
You do not need to use the AOTCodeGeneration class.
Writing in a script like this will ensure that the compiler will generate the appropriate code.