| | |
| | | } |
| | | } |
| | | |
| | | //所有回答的 |
| | | //所有回答的 两游戏在用 |
| | | var answerItems = Dictionary<Int,Any>() //{page:0,data:String,currectAt:0} |
| | | var answerCount = BehaviorRelay<Int>(value: 1) |
| | | |
| | |
| | | required init?(coder: NSCoder) { |
| | | fatalError("init(coder:) has not been implemented") |
| | | } |
| | | |
| | | |
| | | override func viewDidDisappear(_ animated: Bool) { |
| | | super.viewDidDisappear(animated) |
| | | sceneDelegate?.suspendTimer() |
| | | } |
| | | |
| | | override func viewDidLoad() { |
| | | super.viewDidLoad() |
| | | |
| | |
| | | GameBeginTipView.show { |
| | | if let data = result.data{ |
| | | weakSelf.data = data |
| | | (weakSelf.data as! Listen1Model).data?.playNow = true |
| | | weakSelf.pageVC.reloadData() |
| | | } |
| | | } |
| | |
| | | |
| | | private func setPages(){ |
| | | switch viewModel.listenType.value{ |
| | | case .lesson1,.lesson2,.lesson5: |
| | | case .lesson1,.lesson5: |
| | | label_pageNum.text = "已完成:\(viewModel.answerCount.value)/\((data as! ListenNewModel).subjectList.flatMap({$0}).count)" |
| | | case .lesson3: |
| | | case .lesson2,.lesson3: |
| | | label_pageNum.text = "已完成:\(viewModel.currentPage.value + 1)/\((data as! ListenNewModel).subjectList.count)" |
| | | case .lesson4: |
| | | //两题为一组:需要/2 |
| | |
| | | let count = (data as! Listen1Model).storyList.count |
| | | viewModel.maxPage.accept(count) |
| | | label_pageNum.text = "已完成:\(viewModel.currentPage.value + 1)/\(count)" |
| | | |
| | | if viewModel.listenType.value == .story2{ |
| | | btn_next.isHidden = (viewModel.currentPage.value + 1) == viewModel.maxPage.value |
| | | if btn_next.isHidden{ |
| | | btn_exit.setTitle("完成", for: .normal) |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | private func gamesComplete(gameId:Int,integral:Int){ |
| | | |
| | | var name = "" |
| | | var accuracy:Int = 0 |
| | | var totalNum:Double = 0 |
| | | var toalIntegral:Int = 0 |
| | | |
| | | if viewModel.listenType.value == .game1{ |
| | | name = "超级听力" |
| | | totalNum = Double(viewModel.correctNum + viewModel.errorNum) |
| | | if totalNum > 0{ |
| | | accuracy = Int(Double(viewModel.correctNum) / totalNum * 100) |
| | | } |
| | | toalIntegral = floor(Double(integral) * (Double(accuracy) / 100.0)).int |
| | | }else{ |
| | | name = "超级记忆" |
| | | let v = viewModel.answerItems.first?.value as! Listen1Model |
| | | totalNum = Double(v.photoList.count) |
| | | if totalNum > 0{ |
| | | accuracy = Int(Double(viewModel.correctNum) / Double(viewModel.correctNum + viewModel.errorNum) * 100) |
| | | } |
| | | toalIntegral = floor(Double(integral) * (Double(accuracy) / 100.0)).int |
| | | } |
| | | |
| | | let accuracy = Int(Double(viewModel.correctNum) / Double(viewModel.correctNum + viewModel.errorNum) * 100) |
| | | |
| | | Services.completeGames(gameId: gameId, gameName: name, difficulty: viewModel.gameLevel.value, accuracy: accuracy, useTime: viewModel.times).subscribe(onNext: {data in |
| | | NotificationCenter.default.post(name: Refresh_ListenSchedule_Noti, object: nil) |
| | |
| | | |
| | | timer.invalidate() |
| | | |
| | | let vc = HomeStudyCompleteVC(correctNum: viewModel.correctNum, errorNum: viewModel.errorNum, totalCoin: integral, listenType: viewModel.listenType.value) |
| | | let vc = HomeStudyCompleteVC(correctNum: viewModel.correctNum, errorNum: viewModel.errorNum, totalCoin: toalIntegral, listenType: viewModel.listenType.value,totalNum:totalNum.int) |
| | | vc.title = viewModel.listenType.value.rawTitle |
| | | push(vc: vc) |
| | | } |
| | |
| | | if btn_exit.titleLabel?.text == "完成"{ |
| | | if viewModel.listenType.value == .story2{ |
| | | let v = data as! Listen1Model |
| | | let accuracy = Int(Double(viewModel.correctNum) / Double(viewModel.correctNum + viewModel.errorNum) * 100) |
| | | let accuracy = 100 |
| | | storyComplete(storyId: v.data!.id, accuracy: accuracy, studyTime: viewModel.times, type: 1, integral: v.data!.lookIntegral) |
| | | } |
| | | }else{ |