Example #1
0
        public TimeSpan GetAverageTimeByResult(EncounterResult result)
        {
            if (!LogCountsByResult.TryGetValue(result, out int resultCount))
            {
                resultCount = 1;
            }

            if (!TimeSpentByResult.TryGetValue(result, out TimeSpan time))
            {
                time = TimeSpan.Zero;
            }

            return(new TimeSpan(time.Ticks / resultCount));
        }
Example #2
0
        public double GetSuccessRate()
        {
            if (!LogCountsByResult.TryGetValue(EncounterResult.Success, out int successes))
            {
                successes = 0;
            }

            if (!LogCountsByResult.TryGetValue(EncounterResult.Failure, out int failures))
            {
                failures = 0;
            }

            if (successes + failures == 0)
            {
                // Only unknown results are present, instead of returning NaN we return a success rate of 0.
                return(0);
            }

            return((double)successes / (successes + failures));
        }