// // FirstBootGuide.swift // Hthik // // Created by aaa on 2024/6/6. // Copyright © 2024 Hthik. All rights reserved. // import Foundation import UIKit let initGameArr:[String] = ["lx_Pong","lx_AirCombat","lx_GBAkk"] class FirstBootGuide:UIViewController { lazy var bgImgView:UIImageView = { let imgView = UIImageView() imgView.contentMode = .scaleAspectFill imgView.image = UIImage(named: "new_fbg_bg") return imgView }() lazy var topImgView:UIImageView = { let imgView = UIImageView() imgView.contentMode = .scaleAspectFit imgView.image = UIImage(named:"new_fbg_title") return imgView }() lazy var bottomBtn:UIButton = { let btn = UIButton() btn.addTarget(self, action: #selector(enterNow), for: .touchUpInside) btn.setImage(UIImage(named: "new_fbg_guidebtn"), for: .normal) return btn }() lazy var shadowImgView:UIImageView = { let imgView = UIImageView() imgView.contentMode = .scaleAspectFill imgView.image = UIImage(named: "new_fbg_shadow") return imgView }() lazy var tipImgView:UIImageView = { let imgView = UIImageView() imgView.contentMode = .scaleAspectFit imgView.image = UIImage(named: "new_fbg_tips") return imgView }() override func viewDidLoad() { super.viewDidLoad() self.view.addSubview(bgImgView) bgImgView.frame = self.view.bounds self.view.addSubview(topImgView) topImgView.frame = CGRect(x: 61, y: 59, width: UIScreen.main.bounds.size.width - 122, height: 79) self.view.addSubview(shadowImgView) shadowImgView.frame = CGRect(x: 0, y: UIScreen.main.bounds.size.height - 310, width: UIScreen.main.bounds.size.width, height: 310) self.view.addSubview(bottomBtn) bottomBtn.frame = CGRect(x: 50, y: UIScreen.main.bounds.size.height - 110, width: UIScreen.main.bounds.size.width - 100, height: 72) // self.view.backgroundColor = .orange initGameArr.enumerated().forEach { index,name in setupGames(name,index == 0) print("正在导入游戏index:\(index) name:\(name)") } } //进入游戏 @objc func enterNow(){ self.dismiss(animated: false) } func setupGames(_ name:String,_ isShow:Bool){ let path = Bundle.main.path(forResource: name, ofType: "gba") let url = URL(fileURLWithPath: path!)//URL(string: ) let gameURLs = [url] DatabaseManager.shared.importGames(at: Set(gameURLs)) { [weak self] (games, errors) in if games.count > 0 && isShow { print("Imported Games:", games.map { $0.name }) self?.loadGameView(games.first) } } } func loadGameView(_ game:Game?) { let sb = UIStoryboard(name: "Main", bundle: Bundle.main) let vc = sb.instantiateViewController(withIdentifier: "zzhgameViewController") as! GameViewController self.view.addSubview(vc.view) self.addChild(vc) vc.view.frame = CGRectMake(0, 116, self.view.frame.size.width - 0, self.view.frame.size.height - 116 - 40) vc.zbgImgView.isHidden = true vc.view.backgroundColor = .clear self.view.bringSubviewToFront(shadowImgView) self.view.bringSubviewToFront(bottomBtn) NotificationCenter.default.post(name: NSNotification.Name("kzzhAddGameToAppNotificationKey"), object: nil) // DispatchQueue.main.asyncAfter(deadline: .now()+0.3, execute: { vc.game = game // 必须同步否则会有黑闪 vc.emulatorCore?.start() // vc.emulatorCore?.pause() // }) self.view.addSubview(tipImgView) tipImgView.frame = CGRectMake((self.view.frame.size.width - 150)*0.5 - 44, 460, 280, 170) } }