import Cocoa
-extension Notification.Name {
-
- static let DidPrepareFleet = Notification.Name("com.masakih.KCD.Notification.DidPrepareFleet")
-}
-
final class FleetManager: NSObject {
override init() {
setNewFleetNumberToShip()
return
-
}
super.observeValue(forKeyPath: keyPath, of: object, change: change, context: context)
guard fleets.count == 4 else {
- print("Can not create Fleet")
- return
+ return Logger.shared.log("Can not create Fleet")
}
if fleets[0].ships.isEmpty {
- let center = NotificationCenter.default
- var token: NSObjectProtocol!
- token = center.addObserver(forName: .PortAPIReceived, object: nil, queue: nil) {_ in
-
- center.removeObserver(token)
- self.setupFleetController()
- center.post(name: .DidPrepareFleet, object: self)
+ NotificationCenter.default
+ .addObserverOnce(forName: .PortAPIReceived, object: nil, queue: nil) { _ in
+
+ DispatchQueue.main.async(execute: self.setupFleetController)
+ DispatchQueue.main.async(execute: self.setNewFleetNumberToShip)
}
} else {
setupFleetController()
-
}
}