Press the “+” button and select “Variable> Created Variable Name”.
Parameters are added
Reference to Variable parameter
FlexibleField
You can refer to it by giving StateBehaviour etc a class of Flexible + Variable Name defined in the generated script file.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using Arbor;[AddComponentMenu("")]publicclassEnemyInfoBehaviour : StateBehaviour {
public FlexibleEnemyInfo enemyInfo;
// Use this for enter state
publicoverridevoid OnStateBegin()
{
EnemyInfo value = enemyInfo.value;
Debug.Log(value.displayName);
}
}
AnyParameterReference
Use AnyParameterReference when referring directly to Parameter.
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using Arbor;[AddComponentMenu("")]publicclassEnemyInfoBehaviour2 : StateBehaviour { [ClassExtends(typeof(EnemyInfo))]public AnyParameterReference enemyInfo = new AnyParameterReference();
// Use this for enter state
publicoverridevoid OnStateBegin()
{
Parameter enemyInfoParameter = enemyInfo.parameter;
if (enemyInfoParameter != null)
{
EnemyInfo value = enemyInfoParameter.valueas EnemyInfo;
Debug.Log(value.displayName);
}
}
}