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 {
19 guard let slotItemId = parameter["api_slot_id"].int else {
21 Logger.shared.log("api_slot_id is wrong")
26 let afterSlot = data["api_after_slot"]
27 let store = ServerDataStore.oneTimeEditor()
29 guard let slotItem = store.slotItem(by: slotItemId) else {
31 Logger.shared.log("SlotItem not found")
36 if let locked = afterSlot["api_locked"].int {
38 slotItem.locked = (locked != 0)
40 if let masterSlotItemId = afterSlot["api_slotitem_id"].int,
41 masterSlotItemId != slotItem.slotitem_id,
42 let masterSlotItem = store.masterSlotItem(by: slotItemId) {
44 slotItem.master_slotItem = masterSlotItem
45 slotItem.slotitem_id = slotItemId
48 if let level = afterSlot["api_level"].int {
50 slotItem.level = level
53 // remove used slot items.
54 guard let useSlot = self.data["api_use_slot_id"].arrayObject as? [Int] else {
59 store.slotItems(in: useSlot).forEach(store.delete)