OSDN Git Service

containsを多用するArrayのうちSetに置換可能なものをSetに変更
[kcd/KCD.git] / KCD / ShipMapper.swift
index 79276c6..64398df 100644 (file)
@@ -11,14 +11,14 @@ import SwiftyJSON
 
 final class ShipMapper: JSONMapper {
     
-    private static let ignoreKeys = ["api_gomes", "api_gomes2", "api_broken", "api_powup",
-                                     "api_voicef", "api_afterlv", "api_aftershipid", "api_backs",
-                                     "api_slotnum", "api_stype", "api_name", "api_yomi",
-                                     "api_raig", "api_luck", "api_saku", "api_raim", "api_baku",
-                                     "api_taik", "api_houg", "api_houm", "api_tyku",
-                                     "api_ndock_item", "api_star",
-                                     "api_ndock_time_str", "api_member_id",
-                                     "api_fuel_max", "api_bull_max"]
+    private static let ignoreKeys: Set<String> = ["api_gomes", "api_gomes2", "api_broken", "api_powup",
+                                                  "api_voicef", "api_afterlv", "api_aftershipid", "api_backs",
+                                                  "api_slotnum", "api_stype", "api_name", "api_yomi",
+                                                  "api_raig", "api_luck", "api_saku", "api_raim", "api_baku",
+                                                  "api_taik", "api_houg", "api_houm", "api_tyku",
+                                                  "api_ndock_item", "api_star",
+                                                  "api_ndock_time_str", "api_member_id",
+                                                  "api_fuel_max", "api_bull_max"]
     
     let apiResponse: APIResponse
     let configuration: MappingConfiguration<Ship>
@@ -26,7 +26,7 @@ final class ShipMapper: JSONMapper {
     required init(_ apiResponse: APIResponse) {
         
         self.apiResponse = apiResponse
-        self.configuration = MappingConfiguration(entity: Ship.entity,
+        self.configuration = MappingConfiguration(entity: Ship.self,
                                                   dataKeys: ShipMapper.dataKeys(apiResponse),
                                                   editorStore: ServerDataStore.oneTimeEditor(),
                                                   ignoreKeys: ShipMapper.ignoreKeys)
@@ -36,7 +36,7 @@ final class ShipMapper: JSONMapper {
     init(forSlotDepriveUnset apiResponse: APIResponse) {
         
         self.apiResponse = apiResponse
-        self.configuration = MappingConfiguration(entity: Ship.entity,
+        self.configuration = MappingConfiguration(entity: Ship.self,
                                                   dataKeys: ["api_data", "api_ship_data", "api_unset_ship"],
                                                   editorStore: ServerDataStore.oneTimeEditor(),
                                                   ignoreKeys: ShipMapper.ignoreKeys)
@@ -88,13 +88,16 @@ final class ShipMapper: JSONMapper {
         switch apiResponse.api.endpoint {
             
         case .ship3, .getShip, .shipDeck, .powerup, .slotDeprive:
+            
             return false
             
         case .ship2:
             // 特殊任務のクリア時にship2がapi_shipid付きでリクエストされ、その艦娘のデータしかない時があるため
+            
             return !apiResponse.parameter["api_shipid"].valid
             
         default:
+            
             return true
             
         }
@@ -253,7 +256,9 @@ final class ShipMapper: JSONMapper {
     private func setExtraSlot(_ exSlotItem: Int, to ship: Ship) {
         
         guard exSlotItem != -1, exSlotItem != 0 else {
+            
             ship.extraItem = nil
+            
             return
         }
         guard let found = slotItems.binarySearch(comparator: { $0.id ==? exSlotItem }),