Example #1
0
 public Rosary()
 {
     foreach (Mystery mystery in (Mystery[])Enum.GetValues(typeof(Mystery)))
     {
         FreeMysteries.Add(mystery);
     }
     LockedMysteries.Add(new LockedMystery(Mystery.Empty));
 }
Example #2
0
        private Mystery _getNextMystery(Func <Mystery, LockedMystery> lockMystery)
        {
            var mystery = FreeMysteries.ElementAt(0);

            foreach (var lMystery in LockedMysteries)
            {
                if (!lMystery.IsLocked())
                {
                    mystery = lMystery.Mystery;
                    LockedMysteries.Remove(lMystery);
                    break;
                }
            }

            if (mystery != Mystery.Empty)
            {
                FreeMysteries.Remove(mystery);
                LockedMysteries.Add(lockMystery(mystery));
            }

            return(mystery);
        }
Example #3
0
 public void Finish(Mystery mystery)
 {
     FinishedMysteries.Add(mystery);
     FreeMysteries.Remove(mystery);
     LockedMysteries.RemoveAll(lm => lm.Mystery == mystery);
 }