LuckyBoxApp.swift
//
// LuckyBoxApp.swift
// LuckyBox
//
// Created by akira ohmachi on 2021/04/07.
//
import SwiftUI
import UIKit
import GoogleMobileAds
// AppDelegateクラスを定義する
class AppDelegate: NSObject, UIApplicationDelegate {
func application(_ application: UIApplication,didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
// Mobile Ads SDKを初期化する
GADMobileAds.sharedInstance().start(completionHandler: nil)
return true
}
}
@main
struct LuckyBoxApp: App {
// SwiftUI AppライフサイクルにAppDelegateクラスを注入する
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
var body: some Scene {
WindowGroup {
ContentView().environmentObject(PublicManager())
}
}
}
PublicManager.swift
//
// PublicManager.swift
// LuckyBox
//
// Created by akira ohmachi on 2021/04/07.
//
import SwiftUI
import GoogleMobileAds
class PublicManager: ObservableObject {
@Published var isSetting: Bool = false
@AppStorage("item1name") var item1name: String = ""
@AppStorage("item2name") var item2name: String = ""
@AppStorage("item3name") var item3name: String = ""
@AppStorage("item4name") var item4name: String = ""
@AppStorage("item5name") var item5name: String = ""
@AppStorage("item6name") var item6name: String = ""
@AppStorage("item7name") var item7name: String = ""
@AppStorage("item8name") var item8name: String = ""
@AppStorage("item9name") var item9name: String = ""
@AppStorage("item10name") var item10name: String = ""
@AppStorage("item1qty") var item1qty: Int = 0
@AppStorage("item2qty") var item2qty: Int = 0
@AppStorage("item3qty") var item3qty: Int = 0
@AppStorage("item4qty") var item4qty: Int = 0
@AppStorage("item5qty") var item5qty: Int = 0
@AppStorage("item6qty") var item6qty: Int = 0
@AppStorage("item7qty") var item7qty: Int = 0
@AppStorage("item8qty") var item8qty: Int = 0
@AppStorage("item9qty") var item9qty: Int = 0
@AppStorage("item10qty") var item10qty: Int = 0
@AppStorage("pin") var pin: String = ""
@Published var tmpPin: String = ""
struct Item {
var name: String
var qty: Int
init(name: String, qty: Int) {
self.name = name
self.qty = qty
}
}
var items: Array<Item> = [
Item(name: "", qty: 0),
Item(name: "", qty: 0),
Item(name: "", qty: 0),
Item(name: "", qty: 0),
Item(name: "", qty: 0),
Item(name: "", qty: 0),
Item(name: "", qty: 0),
Item(name: "", qty: 0),
Item(name: "", qty: 0),
Item(name: "", qty: 0),
]
struct TmpItem {
var name: String
var qty: String
init(name: String, qty: String) {
self.name = name
self.qty = qty
}
}
var tmpItems: Array<TmpItem> = [
TmpItem(name: "", qty: ""),
TmpItem(name: "", qty: ""),
TmpItem(name: "", qty: ""),
TmpItem(name: "", qty: ""),
TmpItem(name: "", qty: ""),
TmpItem(name: "", qty: ""),
TmpItem(name: "", qty: ""),
TmpItem(name: "", qty: ""),
TmpItem(name: "", qty: ""),
TmpItem(name: "", qty: ""),
]
func saveItems() {
self.item1name = self.items[0].name
self.item1qty = self.items[0].qty
self.item2name = self.items[1].name
self.item2qty = self.items[1].qty
self.item3name = self.items[2].name
self.item3qty = self.items[2].qty
self.item4name = self.items[3].name
self.item4qty = self.items[3].qty
self.item5name = self.items[4].name
self.item5qty = self.items[4].qty
self.item6name = self.items[5].name
self.item6qty = self.items[5].qty
self.item7name = self.items[6].name
self.item7qty = self.items[6].qty
self.item8name = self.items[7].name
self.item8qty = self.items[7].qty
self.item9name = self.items[8].name
self.item9qty = self.items[8].qty
self.item10name = self.items[9].name
self.item10qty = self.items[9].qty
}
func loadItems() {
self.items[0].name = self.item1name
self.items[0].qty = self.item1qty
self.items[1].name = self.item2name
self.items[1].qty = self.item2qty
self.items[2].name = self.item3name
self.items[2].qty = self.item3qty
self.items[3].name = self.item4name
self.items[3].qty = self.item4qty
self.items[4].name = self.item5name
self.items[4].qty = self.item5qty
self.items[5].name = self.item6name
self.items[5].qty = self.item6qty
self.items[6].name = self.item7name
self.items[6].qty = self.item7qty
self.items[7].name = self.item8name
self.items[7].qty = self.item8qty
self.items[8].name = self.item9name
self.items[8].qty = self.item9qty
self.items[9].name = self.item10name
self.items[9].qty = self.item10qty
var empty: Bool = true
for i in 0..<items.count {
if self.items[i].name != "" {
empty = false
break
}
}
if empty {
self.items[0].name = NSLocalizedString("rank1", comment: "rank1")
self.items[0].qty = 1
self.items[1].name = NSLocalizedString("rank2", comment: "rank2")
self.items[1].qty = 3
self.items[2].name = NSLocalizedString("rank3", comment: "rank3")
self.items[2].qty = 5
self.items[3].name = NSLocalizedString("rank4", comment: "rank4")
self.items[3].qty = 10
self.items[4].name = NSLocalizedString("rank5", comment: "rank5")
self.items[4].qty = 20
self.items[5].name = NSLocalizedString("rank6", comment: "rank6")
self.items[5].qty = 20
self.items[6].name = NSLocalizedString("rank7", comment: "rank7")
self.items[6].qty = 30
self.saveItems()
}
}
//--------------------------------------------------
//adMob
struct AdView: UIViewRepresentable {
func makeUIView(context: Context) -> GADBannerView {
let banner = GADBannerView(adSize: kGADAdSizeBanner)
#if DEBUG
banner.adUnitID = "ca-app-pub-3940256099942544/2934735716"
#else
banner.adUnitID = "ca-app-pub-0000000000000000/0000000000"
#endif
banner.rootViewController = UIApplication.shared.windows.first?.rootViewController
banner.load(GADRequest())
return banner
}
func updateUIView(_ uiView: GADBannerView, context: Context) {
}
}
//--------------------------------------------------
}