ParameterContainer
ParameterContainer is a component used to perform data sharing etc. between graphs.
Add ParameterContainer to GameObject and set various types of parameters.
Add ParameterContainer
Create GameObject
Click Hierarchy’s Create button, or “Create” in the right-clicked menu,
If you select “Arbor > ParameterContainer”, you can create a GameObject with ParameterContainer added.
Add to GameObject
- Select the GameObject you want to apply.
- Select “Menu > Component > Arbor > ParameterContainer”.
- Or choose Inspector’s “Add Component button > Arbor > ParameterContainer”.
Edit ParameterContainer
Add Parameter
- Click the + button at the lower right of “Parameters”.
Select the type you want to add.
Edit Parameter
- Select name, value and edit.
Delete Parameter
- Select the parameter and click the - button.
Type of parameter
| Type | Inspector | Description |
|---|---|---|
| Int |
|
Signed 32 bit integer |
| Float |
|
Signed 32 bit floating point number |
| Bool |
|
Boolean |
| GameObject |
|
Reference to GameObject |
| String |
|
String |
| Vector2 |
|
2 dimensional vector |
| Vector3 |
|
3 dimensional vector |
| Quaternion |
|
Quaternion |
| Rect |
|
2D rectangle |
| Bounds |
|
An axis aligned bounding box. |
| Color |
|
Color |
| Transform |
|
Reference to Transform component |
| RectTransform |
|
Reference to RectTransform component |
| Rigidbody |
|
Reference to Rigidbody component |
| Rigidbody2D |
|
Reference to Rigidbody2D component |
| Component |
|
Referece to Component (typable) |
| Long |
|
Signed 64 bit integer |
| Variable | Parameter type that can be built by you |
Abount Variable
With Variable you can create your own parameters.
For details, see “Customizing parameters with Variable”.
Customizing parameters with Variable
How to reference parameters
ParameterReference
By declaring the ParameterReference association class in the field, you can refer to the parameter.
Example script
|
|
When you add this script to GameObject, it becomes as follows.
| Field Name | Description |
|---|---|
| Container | Reference ParameterContainer |
| Parameter | Parameters to be referred to |
For the getted Parameter, refer to the script reference.
ParameterReference related class
- IntParameterReference
- FloatParameterReference
- BoolParameterReference
- GameObjectParameterReference
- StringParameterReference
- Vector2ParameterReference
- Vector3ParameterReference
- QuaternionParameterReference
- RectParameterReference
- BoundsParameterReference
- ColorParameterReference
- TransformParameterReference
- RectTransformParameterReference
- RigidbodyParameterReference
- Rigidbody2DParameterReference
- ComponentParameterReference
- LongParameterReference
- AnyParameterReference
(Used to refer to Variable parameter)
FlexibleField
Using the FlexibleField association class, you can select and reference constant values, parameter reference, or data flow input.
Example script
|
|
When this script is added to the state of ArborFSM, it becomes as follows.
You can change the reference method by clicking the
button at the right end of the field.
By selecting “Parameter”, you can refer to it like Parameter Reference.
FlexibleField related class
- FlexibleInt
- FlexibleFloat
- FlexibleBool
- FlexibleGameObject
- FlexibleString
- FlexibleVector2
- FlexibleVector3
- FlexibleQuaternion
- FlexibleRect
- FlexibleBounds
- FlexibleColor
- FlexibleTransform
- FlexibleRectTransform
- FlexibleRigidbody
- FlexibleRigidbody2D
- FlexibleComponent
- FlexibleLong
- FlexibleField
(Used to refer to Variable parameter)
Type of constraints that reference
AnyParameterReference and ComponentParameterReference can constrain referencing types by specifying attributes.
Example script
|
|
Example of adding a script
Example ParameterContainer
(AudioSourceCurveType created Variable and registered it)
Available Attributes
| Class | Attributes |
|---|---|
| AnyParameterReference | Class derived from ClassTypeConstraintAttribute SlotTypeAttribute |
| ComponentParameterReference | Class derived from ClassTypeConstraintAttribute SlotTypeAttribute It is also constrained to the Component class. |
| FlexibleComponent | Class derived from ClassTypeConstraintAttribute SlotTypeAttribute It is also constrained to the Component class. |
About GlobalParameterContainer
GlobalParameterContainer is a component to use when there are parameters that you want to keep even if you change the scene.
Addition of GlobalParameterContainer
- Choose you want to apply GameObject Select “menu> Component> Arbor> GlobalParameterContainer”.
- Alternatively, select the “Add Component button> Arbor> GlobalParameterContainer” of Inspector.
- Also, you can create a GameObject with GlobalParameterContainer attached from Hierarchy’s Create button “Arbor> GlobalParameterContainer”.
Setting GlobalParameterContainer
- ParameterContainer with parameters to be shared between scenes is created in advance and Prefabized.
- Select GameObject to which GlobalParameterContainer is added. Specify Prefab of ParameterContainer created in Prefab of Inspector.
Reference parameters via GlobalParameterContainer
By specifying GlobalParameterContainer in the Container field of ParameterReference, parameters can be referred.
Associated built-in script
We will introduce some of the built-in script.
StateBehaviour
| Class | Attribute |
|---|---|
| CalcParameter | Calculate and change the value of Parameter. |
| SetBoolParameterFromUIToggle | Set the value of Toggle to Parameter. |
| SetFloatParameterFromUISlider | Set the value of Slider to Parameter. |
| ParameterTransition | It determines the value of Parameter and makes a transition. |
Decorator
| Class | Attribute |
|---|---|
| ParameterCheck | Check Parameter |
| ParameterConditionalLoop | Loop by Parameter condition. |
In addition, there are many built-in scripts that get values using FlexibleField, so please refer to the reference.