OSDN Git Service

複数組の護衛退避に対応 1.3beta12
authormasakih <masakih@users.sourceforge.jp>
Tue, 1 Sep 2015 12:39:55 +0000 (21:39 +0900)
committermasakih <masakih@users.sourceforge.jp>
Tue, 1 Sep 2015 12:39:55 +0000 (21:39 +0900)
KCD/HMGuardShelterCommand.m
KCD/HMMapStartCommand.m

index 7b42bd1..1320b86 100644 (file)
@@ -44,6 +44,9 @@ NSString *HMGuardShelterCommandDidUpdateGuardExcapeNotification = @"HMGuardShelt
                [self ensureGuardShelter];
                return;
        }
+       if([self.api isEqualToString:@"/kcsapi/api_req_map/next"]) {
+               [self removeInvalidEntry];
+       }
 }
 
 
@@ -116,7 +119,29 @@ NSString *HMGuardShelterCommandDidUpdateGuardExcapeNotification = @"HMGuardShelt
        [object setValue:@NO forKey:@"ensured"];
        
 }
-
+- (void)removeInvalidEntry
+{
+       HMTemporaryDataStore *store = [HMTemporaryDataStore oneTimeEditor];
+       NSError *error = nil;
+       NSArray *array = [store objectsWithEntityName:@"GuardEscaped"
+                                                                                       error:&error
+                                                                 predicateFormat:@"ensured = FALSE"];
+       if(error) {
+               NSLog(@"GuardEscaped is invalid. -> %@", error);
+               return;
+       }
+       if(!array) {
+               NSLog(@"GuardEscaped is invalid. -> %@", error);
+               return;
+       }
+       for(NSManagedObject *object in array) {
+               [store.managedObjectContext deleteObject:object];
+       }
+       [store saveAction:nil];
+       [NSThread sleepForTimeInterval:0.1];
+       
+       [self notify];
+}
 - (void)removeAllEntry
 {
        HMTemporaryDataStore *store = [HMTemporaryDataStore oneTimeEditor];
index 12bbb91..15411ee 100644 (file)
@@ -9,6 +9,7 @@
 #import "HMMapStartCommand.h"
 
 #import "HMCalculateDamageCommand.h"
+#import "HMGuardShelterCommand.h"
 
 @implementation HMMapStartCommand
 + (void)load
@@ -31,6 +32,7 @@
 {
        self = [super initWithCommands:
                        [HMCalculateDamageCommand new],
+                       [HMGuardShelterCommand new],
                        nil];
        return self;
 }