public static InMemoryDatabase CreateEmpty()
        {
            var puzzles = PuzzleLibrary.CreateEmpty();
            var players = PlayerDatabase.CreateEmpty();

            return(new InMemoryDatabase(puzzles, players));
        }
 public InMemoryDatabase(PuzzleLibrary library, PlayerDatabase playerDatabase)
 {
     if (library == null)
     {
         throw new ArgumentNullException(nameof(library));
     }
     else if (playerDatabase == null)
     {
         throw new ArgumentNullException(nameof(playerDatabase));
     }
     else
     {
         this.Puzzles = library;
         this.Players = playerDatabase;
     }
 }
 public bool Equals(PuzzleLibrary library)
 {
     if (library == null)
     {
         return(false);
     }
     else
     {
         if (this.entries.Count != library.entries.Count)
         {
             return(false);
         }
         else
         {
             return(Enumerable.Range(0, this.entries.Count).All(i => entries[i].Equals(library.entries[i])));
         }
     }
 }
 void Awake()
 {
     Instance = this;
 }