非 Task 对象,比如 MonoBehavior 组件,通过变量名获取变量的引用:

    1. behaviorTree.GetVariable("MyVariable");
    2. behaviorTree.SetVariable("MyVariable", value);
    3. behaviorTree.SetVariableValue("MyVariableName", value);

    真实例子:

    1. using UnityEngine;
    2. using BehaviorDesigner.Runtime;
    3. public class AccessVariable : MonoBehaviour
    4. {
    5. public BehaviorTree behaviorTree;
    6. public void Start()
    7. {
    8. var myIntVariable = (SharedInt)behaviorTree.GetVariable("MyVariable");
    9. myIntVariable.Value = 42;
    10. }
    11. }

    也可以获取全局变量:

    1. GlobalVariables.Instance.GetVariable("MyVariable");
    2. GlobalVariables.Instance.SetVariable("MyVariable", value);