private void _syncAllCallbackUI(bool requestOk, SyncAllResponse res) { puzzlesListBox.IsEnabled = true; buttonSyncAll.Click += buttonSyncAll_Click; buttonSyncAll.Style = (Style)Resources["ScoresSyncButtonStyle"]; if (!requestOk) { Canvas.SetZIndex(syncErrorDialog, 3); syncErrorDialog.Visibility = Visibility.Visible; return; } int count = res.bestResults.Length; for (int i = 0; i < count; ++i) { PuzzleViewInfo curPVI = (PuzzleViewInfo)puzzlesListBox.Items[i]; Puzzle curPuzzle = puzzleAdapter.puzzleDic[res.bestResults[i].puzzleid]; curPuzzle.easyp = res.bestResults[i].placeeasy; curPuzzle.mediump = res.bestResults[i].placemedium; curPuzzle.hardp = res.bestResults[i].placehard; curPuzzle.expertp = res.bestResults[i].placeexpert; curPuzzle.moveseasyb = res.bestResults[i].moveseasy; curPuzzle.movesmediumb = res.bestResults[i].movesmedium; curPuzzle.moveshardb = res.bestResults[i].moveshard; curPuzzle.movesexpertb = res.bestResults[i].movesexpert; curPuzzle.timeeasyb = res.bestResults[i].timeeasy; curPuzzle.timemediumb = res.bestResults[i].timemedium; curPuzzle.timehardb = res.bestResults[i].timehard; curPuzzle.timeexpertb = res.bestResults[i].timeexpert; curPuzzle.userlisteasy = res.bestResults[i].userlisteasy; curPuzzle.userlistmedium = res.bestResults[i].userlistmedium; curPuzzle.userlisthard = res.bestResults[i].userlisthard; curPuzzle.userlistexpert = res.bestResults[i].userlistexpert; curPVI.update(curPuzzle); } puzzlesListBox.Visibility = Visibility.Visible; puzzleAdapter.saveScores(); }
public void puzzleAssembled() { assembled = true; switch (diff) { case Difficulty.EASY: prevTime = puzzle.timeeasy; prevMoves = puzzle.moveseasy; break; case Difficulty.MEDIUM: prevTime = puzzle.timemedium; prevMoves = puzzle.movesmedium; break; case Difficulty.HARD: prevTime = puzzle.timehard; prevMoves = puzzle.moveshard; break; case Difficulty.EXPERT: prevTime = puzzle.timeexpert; prevMoves = puzzle.movesexpert; break; } bool betterScore = (imoves < prevMoves) || (imoves == prevMoves && itime < prevTime) || (prevMoves == 0 && prevTime == 0); if (betterScore) { beterScoreText.Text = " Better score achieved!"; } else { beterScoreText.Text = " "; } res1.Text = " Time: " + time + "; Moves: " + moves; res2.Text = " Time: " + Utils.formatTime(prevTime) + "; Moves: " + prevMoves; if (betterScore) { switch (diff) { case Difficulty.EASY: puzzle.timeeasy = itime; puzzle.moveseasy = imoves; break; case Difficulty.MEDIUM: puzzle.timemedium = itime; puzzle.movesmedium = imoves; break; case Difficulty.HARD: puzzle.timehard = itime; puzzle.moveshard = imoves; break; case Difficulty.EXPERT: puzzle.timeexpert = itime; puzzle.movesexpert = imoves; break; } puzzleAdapter.saveScores(); } nextPuzzleOpened = (puzzleAdapter.selectedPuzzle == puzzleAdapter.puzzle[puzzleAdapter.openedPuzzles - 1].id) && puzzleAdapter.openNewPuzzle(); if (nextPuzzleOpened) { puzzleAdapter.saveSettings(); nextPuzzleOpened = true; buttonNextPuzzle.Visibility = Visibility.Visible; } scorePanel.Visibility = Visibility.Visible; buttonUpload.Visibility = Visibility.Visible; buttonPause.Visibility = Visibility.Collapsed; uploaded = false; }