public GuessFactorData GetGuessFactorData(IEnemy enemy)
        {
            var key = new GFStatKey(enemy);

            if (_stats.ContainsKey(key))
            {
                return(_stats[key].GetGuessFactorData());
            }
            else
            {
                var value = new GFStatValue();
                _stats.Add(key, value);
                return(value.GetGuessFactorData());
            }
        }
 public void UpdateHit(GFStatKey key, double gf)
 {
     if (-1d <= gf && gf <= 1d)
     {
         if (_stats.ContainsKey(key))
         {
             _stats[key].Update(gf);
         }
         else
         {
             var value = new GFStatValue();
             value.Update(gf);
             _stats.Add(key, value);
         }
     }
 }