2 // RemodelSlotItemCommand.swift
5 // Created by Hori,Masaki on 2017/01/09.
6 // Copyright © 2017年 Hori,Masaki. All rights reserved.
11 final class RemodelSlotItemCommand: JSONCommand {
13 override func execute() {
15 guard let success = data["api_remodel_flag"].int, success != 0 else { return }
16 guard let slotItemId = parameter["api_slot_id"].int else {
18 return Logger.shared.log("api_slot_id is wrong")
21 let afterSlot = data["api_after_slot"]
22 let store = ServerDataStore.oneTimeEditor()
24 guard let slotItem = store.slotItem(by: slotItemId) else {
26 return Logger.shared.log("SlotItem not found")
29 if let locked = afterSlot["api_locked"].int {
31 slotItem.locked = (locked != 0)
33 if let masterSlotItemId = afterSlot["api_slotitem_id"].int,
34 masterSlotItemId != slotItem.slotitem_id,
35 let masterSlotItem = store.masterSlotItem(by: slotItemId) {
37 slotItem.master_slotItem = masterSlotItem
38 slotItem.slotitem_id = slotItemId
41 if let level = afterSlot["api_level"].int {
43 slotItem.level = level
46 // remove used slot items.
47 guard let useSlot = data["api_use_slot_id"].arrayObject as? [Int] else { return }
49 store.slotItems(in: useSlot).forEach(store.delete)