void TestNodeAI()
    {
        Node_AND andNode = new Node_AND ();
        andNode.inputThreshold = 1.0f;

        Node_OuterElementSelector nmbNode = new Node_OuterElementSelector ();
        nmbNode.inputThreshold = 0.5f;

        Node_DistanceFilter distNode = new Node_DistanceFilter ();
        distNode.inputThreshold = 0.5f;

        Node_Action movementNode = new Node_Action ();
        movementNode.inputThreshold = 1.0f;
        movementNode.actionNode = ActionNode.Attack;
        movementNode.functionType = FunctionType.Movement;

        lowerNodes.Add (andNode);
        //andNode.upperNode = this;
        andNode.lowerNodes.Add (nmbNode);
        nmbNode.upperNode = andNode;
        //		andNode.lowerNodes.Add (distNode);
        //		distNode.upperNode = andNode;
        andNode.lowerNodes.Add (movementNode);
        movementNode.upperNode = andNode;
    }
    void SettingTargetTestNodeAI()
    {
        attackMap = new Node_DataMap ();
        attackMap.topNode = this;
        attackMap.InitializeNode ();

        outerElNode = new Node_OuterElementSelector ();
        outerElNode._inputList = attackMap.dataMap;
        outerElNode.topNode = this;
        outerElNode.inputThreshold = 0.5f;
        outerElNode.outputThreshold = 1.0f;

        distanceFilter = new Node_DistanceFilter ();
        distanceFilter._inputVar = blackboard.subject;
        distanceFilter._inputList = outerElNode._outputList;
        distanceFilter.inputThreshold = 0.5f;
        distanceFilter.outputThreshold = 0.5f;

        bestVal = new Node_BestValue ();
        bestVal.topQuantity = 1;
        bestVal._inputList = distanceFilter._outputList;

        addTargetNode = new Node_AddTarget ();
        addTargetNode.inputIds = bestVal._outputList;
        addTargetNode.controlledElement = blackboard.subject;

        lowerNodes.Add (outerElNode);
        lowerNodes.Add (distanceFilter);
        lowerNodes.Add (bestVal);
        lowerNodes.Add (addTargetNode);

        aiBlock.coreNodes = lowerNodes;
        aiBlock.dataNodes.Add (attackMap);
    }