fix
无故事王国
2024-06-26 46acca18a3d1744e1930f0bac7509a2a5959df1b
DolphinEnglishLearnStudent/Moudle/Home/Listen/VC/HomeListenGame_2_VC.swift
@@ -48,7 +48,7 @@
            }()
            private var timer:Timer?
            private var times:Int = 600
            private var times:Int = 120
            private var voicePlayer = VoicePlayer.share()
            required init(listen1Model:Listen1Model){
@@ -62,6 +62,7 @@
                        for v in listen1Model.voiceList{
                                    v.type = 2 // 音频标识
                        }
                        times = listen1Model.data?.answerTime ?? 120
                        datas.append(contentsOf: listen1Model.photoList)
                        datas.append(contentsOf: listen1Model.voiceList)
@@ -107,7 +108,7 @@
                        view.addSubview(label_time)
                        label_time.snp.makeConstraints { make in
                                    make.left.equalTo(label_surplusTitle.snp.right).offset(0)
                                    make.left.equalTo(label_surplusTitle.snp.right).offset(5)
                                    make.centerY.equalTo(label_surplusTitle)
                                    make.height.equalTo(44)
                        }
@@ -133,7 +134,7 @@
                                    timer = Timer(timeInterval: 1.0, target: self, selector: #selector(runloopTime), userInfo: nil, repeats: true)
                        }
                        timer?.fire()
                        RunLoop.current.add(timer!, forMode: .default)
                        RunLoop.current.add(timer!, forMode: .common)
            }
            @objc private func runloopTime(){
@@ -143,8 +144,10 @@
                        if times == 0{
                                    timer?.fireDate = .distantFuture
                                    DispatchQueue.main.asyncAfter(deadline: .now()+3) {
                                                self.times = 10
                                                self.timer?.fireDate = .distantPast
                                                CommonAlertView.showSimple(content: "答题时间已结束,停止作答", completeTitle: "查看成绩") {
                                                            self.rootViewModel.answerItems[0] = self.listen1Model
                                                            NotificationCenter.default.post(name: NextLession_Noti, object: ["gameId":self.listen1Model.data!.id,"gameIntegral":self.listen1Model.data!.answerIntegral])
                                                }
                                    }
                        }
            }
@@ -164,10 +167,19 @@
                                                lastM?.model.isOpen = true
                                                selectModels.removeAll()
                                                print("相同")
                                                self.rootViewModel.insertCorrectAnswer(teamId: "\(listen1Model.data!.id)", answerId: firstM!.model.id)
                                                viewModel.answerType.accept(.success)
                                                rootViewModel.correctNum += 1
                                                voicePlayer.playSuccessVoice()
                                                self.selectModels.removeAll()
                                                let firstIndexCell = self.collectionView.cellForItem(at: firstM!.indexPath) as! ListenFight_Game_Pocket_CCell
                                                let secondIndexCell = self.collectionView.cellForItem(at: lastM!.indexPath) as! ListenFight_Game_Pocket_CCell
                                                firstIndexCell.setState(success: true)
                                                secondIndexCell.setState(success: true)
                                                DispatchQueue.main.asyncAfter(deadline: .now()+1.0) {
                                                            self.view.isUserInteractionEnabled = true
                                                }
                                    }else{
                                                print("不相同")
                                                viewModel.answerType.accept(.fail)
@@ -178,19 +190,25 @@
                                                let firstIndexCell = self.collectionView.cellForItem(at: firstIndex!) as! ListenFight_Game_Pocket_CCell
                                                let secondIndexCell = self.collectionView.cellForItem(at: secondIndex!) as! ListenFight_Game_Pocket_CCell
                                                firstIndexCell.setState(success: false)
                                                secondIndexCell.setState(success: false)
                                                self.view.isUserInteractionEnabled = false
                                                DispatchQueue.main.asyncAfter(deadline: .now()+3.0){
                                                            firstIndexCell.toBackAction(self.view)
                                                            secondIndexCell.toBackAction(self.view)
                                                            self.selectModels.removeAll()
                                                }
                                                DispatchQueue.main.asyncAfter(wallDeadline: .now()+3.7){
                                                            self.view.isUserInteractionEnabled = true
                                                }
                                    }
                        }
                        let surplusListCount = datas.filter({$0.isOpen == false}).count
                        if surplusListCount == 0{
                                    NotificationCenter.default.post(name: NextLession_Noti, object: ["gameId":listen1Model.data!.id,"gameIntegral":listen1Model.data!.integral])
                                    rootViewModel.answerItems[0] = self.listen1Model
                                    NotificationCenter.default.post(name: NextLession_Noti, object: ["gameId":listen1Model.data!.id,"gameIntegral":listen1Model.data!.answerIntegral])
                                    timer?.invalidate()
                        }
                        print("剩余:\(surplusListCount)")
@@ -224,7 +242,7 @@
                        if selectModels.count == 1{
                                    let cell = self.collectionView.cellForItem(at: indexPath) as! ListenFight_Game_Pocket_CCell
                                    cell.toFromAction(self.view)
                                    cell.toFromAction(self.view,c: true)
                                    if model.type == 2{
                                                //播放
@@ -302,17 +320,18 @@
extension HomeListenGame_2_VC:VoicePlayerDelegate{
            func playComplete() {
                        view.isUserInteractionEnabled = true
//                        view.isUserInteractionEnabled = true
                        //正在播放的语音Cell要归位
                        if let index = currentPayCellIndex{
                                    let cell = collectionView.cellForItem(at: index) as! ListenFight_Game_Pocket_CCell
                                    cell.cellResotePay()
                                    view.isUserInteractionEnabled = true
                        }
                        checking()
            }
            func playing() {
                        view.isUserInteractionEnabled = false
//                        view.isUserInteractionEnabled = false
            }
}