Mercurial > public > geoquiz
diff GeoQuiz/Helpers/GameAlertsModifier.swift @ 3:4dbe0cd9dadc
first game prototype
author | Dennis C. M. <dennis@denniscm.com> |
---|---|
date | Thu, 22 Sep 2022 10:42:39 +0200 |
parents | |
children | de54f05adb78 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/GeoQuiz/Helpers/GameAlertsModifier.swift Thu Sep 22 10:42:39 2022 +0200 @@ -0,0 +1,36 @@ +// +// GameAlertsModifier.swift +// GeoQuiz +// +// Created by Dennis Concepción Martín on 22/9/22. +// + +import SwiftUI + +struct GameAlertsModifier<T: Game>: ViewModifier { + @ObservedObject var game: T + @Binding var gameName: GameName? + + func body(content: Content) -> some View { + content + .alert(game.alertTitle, isPresented: $game.showingWrongAnswerAlert) { + Button("Continue", role: .cancel) { game.askQuestion() } + } message: { + Text(game.alertMessage) + } + + .alert(game.alertTitle, isPresented: $game.showingNoLivesAlert) { + Button("Buy lives") { game.showingBuyLivesView = true } + Button("Exit", role: .destructive) { gameName = nil } + Button("Cancel", role: .cancel) { } + } message: { + Text(game.alertMessage) + } + + .alert(game.alertTitle, isPresented: $game.showingEndGameAlert) { + Button("Exit", role: .cancel) { gameName = nil } + } message: { + Text(game.alertMessage) + } + } +}