/* 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 */; };
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 */; };
/* Begin PBXFileReference section */
F40B7E361A593EFC003DC5B4 /* HMNyukyoDockStatus.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HMNyukyoDockStatus.swift; sourceTree = "<group>"; };
- F4131ECD190F5C08004F7F9A /* HMStoreCreateSlotItemHistoryCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMStoreCreateSlotItemHistoryCommand.h; sourceTree = "<group>"; };
- F4131ECE190F5C08004F7F9A /* HMStoreCreateSlotItemHistoryCommand.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMStoreCreateSlotItemHistoryCommand.m; sourceTree = "<group>"; };
F4131EDF190FEBDB004F7F9A /* ja */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ja; path = ja.lproj/HMSlotItemWindowController.xib; sourceTree = "<group>"; };
F426802F194D1B1A00B2C27F /* HMChangeHenseiCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMChangeHenseiCommand.h; sourceTree = "<group>"; };
F4268030194D1B1A00B2C27F /* HMChangeHenseiCommand.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMChangeHenseiCommand.m; sourceTree = "<group>"; };
F4896DFA1A6D57C100B09967 /* HMNyukyoSpeedChangeCommand.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HMNyukyoSpeedChangeCommand.swift; sourceTree = "<group>"; };
F4896DFC1A6FD8DE00B09967 /* HMDestroyItem2Command.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HMDestroyItem2Command.swift; sourceTree = "<group>"; };
F4896DFE1A7119F100B09967 /* HMRemodelSlotItemCommand.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HMRemodelSlotItemCommand.swift; sourceTree = "<group>"; };
+ F4896E001A727AE600B09967 /* HMStoreCreateSlotItemHistoryCommand.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HMStoreCreateSlotItemHistoryCommand.swift; sourceTree = "<group>"; };
F494DC5618C23E4300AE97E4 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/MainMenu.strings; sourceTree = "<group>"; };
F494DC5718C23E4300AE97E4 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/InfoPlist.strings; sourceTree = "<group>"; };
F494DC5918C23E4400AE97E4 /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/InfoPlist.strings; sourceTree = "<group>"; };
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 */,
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 */,
+++ /dev/null
-//
-// 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
+++ /dev/null
-//
-// 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
--- /dev/null
+//
+// 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)
+ }
+ }
+}
#import "HMMemberMaterialCommand.h"
#import "HMMemberBasicCommand.h"
#import "HMCalculateDamageCommand.h"
-#import "HMStoreCreateSlotItemHistoryCommand.h"
@interface NSFileManager (KCDExtension)