public override void SetNodeParameters(BT_TreeNode node)
 {
     node[QueueStr] = new AI_AgentParameter();
     node[PushObjPar] = new AI_AgentParameter();
     node[ObjStr] = null;
     node[IsObjectStr] = false;
 }
 public void SetBehavior(BT_BBParameters behavior)
 {
     if (TreeNode == null)
         TreeNode = BT_TreeNode.CreateNode(behavior);
     else
         TreeNode.Behavior = behavior;
 }
 public static BT_TreeNode SetParameters(BT_TreeNode node, AI_AgentParameter QueueParam, object sizeObject)
 {
     node.CheckAndSetClass<BT_QueueCheckSize>();
     node[QueueStr] = QueueParam;
     node[ObjStr] = sizeObject;
     node[IsObjectStr] = true;
     return node;
 }
    public static BT_TreeNode SetParameters(BT_TreeNode node, AI_AgentParameter QueueParam, AI_AgentParameter PopParam)
    {
        node.CheckAndSetClass<BT_QueuePop>();
        node[popStr] = PopParam;
        node[queueStr] = QueueParam;

        return node;
    }
 public static BT_TreeNode SetParameters(BT_TreeNode node, AI_AgentParameter QueueParam, AI_AgentParameter sizeObj)
 {
     node.CheckAndSetClass<BT_QueueCheckSize>();
     node[QueueStr] = QueueParam;
     node[SizeObjPar] = sizeObj;
     node[IsObjectStr] = false;
     return node;
 }
 public static BT_TreeNode SetParameters(BT_TreeNode node, AI_AgentParameter accesparam1, AI_AgentParameter accesparam2)
 {
     node.CheckAndSetClass<BT_CheckEqualBBParameter>();
     node[P1Str]     = accesparam1;
     node[P2Str]     = accesparam2;
     node[IsObjectStr]  = false;
     return node;
 }
 public static BT_TreeNode SetParameters(BT_TreeNode node, AI_AgentParameter accesparam1, object setObject)
 {
     node.CheckAndSetClass<BT_Copy>();
     node[Override] = accesparam1;
     node[Obj] = setObject;
     node[IsObjectStr] = true;
     return node;
 }
 public static BT_TreeNode SetParameters(BT_TreeNode node, AI_AgentParameter accesparam1, object equalObject)
 {
     node.CheckAndSetClass<BT_CheckEqualBBParameter>();
     node[P1Str]         = accesparam1;
     node[ObjStr]        = equalObject;
     node[IsObjectStr]   = true;
     return node;
 }
 public override void SetNodeParameters(BT_TreeNode node)
 {
     node[P1Str]        = new AI_AgentParameter();
     node[IsObjectStr]  = false;
     node[P2Str]        = new AI_AgentParameter();
     node[ObjStr]       = null;
     
 }
 public BT_UINodeInfo(int depth, int rank, BT_TreeNode node, BT_UINodeInfo parent, BT_Tree tree)
 {
     Depth = depth;
     Index = rank;
     TreeNode = node;
     Parent = parent;
     Tree = tree;
 }
 public static BT_TreeNode SetParameters(BT_TreeNode node, AI_AgentParameter QueueParam, AI_AgentParameter PushParam)
 {
     node.CheckAndSetClass<BT_QueuePush>();
     node[QueueStr] = QueueParam;
     node[PushObjPar] = PushParam;
     node[IsObjectStr] = false;
     return node;
 }
    internal static BTNodeWindow CreateWindow(BT_TreeNode node, UnityEngine.Object asset, int id)
    {
        BTNodeWindow window = ScriptableObject.CreateInstance<BTNodeWindow>();
        window.Init();
        window.TreeNode = node;
        window.ID = id;
        window.SetName();
        window.BGColor = GUI.color;

        window.Rect = new Rect(100, 100, 100, 100);

        window.status = Status.Invalid;

        // Add object to asset
        //ScriptableObjectHelper.AddObjectToAsset(asset, window);
        window.AddObjectToAsset(asset);

        return window;
    }
 public override void SetNodeParameters(BT_TreeNode node)
 {
     node[queueStr] = new AI_AgentParameter();
     node[popStr] = new AI_AgentParameter();
 }
    private void errorCheck(BT_TreeNode root, Status returnStatus, ref int errors, AI_Agent agent)
    {
        //RebuildTree(root);
        agent.CheckTreeVersion();
        Status beh = root.Tick(agent);

        // Check if it is the correct return type and if its not TC.invalid
        if (beh != returnStatus)
            errors++;
        if (beh == Status.Invalid)
            errors++;
    }
Example #15
0
 public static BT_TreeNode SetParameters(BT_TreeNode node, AI_AgentParameter accesparam1, AI_AgentParameter accesparam2)
 {
     node.CheckAndSetClass<BT_Copy>();
     node[Override] = accesparam1;
     node[ObjParam] = accesparam2;
     node[IsObjectStr] = false;
     return node;
 }
 public Status NewTreeTick(BT_TreeNode root)
 {
     Tree = BT_Tree.CreateTree(root);
     return TreeTick();
 }
    //public T GetObjectOrDefault

    #endregion

    //public Status this[int index]
    //{
    //    get { return NodeStatus[index]; }
    //    set { NodeStatus[index] = value; }
    //}

    ///// <summary>
    ///// Returns the ID of the child
    ///// </summary>
    //public int this[int nodeIndex, int childIndex]
    //{
    //    get { return childIndex < TreeMemory[nodeIndex].Children.Count ? TreeMemory[nodeIndex].Children[childIndex] : -1; }
    //   // set { TreeMemory[childIndex].Status = value; }
    //}

    #endregion

    #region CreateAgent

    public static AI_Agent CreateAgent(BT_TreeNode Root = null)
    {
        AI_Agent agent = new AI_Agent();
        agent.LocalBlackboard = AI_Blackboard.Create();
        agent.GlobalBlackboard = AI_Blackboard.Create();
        agent.Tree = BT_Tree.CreateTree(Root);

        agent.LocalBlackboard.SetObject("Name", agent.Name);
        agent.LocalBlackboard.SetObject("DebugTree", false);
        agent.LocalBlackboard.SetObject("Depth", 0);

        return agent;
    }
 public virtual void SetNodeParameters(BT_TreeNode node)
 {
     //Debug.Log("BT_BBParameters.SetNodeParameters: No parameters to set");
 }
Example #19
0
 public static BT_TreeNode SetParameters(BT_TreeNode node, string bbParameter1, AI_Agent.BlackBoard param1, string bbParameter2, AI_Agent.BlackBoard param2)
 {
     return SetParameters(node, new AI_AgentParameter(bbParameter1, param1), new AI_AgentParameter(bbParameter2, param2));
 }
Example #20
0
 public static BT_TreeNode SetParameters(BT_TreeNode node, string bbParameter, AI_Agent.BlackBoard accesparam1, object setObject)
 {
     return SetParameters(node, new AI_AgentParameter(bbParameter, accesparam1), setObject);
 }