//private void Method<BehaviorSnippet>(List<BehaviourSnippet> foos)

    public void AddNewSnippet(BehaviorSnippet newSnippet)
    {
        if (!ContainsType(newSnippet.name))
        {
            availableActions.Add(newSnippet);
        }
    }
 static bool IsHungerRelated(BehaviorSnippet x)
 {
     if (x.typeOfAction == UtilityType.MAKE_BREAD || x.typeOfAction == UtilityType.GET_BREAD)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
    // Update is called once per frame
    void Update()
    {
        CheckForNewActionConditions();

        evalTree.UpdateTree();
        BehaviorSnippet currentSnippet = evalTree.FindCurrentAction();

        if (currentSnippet != null)
        {
            currentSnippet.BehaviorUpdate();
            movementScript.targetObj = currentSnippet.target;
            currentActionHeader.text = currentSnippet.currentActionName;
            currentGoalHeader.text   = currentSnippet.name;
        }
    }
    public BehaviorSnippet FindCurrentAction()
    {
        BehaviorSnippet currentHighest = null;

        foreach (BehaviorSnippet current in availableActions)
        {
            if (currentHighest == null)
            {
                currentHighest = current;
            }

            if (current.actionValue > currentHighest.actionValue)
            {
                currentHighest = current;
            }
        }

        return(currentHighest);
    }