public Stat this[ModularStat originalStat] {
     get
     {
         Stat outStat = null;
         if (originalToStatDictionary.TryGetValue(originalStat, out outStat))
         {
             return(outStat);
         }
         else
         {
             Debug.LogError("Could not find stat by name + " + originalStat.name);
         }
         return(null);
     }
     set
     {
         Stat outStat = null;
         if (originalToStatDictionary.TryGetValue(originalStat, out outStat))
         {
             outStat.value = value;
         }
         else
         {
             Debug.LogError("Could not find stat by name + " + originalStat.name);
         }
     }
 }
 public bool TryGetValue(ModularStat originalStat, out Stat statWrapper)
 {
     LazyInit();
     return(originalToStatDictionary.TryGetValue(originalStat, out statWrapper));
 }