class HMRemodelSlotItemCommand: HMJSONCommand {
override func execute() {
- // remove used slot items.
guard let d = json as? [String:Any],
- let data = d[dataKey] as? [String:Any],
- let useSlot = data["api_use_slot_id"] as? [NSNumber]
- else { return print("api_use_slot_id is wrong") }
- let p = NSPredicate(format: "id IN %@", useSlot)
- let store = HMServerDataStore.oneTimeEditor()
- guard let s = try? store?.objects(withEntityName: "SlotItem", predicate: p),
- let useSlotItems = s as? [HMKCSlotItemObject]
- else { return print("slotItem not found") }
- useSlotItems.forEach { store?.delete($0) }
+ let data = d[dataKey] as? [String:Any]
+ else { return print("JSON is wrong") }
guard let success = data["api_remodel_flag"] as? Bool else { return }
if !success {
let slotItemId = Int(sl)
else { return print("api_slot_id is wrong") }
let pp = NSPredicate(format: "id = %ld", slotItemId)
+ let store = HMServerDataStore.oneTimeEditor()
guard let sls = try? store?.objects(withEntityName: "SlotItem", predicate: pp),
let slotItems = sls as? [HMKCSlotItemObject],
let slotItem = slotItems.first
guard let level = afterSlot["api_level"] as? NSNumber
else { return print("api_level is wrong") }
slotItem.level = level
+
+ // remove used slot items.
+ guard let useSlot = data["api_use_slot_id"] as? [NSNumber] else { return }
+ let p = NSPredicate(format: "id IN %@", useSlot)
+ guard let s = try? store?.objects(withEntityName: "SlotItem", predicate: p),
+ let useSlotItems = s as? [HMKCSlotItemObject]
+ else { return print("slotItem not found") }
+ useSlotItems.forEach { store?.delete($0) }
}
private func setMasterSlotItem(_ slotItemId: NSNumber, to slotItem: HMKCSlotItemObject, store: HMCoreDataManager) {