guide/Guibe/SecondGameLearnViewController.swift
2019-06-12 02:34:42 +01:00

136 lines
4.2 KiB
Swift

//
// SecondGameLearnViewController.swift
// Guibe
//
// Created by Max Hunt on 11/06/2019.
// Copyright © 2019 8. All rights reserved.
//
import UIKit
import AVKit
class SecondGameLearnViewController: UIViewController, AVAudioPlayerDelegate {
@IBOutlet weak var textLabel: UILabel!
@IBOutlet weak var mainButton: UIButton!
@IBOutlet weak var nextBtn: UIButton!
@IBOutlet weak var progressBar: UIProgressView!
@IBAction func mainBtnPressed(_ sender: Any) {
audioPlay(fName: self.fileName)
}
@IBAction func nextBtnPressed(_ sender: Any) {
stepCounter += 1
stepThrough(ptr: stepCounter)
}
@IBAction func backBtnPressed(_ sender: Any) {
self.dismiss(animated: true, completion: nil)
}
var stepCounter: Int = 0
var fileName: String = ""
var player = AVAudioPlayer()
override func viewDidLoad() {
super.viewDidLoad()
textLabel.text = "Now we will learn the different haptic patterns for navigationg with Guibe"
textLabel.accessibilityLabel = "Now we will learn the different haptic patterns for navigationg with geibe"
mainButton.accessibilityLabel = "Play vibration"
mainButton.alpha = 0.0
// Do any additional setup after loading the view.
}
func stepThrough(ptr:Int) {
switch ptr {
case 1:
beginJourney()
self.fileName = "guibe_begin"
case 2:
arrivedAtDestination()
self.fileName = "guibe_arrived"
case 3:
wrongDirection()
self.fileName = "guibe_wrongdirection"
case 4:
turnRight()
self.fileName = "guibe_right"
case 5:
turnLeft()
self.fileName = "guibe_left"
case 6:
showDone()
self.fileName = "guibe_arrived"
case 7:
nextPage()
default:
return
}
}
func beginJourney() {
UIView.animate(withDuration: 0.5, animations: {self.mainButton.alpha = 1.0})
self.textLabel.fadeTransition(0.5)
self.textLabel.text = "This means \n'begin journey'"
self.progressBar.setProgress(0.2, animated: true)
self.textLabel.accessibilityLabel = "This means begin journey"
}
func arrivedAtDestination() {
self.textLabel.fadeTransition(0.5)
self.textLabel.text = "This means \n'arrived at destination'"
self.progressBar.setProgress(0.4, animated: true)
self.textLabel.accessibilityLabel = "This means arrived at destination"
}
func wrongDirection() {
self.textLabel.fadeTransition(0.5)
self.textLabel.text = "This means \n'you're walking in the wrong direction'"
self.progressBar.setProgress(0.6, animated: true)
self.textLabel.accessibilityLabel = "This means you're walking in the wrong direction"
}
func turnRight() {
self.textLabel.fadeTransition(0.5)
self.textLabel.text = "This means \n'turn right'"
self.progressBar.setProgress(0.8, animated: true)
self.textLabel.accessibilityLabel = "This means turn right"
}
func turnLeft() {
self.textLabel.fadeTransition(0.5)
self.textLabel.text = "This means \n'turn left'"
self.progressBar.setProgress(1.0, animated: true)
self.textLabel.accessibilityLabel = "This means turn left"
}
func showDone() {
self.textLabel.fadeTransition(0.5)
self.textLabel.text = "You are all set!"
UIView.animate(withDuration: 0.5, animations: {self.mainButton.alpha = 0.0})
self.progressBar.alpha = 0.0
self.textLabel.accessibilityLabel = "You are all set"
}
func nextPage() {
self.dismiss(animated: true, completion: nil)
}
func audioPlay (fName: String) {
let path = Bundle.main.path(forResource: fName, ofType : "mp3")!
let url = URL(fileURLWithPath : path)
do {
player = try AVAudioPlayer(contentsOf: url)
player.delegate = self
player.play()
} catch {
debugPrint("Error in playing sound file \(fName).mp3")
}
}
}