OSDN Git Service

改修工廠時に使用装備の反映をするようにした
authormasakih <masakih@users.sourceforge.jp>
Mon, 18 Jul 2016 05:39:28 +0000 (14:39 +0900)
committermasakih <masakih@users.sourceforge.jp>
Mon, 18 Jul 2016 05:39:28 +0000 (14:39 +0900)
KCD/HMRemodelSlotItemCommand.m

index 9a12042..518cdcb 100644 (file)
                return;
        }
        
+       HMServerDataStore *serverDataStore = [HMServerDataStore oneTimeEditor];
+       NSError *error = nil;
+       
+       // remove use slot items
+       NSArray<NSNumber *> *useSlotItemIDs = api_data[@"api_use_slot_id"];
+       NSArray<HMKCSlotItemObject *> *useSlotItems = [serverDataStore objectsWithEntityName:@"SlotItem"
+                                                                                                                                                               error:&error
+                                                                                                                                         predicateFormat:@"id IN %@", useSlotItemIDs];
+       [useSlotItems enumerateObjectsUsingBlock:^(HMKCSlotItemObject * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
+               NSManagedObjectContext *con = serverDataStore.managedObjectContext;
+               [con deleteObject:obj];
+       }];
+       
        BOOL success = [api_data[@"api_remodel_flag"] boolValue];
        if(!success) {
                [self log:@"Remodel is failed."];
@@ -29,8 +42,7 @@
        
        id slotitemId = self.arguments[@"api_slot_id"];
        
-       HMServerDataStore *serverDataStore = [HMServerDataStore oneTimeEditor];
-       NSError *error = nil;
+       error = nil;
        NSArray<HMKCSlotItemObject *> *slotItems = [serverDataStore objectsWithEntityName:@"SlotItem"
                                                                                                                                                                error:&error
                                                                                                                                          predicateFormat:@"id = %ld", [slotitemId integerValue]];