From 7ca3050e39acd1fdbbd0d9d20f368745cb45fdbc Mon Sep 17 00:00:00 2001 From: masakih Date: Sat, 24 Jan 2015 20:19:07 +0900 Subject: [PATCH] =?utf8?q?HMStoreCreateSlotItemHistoryCommand=E3=82=AF?= =?utf8?q?=E3=83=A9=E3=82=B9=E3=82=92Swift=E3=81=A6=E3=82=99=E6=9B=B8?= =?utf8?q?=E3=81=8D=E6=8F=9B=E3=81=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- KCD.xcodeproj/project.pbxproj | 10 +-- KCD/HMStoreCreateSlotItemHistoryCommand.h | 13 --- KCD/HMStoreCreateSlotItemHistoryCommand.m | 92 ------------------- KCD/HMStoreCreateSlotItemHistoryCommand.swift | 124 ++++++++++++++++++++++++++ KCD/KCD-Bridging-Header.h | 1 - 5 files changed, 128 insertions(+), 112 deletions(-) delete mode 100644 KCD/HMStoreCreateSlotItemHistoryCommand.h delete mode 100644 KCD/HMStoreCreateSlotItemHistoryCommand.m create mode 100644 KCD/HMStoreCreateSlotItemHistoryCommand.swift diff --git a/KCD.xcodeproj/project.pbxproj b/KCD.xcodeproj/project.pbxproj index 474de49c..302f3e0c 100644 --- a/KCD.xcodeproj/project.pbxproj +++ b/KCD.xcodeproj/project.pbxproj @@ -8,7 +8,6 @@ /* Begin PBXBuildFile section */ F40B7E371A593EFC003DC5B4 /* HMNyukyoDockStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = F40B7E361A593EFC003DC5B4 /* HMNyukyoDockStatus.swift */; }; - F4131ECF190F5C08004F7F9A /* HMStoreCreateSlotItemHistoryCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = F4131ECE190F5C08004F7F9A /* HMStoreCreateSlotItemHistoryCommand.m */; }; F4131EDE190FEBDB004F7F9A /* HMSlotItemWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F4131EE0190FEBDB004F7F9A /* HMSlotItemWindowController.xib */; }; F4268031194D1B1A00B2C27F /* HMChangeHenseiCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = F4268030194D1B1A00B2C27F /* HMChangeHenseiCommand.m */; }; F43E67B718BE02A10087E5B6 /* STypeShortName.plist in Resources */ = {isa = PBXBuildFile; fileRef = F43E67B618BE02A10087E5B6 /* STypeShortName.plist */; }; @@ -86,6 +85,7 @@ F4896DFB1A6D57C100B09967 /* HMNyukyoSpeedChangeCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4896DFA1A6D57C100B09967 /* HMNyukyoSpeedChangeCommand.swift */; }; F4896DFD1A6FD8DF00B09967 /* HMDestroyItem2Command.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4896DFC1A6FD8DE00B09967 /* HMDestroyItem2Command.swift */; }; F4896DFF1A7119F100B09967 /* HMRemodelSlotItemCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4896DFE1A7119F100B09967 /* HMRemodelSlotItemCommand.swift */; }; + F4896E011A727AE600B09967 /* HMStoreCreateSlotItemHistoryCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4896E001A727AE600B09967 /* HMStoreCreateSlotItemHistoryCommand.swift */; }; F494DC6A18C8BAB900AE97E4 /* HMPowerUpSupportViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F494DC6818C8BAB900AE97E4 /* HMPowerUpSupportViewController.xib */; }; F4A2AF541A074DE40024BD9E /* HMScreenshotListWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F4A2AF561A074DE40024BD9E /* HMScreenshotListWindowController.xib */; }; F4A2AF581A0930160024BD9E /* Quartz.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F4A2AF571A0930160024BD9E /* Quartz.framework */; }; @@ -162,8 +162,6 @@ /* Begin PBXFileReference section */ F40B7E361A593EFC003DC5B4 /* HMNyukyoDockStatus.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HMNyukyoDockStatus.swift; sourceTree = ""; }; - F4131ECD190F5C08004F7F9A /* HMStoreCreateSlotItemHistoryCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMStoreCreateSlotItemHistoryCommand.h; sourceTree = ""; }; - F4131ECE190F5C08004F7F9A /* HMStoreCreateSlotItemHistoryCommand.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMStoreCreateSlotItemHistoryCommand.m; sourceTree = ""; }; F4131EDF190FEBDB004F7F9A /* ja */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ja; path = ja.lproj/HMSlotItemWindowController.xib; sourceTree = ""; }; F426802F194D1B1A00B2C27F /* HMChangeHenseiCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMChangeHenseiCommand.h; sourceTree = ""; }; F4268030194D1B1A00B2C27F /* HMChangeHenseiCommand.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMChangeHenseiCommand.m; sourceTree = ""; }; @@ -250,6 +248,7 @@ F4896DFA1A6D57C100B09967 /* HMNyukyoSpeedChangeCommand.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HMNyukyoSpeedChangeCommand.swift; sourceTree = ""; }; F4896DFC1A6FD8DE00B09967 /* HMDestroyItem2Command.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HMDestroyItem2Command.swift; sourceTree = ""; }; F4896DFE1A7119F100B09967 /* HMRemodelSlotItemCommand.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HMRemodelSlotItemCommand.swift; sourceTree = ""; }; + F4896E001A727AE600B09967 /* HMStoreCreateSlotItemHistoryCommand.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HMStoreCreateSlotItemHistoryCommand.swift; sourceTree = ""; }; F494DC5618C23E4300AE97E4 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/MainMenu.strings; sourceTree = ""; }; F494DC5718C23E4300AE97E4 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/InfoPlist.strings; sourceTree = ""; }; F494DC5918C23E4400AE97E4 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/InfoPlist.strings; sourceTree = ""; }; @@ -603,8 +602,7 @@ F4B3DC2818DF31400011B4FC /* HMCreateShipCommand.h */, F4B3DC2918DF31400011B4FC /* HMCreateShipCommand.m */, F4896DEA1A67D11000B09967 /* HMCreateSlotItemCommand.swift */, - F4131ECD190F5C08004F7F9A /* HMStoreCreateSlotItemHistoryCommand.h */, - F4131ECE190F5C08004F7F9A /* HMStoreCreateSlotItemHistoryCommand.m */, + F4896E001A727AE600B09967 /* HMStoreCreateSlotItemHistoryCommand.swift */, F4896DF81A6BCEB600B09967 /* HMUpdateSlotItemCommand.swift */, F4896DFC1A6FD8DE00B09967 /* HMDestroyItem2Command.swift */, F47C5C211A63F2A800C276B5 /* HMDestroyShipCommand.swift */, @@ -849,10 +847,10 @@ F46F104118A9B85E0063E503 /* HMJSONNode.m in Sources */, F47C5C281A640C6700C276B5 /* HMBattleCommand.swift in Sources */, F454F7831A261844003042DD /* HMFleetInformation.m in Sources */, - F4131ECF190F5C08004F7F9A /* HMStoreCreateSlotItemHistoryCommand.m in Sources */, F4AA05FB192B92C800844688 /* Temporary.xcdatamodeld in Sources */, F477E2511A55A10800493198 /* HMTemporaryDataStore.swift in Sources */, F4513EF618B9F29800073552 /* HMMemberShipCommand.m in Sources */, + F4896E011A727AE600B09967 /* HMStoreCreateSlotItemHistoryCommand.swift in Sources */, F4C1190818A746EB005D5B25 /* HMJSONTracker.m in Sources */, F4B3DC4718EEEB920011B4FC /* HMCompositMapCommand.m in Sources */, F4C118FB18A67B1C005D5B25 /* CanonicalRequest.m in Sources */, diff --git a/KCD/HMStoreCreateSlotItemHistoryCommand.h b/KCD/HMStoreCreateSlotItemHistoryCommand.h deleted file mode 100644 index 6d47b77b..00000000 --- a/KCD/HMStoreCreateSlotItemHistoryCommand.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// HMStoreCreateSlotItemHistoryCommand.h -// KCD -// -// Created by Hori,Masaki on 2014/04/29. -// Copyright (c) 2014å¹´ Hori,Masaki. All rights reserved. -// - -#import "HMJSONCommand.h" - -@interface HMStoreCreateSlotItemHistoryCommand : HMJSONCommand - -@end diff --git a/KCD/HMStoreCreateSlotItemHistoryCommand.m b/KCD/HMStoreCreateSlotItemHistoryCommand.m deleted file mode 100644 index 54a180c1..00000000 --- a/KCD/HMStoreCreateSlotItemHistoryCommand.m +++ /dev/null @@ -1,92 +0,0 @@ -// -// HMStoreCreateSlotItemHistoryCommand.m -// KCD -// -// Created by Hori,Masaki on 2014/04/29. -// Copyright (c) 2014å¹´ Hori,Masaki. All rights reserved. -// - -#import "HMStoreCreateSlotItemHistoryCommand.h" - -#import "KCD-Swift.h" - -@implementation HMStoreCreateSlotItemHistoryCommand - -- (void)execute -{ - id data = [self.json valueForKey:@"api_data"]; - BOOL created = [[data valueForKey:@"api_create_flag"] boolValue]; - NSString *name = nil; - NSNumber *numberOfUsedKaihatuSizai = nil; - - HMServerDataStore *serverDataStore = [HMServerDataStore oneTimeEditor]; - - if(created) { - NSNumber *slotItemID = [data valueForKeyPath:@"api_slot_item.api_slotitem_id"]; - NSArray *array = [serverDataStore objectsWithEntityName:@"MasterSlotItem" - sortDescriptors:nil - predicate:[NSPredicate predicateWithFormat:@"id = %@", slotItemID] - error:NULL]; - if([array count] == 0) { - NSLog(@"MasterSlotItem data is invalid or api_slotitem_id is invalid."); - return; - } - name = [array[0] valueForKey:@"name"]; - numberOfUsedKaihatuSizai = @1; - } else { - name = NSLocalizedString(@"fail to develop", @""); - numberOfUsedKaihatuSizai = @0; - } - - // Deck -> FlagShip - NSArray *array = [serverDataStore objectsWithEntityName:@"Deck" - sortDescriptors:nil - predicate:[NSPredicate predicateWithFormat:@"id = 1"] - error:NULL]; - if([array count] == 0) { - NSLog(@"Deck data is invalid."); - return; - } - id deck = array[0]; - id flagShipID = [deck valueForKey:@"ship_0"]; - array = [serverDataStore objectsWithEntityName:@"Ship" - sortDescriptors:nil - predicate:[NSPredicate predicateWithFormat:@"id = %@", flagShipID] - error:NULL]; - if([array count] == 0) { - NSLog(@"Ship data is invalid or ship_0 is invalid."); - return; - } - id flagShip = array[0]; - NSNumber *flagShipLv = [flagShip valueForKey:@"lv"]; - NSString *flagShipName = [flagShip valueForKeyPath:@"master_ship.name"]; - - // Basic -> level - array = [serverDataStore objectsWithEntityName:@"Basic" - sortDescriptors:nil - predicate:nil - error:NULL]; - if([array count] == 0) { - NSLog(@"Basic data is invalid."); - return; - } - id basic = array[0]; - - HMLocalDataStore *lds = [HMLocalDataStore oneTimeEditor]; - HMKaihatuHistory *newObejct = [NSEntityDescription insertNewObjectForEntityForName:@"KaihatuHistory" - inManagedObjectContext:[lds managedObjectContext]]; - newObejct.name = name; - newObejct.fuel = @([[self.arguments valueForKey:@"api_item1"] integerValue]); - newObejct.bull = @([[self.arguments valueForKey:@"api_item2"] integerValue]); - newObejct.steel = @([[self.arguments valueForKey:@"api_item3"] integerValue]); - newObejct.bauxite = @([[self.arguments valueForKey:@"api_item4"] integerValue]); - newObejct.kaihatusizai = numberOfUsedKaihatuSizai; - newObejct.flagShipLv = flagShipLv; - newObejct.flagShipName = flagShipName; - newObejct.commanderLv = [basic valueForKey:@"level"]; - newObejct.date = [NSDate dateWithTimeIntervalSinceNow:0]; - - [lds saveAction:nil]; -} - -@end diff --git a/KCD/HMStoreCreateSlotItemHistoryCommand.swift b/KCD/HMStoreCreateSlotItemHistoryCommand.swift new file mode 100644 index 00000000..54739792 --- /dev/null +++ b/KCD/HMStoreCreateSlotItemHistoryCommand.swift @@ -0,0 +1,124 @@ +// +// HMStoreCreateSlotItemHistoryCommand.swift +// KCD +// +// Created by Hori,Masaki on 2015/01/23. +// Copyright (c) 2015å¹´ Hori,Masaki. All rights reserved. +// + +import Cocoa + +class HMStoreCreateSlotItemHistoryCommand: HMJSONCommand { + override func execute() { + if let data = json[dataKey] as? NSDictionary { + let store = HMServerDataStore.oneTimeEditor() + var error: NSError? = nil + + var name = NSLocalizedString("fail to develop", comment: "") + var numberOfUsedKaihatuSizai = 0 + var flagShipLv: NSNumber? = nil + var flagShipName: String? = nil + + // name and numberOfUsedKaihatuSizai + if let created = data["api_create_flag"] as? NSNumber { + if created.boolValue { + if let slotItemID = data["api_slot_item"]?["api_slotitem_id"] as? NSNumber { + let predicate = NSPredicate(format: "id = \(slotItemID)") + let array = store.objectsWithEntityName("MasterSlotItem", + sortDescriptors: nil, + predicate: predicate, + error: &error) + if array.count == 0 { + NSLog("MasterSlotItem data is invalid or api_slotitem_id is invalid.") + if error != nil { + NSLog("Error: \(error!)") + } + return + } + if let master = array[0] as? HMKCMasterSlotItemObject { + name = master.name + numberOfUsedKaihatuSizai = 1 + } + } + } + } + + // Deck -> FlagShip + error = nil + let predicate = NSPredicate(format: "id = 1") + let decks = store.objectsWithEntityName("Deck", + sortDescriptors: nil, + predicate: predicate, + error: &error) + if decks.count == 0 { + NSLog("Deck data is invalid.") + if error != nil { + NSLog("Error: \(error!)") + } + return + } + if let deck = decks[0] as? NSManagedObject { + if let flagShipID = deck.valueForKey("ship_0") as? NSNumber { + error = nil + let shipPredicate = NSPredicate(format: "id = \(flagShipID)") + let shipArray = store.objectsWithEntityName("Ship", + sortDescriptors: nil, + predicate: shipPredicate, + error: &error) + if shipArray.count == 0 { + NSLog("Ship data is invalid or ship_0 is invalid.") + if error != nil { + NSLog("Error: \(error!)") + } + return + } + if let flagShip = shipArray[0] as? HMKCShipObject { + flagShipLv = flagShip.lv + flagShipName = flagShip.name + } + } + } + + // Basic -> level + error = nil + let basicArray = store.objectsWithEntityName("Basic", + sortDescriptors: nil, + predicate: nil, + error: &error) + if basicArray.count == 0 { + NSLog("Basic data is invalid.") + if error != nil { + NSLog("Error: \(error!)") + } + return + } + let commanderLv = basicArray[0].valueForKey("level") as NSNumber + + // create and insert KaihatuHistory + let lds = HMLocalDataStore.oneTimeEditor() + let newObject = NSEntityDescription.insertNewObjectForEntityForName("KaihatuHistory", + inManagedObjectContext: lds.managedObjectContext!) as HMKaihatuHistory + + newObject.name = name + newObject.kaihatusizai = numberOfUsedKaihatuSizai + newObject.flagShipLv = flagShipLv! + newObject.flagShipName = flagShipName! + newObject.commanderLv = commanderLv + newObject.date = NSDate(timeIntervalSinceNow: 0) + if let fuel = arguments["api_item1"]?.integerValue { + newObject.fuel = fuel + } + if let bull = arguments["api_item2"]?.integerValue { + newObject.bull = bull + } + if let steel = arguments["api_item3"]?.integerValue { + newObject.steel = steel + } + if let bauxite = arguments["api_item4"]?.integerValue { + newObject.bauxite = bauxite + } + + lds.saveAction(nil) + } + } +} diff --git a/KCD/KCD-Bridging-Header.h b/KCD/KCD-Bridging-Header.h index 67619eaf..40d6d343 100644 --- a/KCD/KCD-Bridging-Header.h +++ b/KCD/KCD-Bridging-Header.h @@ -18,7 +18,6 @@ #import "HMMemberMaterialCommand.h" #import "HMMemberBasicCommand.h" #import "HMCalculateDamageCommand.h" -#import "HMStoreCreateSlotItemHistoryCommand.h" @interface NSFileManager (KCDExtension) -- 2.11.0