public Burden GetTopBurdenByCategory(BurdenCategory cat)
 {
     if (d_heldBurdens[cat].Count == 0)
     {
         Debug.LogWarning("requested a random " + cat.ToString() + " from " + ContainerName + " but they had none");
         return(null);
     }
     else
     {
         return(d_heldBurdens[cat][0]);
     }
 }
    List <Burden> Find(BurdenCategory key)
    {
        for (var i = 0; i < m_Data.Count; i++)
        {
            var pair = m_Data[i];
            if (key == pair.Category)
            {
                return(pair.Burdens);
            }
        }

        return(null);
    }
 public bool TryGetValue(BurdenCategory key, out List <Burden> value)
 {
     value = Find(key);
     return(value != null);
 }
    public void Add(BurdenCategory key, List <Burden> clones)
    {
        Assert.IsFalse(Find(key) != null);

        m_Data.Add(new Pair(key, clones));
    }
 public bool ContainsKey(BurdenCategory key) => Find(key) != null;
 public List <Burden> this[BurdenCategory key] => Find(key);
 public Pair(BurdenCategory category, List <Burden> burdens)
 {
     Category = category;
     Burdens  = burdens;
 }