GBA-8-19/Delta/FirstBootGuide/FirstBootGuide.swift
2024-06-14 17:15:51 +08:00

115 lines
3.9 KiB
Swift

//
// 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)
}
}