From 52778f776ba01e1652cd20f32d05d35e704ec7b8 Mon Sep 17 00:00:00 2001 From: masakih Date: Mon, 27 Jul 2015 20:21:47 +0900 Subject: [PATCH] =?utf8?q?=E6=B3=8A=E5=9C=B0=E4=BF=AE=E7=90=86=E3=81=A6?= =?utf8?q?=E3=82=99=E4=BF=AE=E7=90=86=E5=8F=AF=E8=83=BD=E3=81=AA=E8=89=A6?= =?utf8?q?=E5=A8=98=E3=81=AE=E6=95=B0=E3=82=92=E8=A1=A8=E7=A4=BA=E3=81=99?= =?utf8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- KCD/HMAnchorageRepairManager.m | 62 +++++++++++++++++----------------- KCD/HMFleetViewController.m | 15 +++++++- KCD/ja.lproj/HMFleetViewController.xib | 29 +++++++++++++--- 3 files changed, 70 insertions(+), 36 deletions(-) diff --git a/KCD/HMAnchorageRepairManager.m b/KCD/HMAnchorageRepairManager.m index 477d852c..02df8db3 100644 --- a/KCD/HMAnchorageRepairManager.m +++ b/KCD/HMAnchorageRepairManager.m @@ -100,12 +100,12 @@ { id contextObject = (__bridge id)(context); -// if([contextObject isEqual:@"members"]) { -// -// return; -// } + if([contextObject isEqual:@"members"]) { + [self willChangeValueForKey:@"repairableShipCount"]; + [self didChangeValueForKey:@"repairableShipCount"]; + return; + } if([contextObject isKindOfClass:[NSString class]]) { - [self resetRepairTime]; [self buildMembers]; return; @@ -116,32 +116,32 @@ - (void)buildMembers { -// NSString *observeKeyPath = @"arrangedObjects.equippedItem"; -// -// [self.memberController removeObserver:self forKeyPath:observeKeyPath]; -// -// NSArray *shipKeys = @[@"ship_0", @"ship_1", @"ship_2", @"ship_3", @"ship_4", @"ship_5"]; -// HMServerDataStore *store = [HMServerDataStore defaultManager]; -// NSMutableArray *array = [NSMutableArray new]; -// [shipKeys enumerateObjectsUsingBlock:^(NSString *key, NSUInteger idx, BOOL *stop) { -// id shipID = [_fleet valueForKey:key]; -// NSError *error = nil; -// NSArray *ships = [store objectsWithEntityName:@"Ship" -// error:&error -// predicateFormat:@"id = %ld", [shipID integerValue]]; -// if(error) { -// NSLog(@"%s error: %@", __PRETTY_FUNCTION__, error); -// } -// if(ships.count != 0) { -// [array addObject:ships[0]]; -// } -// }]; -// _members = array; -// _memberController = [[NSArrayController alloc] initWithContent:array]; -// [self.memberController addObserver:self -// forKeyPath:observeKeyPath -// options:0 -// context:@"members"]; + NSString *observeKeyPath = @"arrangedObjects.equippedItem"; + + [self.memberController removeObserver:self forKeyPath:observeKeyPath]; + + NSArray *shipKeys = @[@"ship_0", @"ship_1", @"ship_2", @"ship_3", @"ship_4", @"ship_5"]; + HMServerDataStore *store = [HMServerDataStore defaultManager]; + NSMutableArray *array = [NSMutableArray new]; + [shipKeys enumerateObjectsUsingBlock:^(NSString *key, NSUInteger idx, BOOL *stop) { + id shipID = [_fleet valueForKey:key]; + NSError *error = nil; + NSArray *ships = [store objectsWithEntityName:@"Ship" + error:&error + predicateFormat:@"id = %ld", [shipID integerValue]]; + if(error) { + NSLog(@"%s error: %@", __PRETTY_FUNCTION__, error); + } + if(ships.count != 0) { + [array addObject:ships[0]]; + } + }]; + _members = array; + _memberController = [[NSArrayController alloc] initWithContent:array]; + [self.memberController addObserver:self + forKeyPath:observeKeyPath + options:0 + context:@"members"]; } - (void)didRecivePortAPINotification:(NSNotification *)notification diff --git a/KCD/HMFleetViewController.m b/KCD/HMFleetViewController.m index f96dc6ca..eb3ef7b0 100644 --- a/KCD/HMFleetViewController.m +++ b/KCD/HMFleetViewController.m @@ -49,6 +49,7 @@ const NSInteger maxFleetNumber = 4; @property (strong) NSArray *anchorageRepairHolder; @property (strong) HMAnchorageRepairManager *anchorageRepair; @property (readonly) NSNumber *repairTime; +@property (readonly) NSNumber *repairableShipCount; @end @@ -426,7 +427,7 @@ const NSInteger maxFleetNumber = 4; id anchorageRepair = [[HMAnchorageRepairManager alloc] initWithDeck:deck]; [anchorageRepairs addObject:anchorageRepair]; } - self.anchorageReairHolder = anchorageRepairs; + self.anchorageRepairHolder = anchorageRepairs; HMAppDelegate *appDelegate = [[NSApplication sharedApplication] delegate]; [appDelegate addCounterUpdateBlock:^{ @@ -448,5 +449,17 @@ const NSInteger maxFleetNumber = 4; NSTimeInterval diff = compTime - [now timeIntervalSince1970]; return @(diff + 20 * 60); } ++ (NSSet *)keyPathsForValuesAffectingRepairableShipCount +{ + return [NSSet setWithObjects: + @"anchorageRepair.repairableShipCount", @"anchorageRepair", + + + nil]; +} +- (NSNumber *)repairableShipCount +{ + return self.anchorageRepair.repairableShipCount; +} @end diff --git a/KCD/ja.lproj/HMFleetViewController.xib b/KCD/ja.lproj/HMFleetViewController.xib index b6434799..03d29f51 100644 --- a/KCD/ja.lproj/HMFleetViewController.xib +++ b/KCD/ja.lproj/HMFleetViewController.xib @@ -83,9 +83,9 @@ - + - + @@ -147,9 +147,9 @@ - + - + @@ -159,6 +159,27 @@ + + + + + + + + + + + + %{value1}@隻 + + + + + NSNegateBoolean + + + + -- 2.11.0