OSDN Git Service

guard の書き方を統一した
[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 final class DummyShipCommand: JSONCommand {
15     
16     private static var needsEnterDummy = false
17     
18     override func execute() {
19         
20         if api == "/kcsapi/api_req_sortie/battleresult" { checkGetShip() }
21         if api == "/kcsapi/api_get_member/ship_deck" { enterDummy() }
22         if api == "/kcsapi/api_port/port" { removeDummy() }
23     }
24     
25     private func checkGetShip() {
26         
27         DummyShipCommand.needsEnterDummy = data["api_get_ship"].exists()
28     }
29     
30     private func enterDummy() {
31         
32         guard DummyShipCommand.needsEnterDummy else { return }
33         
34         let store = ServerDataStore.oneTimeEditor()
35         
36         store.createShip()?.id = -2
37         DummyShipCommand.needsEnterDummy = false
38     }
39     
40     private func removeDummy() {
41         
42         let store = ServerDataStore.oneTimeEditor()
43         
44         store.ships(by: -2).forEach { store.delete($0) }
45         DummyShipCommand.needsEnterDummy = false
46     }
47 }