OSDN Git Service

Timerをクロージャ方式にした
[kcd/KCD.git] / KCD / NyukyoSpeedChangeCommand.swift
index eb61a52..fd9471a 100644 (file)
@@ -10,23 +10,23 @@ import Cocoa
 
 final class NyukyoSpeedChangeCommand: JSONCommand {
     
-    override class func canExecuteAPI(_ api: String) -> Bool {
+    override class func canExecuteAPI(_ api: API) -> Bool {
         
-        if api == "/kcsapi/api_req_nyukyo/speedchange" { return true }
-        
-        return false
+        return api.endpoint == .speedChange
     }
     
     override func execute() {
         
         let store = ServerDataStore.oneTimeEditor()
-        
-        let nDock = parameter["api_ndock_id"].int.flatMap(store.nyukyoDock(by:))
-        
-        nDock.flatMap { $0.ship_id }.flatMap(store.ship(by:)).map { $0.nowhp = $0.maxhp }
-        nDock?.ship_id = 0
-        nDock?.state = 0
-        
-        store.material().map { $0.kousokushuhuku = $0.kousokushuhuku - 1 }
+        store.sync {
+            
+            let nDock = self.parameter["api_ndock_id"].int.flatMap(store.nyukyoDock(by:))
+            
+            nDock.flatMap { $0.ship_id }.flatMap(store.ship(by:)).map { $0.nowhp = $0.maxhp }
+            nDock?.ship_id = 0
+            nDock?.state = 0
+            
+            store.material().map { $0.kousokushuhuku = $0.kousokushuhuku - 1 }
+        }
     }
 }