diff --git a/app/src/main/java/com/example/android/unscramble/ui/game/GameFragment.kt b/app/src/main/java/com/example/android/unscramble/ui/game/GameFragment.kt index cb29d0dc5fa648c9f9f2bc33da1cd9b2b0c0b27c..f11d419901e01610c6b22e0f9426dee20642958a 100644 --- a/app/src/main/java/com/example/android/unscramble/ui/game/GameFragment.kt +++ b/app/src/main/java/com/example/android/unscramble/ui/game/GameFragment.kt @@ -44,12 +44,14 @@ class GameFragment : Fragment() { // If the fragment is re-created, it receives the same GameViewModel instance created by the // first fragment + override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { binding = GameFragmentBinding.inflate(inflater, container, false) - Log.d("GameFragment", "GameFragment created/re-created!") + Log.d("GameFragment", "Word: ${viewModel.currentScrambledWord} " + + "Score: ${viewModel.score} WordCount: ${viewModel.currentWordCount}") return binding.root } @@ -95,7 +97,12 @@ class GameFragment : Fragment() { * Increases the word count. */ private fun onSkipWord() { - + if (viewModel.nextWord()) { + setErrorTextField(false) + updateNextWordOnScreen() + } else { + showFinalScoreDialog() + } } /* @@ -112,6 +119,7 @@ class GameFragment : Fragment() { * restart the game. */ private fun restartGame() { + viewModel.reinitializeData() setErrorTextField(false) updateNextWordOnScreen() } diff --git a/app/src/main/java/com/example/android/unscramble/ui/game/GameViewModel.kt b/app/src/main/java/com/example/android/unscramble/ui/game/GameViewModel.kt index 69cdfd0a7c720474ce3ea8db613152d016c3fc0a..96b8b8c80eace1eddfeb25a84efcd869a6048248 100644 --- a/app/src/main/java/com/example/android/unscramble/ui/game/GameViewModel.kt +++ b/app/src/main/java/com/example/android/unscramble/ui/game/GameViewModel.kt @@ -62,5 +62,12 @@ class GameViewModel: ViewModel() { return false } + fun reinitializeData() { + _score = 0 + _currentWordCount = 0 + wordsList.clear() + getNextWord() + } + } \ No newline at end of file