public PlayerPuzzleData(IGameDataArchive archive, InMemoryDatabase.PlayerProfile profile, int uid)
 {
     this.archive = archive;
     this.profile = profile;
     this.uid     = uid;
     this.entry   = profile[uid];
 }
        public static InMemoryDatabase ReadFromArchive(IGameDataArchive archive)
        {
            var gameData = CreateEmpty();

            foreach (var playerName in archive.PlayerNames)
            {
                var profile = archive.ReadPlayerProfile(playerName);
                gameData.Players.AddProfile(profile);
            }

            foreach (var uid in archive.PuzzleLibraryUIDs)
            {
                var entry = archive.ReadPuzzleLibraryEntry(uid);
                gameData.Puzzles.Add(entry);
            }

            return(gameData);
        }
 public PlayerDatabase(IGameDataArchive archive, InMemoryDatabase.PlayerDatabase playerDatabase)
 {
     this.archive        = archive;
     this.playerDatabase = playerDatabase;
 }
 public PuzzleDatabaseEntry(IGameDataArchive archive, InMemoryDatabase.PuzzleLibraryEntry entry)
 {
     this.archive = archive;
     this.entry   = entry;
 }
 public PuzzleDatabase(IGameDataArchive archive, InMemoryDatabase.PuzzleLibrary puzzleLibrary)
 {
     this.archive       = archive;
     this.puzzleLibrary = puzzleLibrary;
 }
 public ArchiveDatabase(string path)
 {
     this.database = InMemoryDatabase.ReadFromArchive(path);
     this.archive  = new AutoCloseGameDataArchive(path);
 }
 public PlayerProfileData(IGameDataArchive archive, InMemoryDatabase.PlayerProfile profile)
 {
     this.archive = archive;
     this.profile = profile;
 }