private int CurrentCount(ResourceToken.Type type)
        {
            int value = 0;

            consumedResources.TryGetValue(type, out value);
            return(value);
        }
 public void Take(ResourceToken.Type type)
 {
     if (!consumedResources.ContainsKey(type))
     {
         consumedResources[type] = 0;
     }
     consumedResources[type]++;
 }
 private int RequiredCount(ResourceToken.Type val)
 {
     if (requirements.Any(x => x.type == val))
     {
         return(requirements.First(x => x.type == val).quantity);
     }
     else
     {
         return(0);
     }
 }
 public bool Accepts(ResourceToken.Type type)
 {
     return(CurrentCount(type) < RequiredCount(type));
 }