public override void SetNodeParameters(BT_TreeNode node)
 {
     node[QueueStr] = new AI_AgentParameter();
     node[PushObjPar] = new AI_AgentParameter();
     node[ObjStr] = null;
     node[IsObjectStr] = false;
 }
 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 equalObject)
 {
     node.CheckAndSetClass<BT_CheckEqualBBParameter>();
     node[P1Str]         = accesparam1;
     node[ObjStr]        = equalObject;
     node[IsObjectStr]   = true;
     return node;
 }
 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;
 }
 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 override void SetNodeParameters(BT_TreeNode node)
 {
     node[P1Str]        = new AI_AgentParameter();
     node[IsObjectStr]  = false;
     node[P2Str]        = new AI_AgentParameter();
     node[ObjStr]       = null;
     
 }
 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;
 }
Exemplo n.º 8
0
 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;
 }
Exemplo n.º 9
0
    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 override void OnInspectorGUI()
    {
        base.OnInspectorGUI();
        AI_BlackboardComponent bbc = (AI_BlackboardComponent)target;
        AI_Blackboard bb = bbc.Blackboard;

        if (bb == null)
        {
            using (new FixedWidthLabel("No blackboard exists. "))
            {
                if (GUILayout.Button("Create new BB."))
                {
                    bbc.Blackboard = AI_Blackboard.Create();
                    bb = bbc.Blackboard;
                }
                else
                    return;
            }
        }

        //Debug.Log(bb.ObjectPool.Count);

        //bb.Init();        
                    
        // Blackboard name
        GUILayout.BeginHorizontal();
        using (new FixedWidthLabel("Name: "))
            bb.Name = EditorGUILayout.TextField(bb.Name);
        GUILayout.EndHorizontal();

        //Blackboard function
        bbc.Blackboard = BlackBoardGUI(bb);

        GUILayout.BeginHorizontal();

        if (GUILayout.Button("Clear BlackBoard"))
            bb.Clear();
        if (GUILayout.Button("Decouple"))
        {
            bbc.Blackboard = AI_Blackboard.CreateShallowCopy(bb);
        }
        if (GUILayout.Button("Set test values"))
        {
            bb["TestInt"] = 1;
            bb["TestFloat"] = 1.0f;
            bb["TestVariable"] = null;
            bb["TestParamater"] = new AI_AgentParameter();
        }

        GUILayout.EndHorizontal();
    }
    public static AI_AgentParameter CustomDraw(string label, AI_AgentParameter bb)
    {
        EditorGUILayout.BeginHorizontal();
        using (new FixedWidthLabel(label))
        {
            string[] strTypes = Enum.GetNames(typeof(AI_Agent.BlackBoard)).ToArray();
            int index = (int)bb.AgentAccesType;
            float width = GUI.skin.label.CalcSize(new GUIContent(strTypes[index])).x + 15;
            int enumIndex = EditorGUILayout.Popup(string.Empty, index, strTypes, GUILayout.Width(width));
            
            var enumValues = (AI_Agent.BlackBoard[])Enum.GetValues(typeof(AI_Agent.BlackBoard));
            bb.AgentAccesType = enumValues[enumIndex];

            string oldValue = bb.ParameterName;

            bb.ParameterName = EditorGUILayout.TextField(bb.ParameterName);
        }
        //EditorGUILayout.LabelField(label,GUILayout.Width(130));
        
        EditorGUILayout.EndHorizontal();

        return bb;
    }
Exemplo n.º 12
0
 public static BT_TreeNode GetTreeNode(AI_AgentParameter QueueParam, AI_AgentParameter PopParam)
 {
     BT_TreeNode node = BT_TreeNode.CreateNode(ScriptableObjectHelper.Create<BT_QueuePop>());
     return SetParameters(node, QueueParam, PopParam);
 }
Exemplo n.º 13
0
 public static BT_TreeNode GetTreeNode(AI_AgentParameter accesparam1, AI_AgentParameter accesparam2)
 {
     BT_TreeNode node = BT_TreeNode.CreateNode(ScriptableObjectHelper.Create<BT_Copy>());
     return SetParameters(node, accesparam1, accesparam2);
 }
Exemplo n.º 14
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;
 }
Exemplo n.º 15
0
 public override void SetNodeParameters(BT_TreeNode node)
 {
     node[queueStr] = new AI_AgentParameter();
     node[popStr] = new AI_AgentParameter();
 }
Exemplo n.º 16
0
 public static BT_TreeNode GetTreeNode(AI_AgentParameter accesparam1, object equalObject)
 {
     BT_TreeNode node = BT_TreeNode.CreateNode(ScriptableObjectHelper.Create<BT_CheckEqualBBParameter>());
     return SetParameters(node, accesparam1, equalObject);
 }
 public static BT_TreeNode GetTreeNode(AI_AgentParameter QueueParam, object sizeObject)
 {
     BT_TreeNode node = BT_TreeNode.CreateNode(ScriptableObjectHelper.Create<BT_QueueCheckSize>());
     return SetParameters(node, QueueParam, sizeObject);
 }
Exemplo n.º 18
0
 public static BT_TreeNode GetTreeNode(AI_AgentParameter accesparam1, AI_AgentParameter accesparam2)
 {
     BT_TreeNode node = BT_TreeNode.CreateNode(new BT_CheckEqualBBParameter());
     return SetParameters(node, accesparam1, accesparam2);
 }
Exemplo n.º 19
0
 public static BT_TreeNode GetTreeNode(AI_AgentParameter QueueParam, object pushObj)
 {
     BT_TreeNode node = BT_TreeNode.CreateNode(ScriptableObjectHelper.Create<BT_QueuePush>());
     return SetParameters(node, QueueParam, pushObj);
 }
Exemplo n.º 20
0
    ///// <summary>
    ///// Get or Set Default in local blackboard
    ///// </summary>
    //public object GSD(string name, object Default, BlackBoard acces = BlackBoard.local)
    //{
    //    if (acces == BlackBoard.local)
    //        return LocalBlackboard.GetObjectOrSetDefault(name, Default); 
    //    else
    //        return GlobalBlackboard.GetObjectOrSetDefault(name, Default); 
    //}

    //public object this[Paramet]

    public object this[AI_AgentParameter param]
    {
        get { return this[param.ParameterName, param.AgentAccesType]; }
        set { this[param.ParameterName, param.AgentAccesType] = value; }
    }