非 Task 对象,比如 MonoBehavior 组件,通过变量名获取变量的引用:
behaviorTree.GetVariable("MyVariable");
behaviorTree.SetVariable("MyVariable", value);
behaviorTree.SetVariableValue("MyVariableName", value);
真实例子:
using UnityEngine;
using BehaviorDesigner.Runtime;
public class AccessVariable : MonoBehaviour
{
public BehaviorTree behaviorTree;
public void Start()
{
var myIntVariable = (SharedInt)behaviorTree.GetVariable("MyVariable");
myIntVariable.Value = 42;
}
}
也可以获取全局变量:
GlobalVariables.Instance.GetVariable("MyVariable");
GlobalVariables.Instance.SetVariable("MyVariable", value);