Exemple #1
0
        public IEnumerable <CpStatus> AllCPs()
        {
            var currentCp = CheckPoint.Current();
            int cpMax;

            if (Cycle.Id == currentCp.Cycle.Id)
            {
                cpMax = currentCp.CP;
            }
            else if (Cycle.Id < currentCp.Cycle.Id)
            {
                cpMax = 35;
            }
            else
            {
                cpMax = 0;
            }

            for (var i = 1; i <= 35; i++)
            {
                CpScore score;
                if (_scores.TryGetValue(i, out score))
                {
                    yield return(new RecordedScore(score, Cycle, i));

                    continue;
                }
                if (i <= cpMax)
                {
                    yield return(new MissingScore(i, Cycle));

                    continue;
                    //return MissingCps;
                }
                yield return(new FutureScore(i, Cycle));
            }
        }