I'm making a game that has a crafting system. I'm trying to get a list of recipes, but only show the ones the player has enough of in their inventory. I'm having difficulty figuring out this query. Here are my stripped down classes:

```
public class GameItem
{
    public string itemName;
    public int quantityHeld;
}

public class GameItemRecipe : GameItem
{
    public GameItemIngredient[] giiIngredients;
}

public class GameItemIngredient : GameItem
{        
    public int quantityNeeded;
}

```

So I have a list of GameItems; that is the player's inventory. Then I have a separate list of Recipes that the Player knows. The Recipes have a sub list of the ingredients required to make it. So I want to get the list of recipes that have enough items in the inventory. Any help is appreciated.