Exemple #1
0
        protected void UpdatePercentage(LeaderboardScore score)
        {
            // find new percentage
            LeaderboardPercentage percentage = null;

            foreach (var item in cachedPercentages)
            {
                if (percentage.lowerBorder < score.score)
                {
                    score.percentage = item;
                }
            }
        }
Exemple #2
0
        public void UpdateCache()
        {
            // Sort scores
            // needs using System.Linq;
            var result = scores.OrderBy((arg) => arg.Value.score);

            var playerInOneStep = scores.Count / 100;

            // Calcualte and store the percentage cache
            for (int i = 0; i < 100; i++)
            {
                LeaderboardPercentage percentage = cachedPercentages[i];
                percentage.percentage  = i + 1;
                percentage.lowerBorder = scores.ElementAt(playerInOneStep * i).Value.score;
                percentage.upperBorder = scores.ElementAt(playerInOneStep * (i + 1)).Value.score;
                percentage.playerCount = playerInOneStep;
            }
        }