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 print("api_slot_id is wrong")
22 let afterSlot = data["api_after_slot"]
23 let store = ServerDataStore.oneTimeEditor()
25 guard let slotItem = store.slotItem(by: slotItemId) else {
27 print("SlotItem not found")
31 if let locked = afterSlot["api_locked"].int {
33 slotItem.locked = locked != 0
36 if let masterSlotItemId = afterSlot["api_slotitem_id"].int,
37 masterSlotItemId != slotItem.slotitem_id,
38 let masterSlotItem = store.masterSlotItem(by: slotItemId) {
40 slotItem.master_slotItem = masterSlotItem
41 slotItem.slotitem_id = slotItemId
44 if let level = afterSlot["api_level"].int {
46 slotItem.level = level
50 // remove used slot items.
51 guard let useSlot = data["api_use_slot_id"].arrayObject as? [Int] else { return }
53 store.slotItems(in: useSlot).forEach { store.delete($0) }