OSDN Git Service

UAをVersion/10.0.3 Safari/602.4.8に変更
[kcd/KCD.git] / KCD / DummyShipCommand.swift
1 //
2 //  DummyShipCommand.swift
3 //  KCD
4 //
5 //  Created by Hori,Masaki on 2017/01/15.
6 //  Copyright © 2017年 Hori,Masaki. All rights reserved.
7 //
8
9 import Cocoa
10
11 /**
12  * 出撃中にドロップした艦をマスクした上で入居数に反映させるためのダミーデータの生成と削除を行う
13  **/
14 class DummyShipCommand: JSONCommand {
15     private static var needsEnterDummy = false
16     
17     override func execute() {
18         if api == "/kcsapi/api_req_sortie/battleresult" { checkGetShip() }
19         if api == "/kcsapi/api_get_member/ship_deck" { enterDummy() }
20         if api == "/kcsapi/api_port/port" { removeDummy() }
21     }
22     
23     private func checkGetShip() {
24         guard !data["api_get_ship"].exists()
25             else { return }
26         DummyShipCommand.needsEnterDummy = true
27     }
28     private func enterDummy() {
29         if !DummyShipCommand.needsEnterDummy { return }
30         let store = ServerDataStore.oneTimeEditor()
31         store.createShip()?.id = -2
32         DummyShipCommand.needsEnterDummy = false
33     }
34     private func removeDummy() {
35         let store = ServerDataStore.oneTimeEditor()
36         store.ships(byId: -2).forEach { store.delete($0) }
37         DummyShipCommand.needsEnterDummy = false
38     }
39 }