示例#1
0
        void DisplayDebugMenu(Rect pos)
        {
            var node = mContextNode == null ? null : mContextNode.GetRuntimeNode();

            if (node == null)
            {
                return;
            }
            BehaviourTreeRunner.AssetBinder subtree = null;
            if (node != null && node.Asset != null && TargetRunner != null)
            {
                subtree = TargetRunner.GetBinder((x) => x.Name == node.Asset.GetInstanceID().ToString("x"));
            }
            if (subtree != null && subtree.RuntimeTree != null)
            {
                sDebugMenu.AddItem("打开子行为树", (menu, index, data) =>
                {
                    mAssetBinder.SetBehaviourBinder(data as BehaviourTreeRunner.AssetBinder);
                    mContextNode = null;
                }, subtree);
            }
            else
            {
                sDebugMenu.RemoveItem("打开子行为树");
            }
            sDebugMenu.Display(this, pos);
        }
示例#2
0
 public override void OnPrepare(BehaviourTreeRunner.AssetBinder binder, BTNode node)
 {
     Identify = node.Identify;
 }
 public override void OnPrepare(BehaviourTreeRunner.AssetBinder binder, BTNode node)
 {
     base.OnPrepare(binder, node);
     mToSet = binder.Blackboard.Value <Vector3>(m_ToSet);
 }
 public override void OnPrepare(BehaviourTreeRunner.AssetBinder binder, BTNode node)
 {
     base.OnPrepare(binder, node);
     mAnim = binder.GetComponent <Animator>();
     Init();
 }