#import "HMShipDetailViewController.h"
#import "HMMinimumShipViewController.h"
+#import "HMAppDelegate.h"
+
#import "HMKCShipObject+Extensions.h"
#import "HMKCDeck+Extension.h"
#import "HMServerDataStore.h"
+#import "HMAnchorageRepairManager.h"
+
const NSInteger maxFleetNumber = 4;
@property (readonly) NSArray *shipKeys;
+
+@property (strong) NSArray *anchorageReairHolder;
+@property (strong) HMAnchorageRepairManager *anchorageRepair;
+@property (readonly) NSNumber *repairTime;
+
@end
@implementation HMFleetViewController
if(self) {
_type = type;
_shipViewClass = shipViewClass;
+
+ [self buildAnchorageRepairHolder];
}
return self;
}
self.fleet = array[0];
_fleetNumber = fleetNumber;
+
+ self.anchorageRepair = self.anchorageReairHolder[fleetNumber - 1];
}
- (NSInteger)fleetNumber
{
}
}
+
+- (void)buildAnchorageRepairHolder
+{
+ HMServerDataStore *store = [HMServerDataStore defaultManager];
+ NSError *error = nil;
+ NSArray *array = [store objectsWithEntityName:@"Deck"
+ sortDescriptors:@[[NSSortDescriptor sortDescriptorWithKey:@"id" ascending:YES]]
+ predicate:nil
+ error:&error];
+ if(error) {
+ NSLog(@"%s error: %@", __PRETTY_FUNCTION__, error);
+ return;
+ }
+ if(array.count == 0) {
+ return;
+ }
+ if(array.count < 4) {
+ NSBeep();
+ NSLog(@"hogehoge");
+ return;
+ }
+ NSMutableArray *anchorageRepairs = [NSMutableArray new];
+ for(HMKCDeck *deck in array) {
+ id anchorageRepair = [[HMAnchorageRepairManager alloc] initWithDeck:deck];
+ [anchorageRepairs addObject:anchorageRepair];
+ }
+ self.anchorageReairHolder = anchorageRepairs;
+
+ HMAppDelegate *appDelegate = [[NSApplication sharedApplication] delegate];
+ [appDelegate addCounterUpdateBlock:^{
+ [self willChangeValueForKey:@"repairTime"];
+ [self didChangeValueForKey:@"repairTime"];
+ }];
+}
++ (NSSet *)keyPathsForValuesAffectingRepairTime
+{
+ return [NSSet setWithObjects:@"anchorageRepair.repairTime", @"anchorageRepair", nil];
+}
+- (NSNumber *)repairTime
+{
+ NSDate *compTimeValue = self.anchorageRepair.repairTime;
+ if(!compTimeValue) return nil;
+
+ NSTimeInterval compTime = [compTimeValue timeIntervalSince1970];
+ NSDate *now = [NSDate dateWithTimeIntervalSinceNow:0];
+ NSTimeInterval diff = compTime - [now timeIntervalSince1970];
+ return @(diff + 20 * 60);
+}
+
@end
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7531" systemVersion="14D131" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7706" systemVersion="14E46" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
<dependencies>
<deployment identifier="macosx"/>
- <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="7531"/>
+ <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="7706"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="HMFleetViewController">
<rect key="frame" x="532" y="0.0" width="267" height="129"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
</customView>
+ <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="tzQ-Ab-vcB">
+ <rect key="frame" x="533" y="263" width="83" height="17"/>
+ <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+ <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="-44:44" id="cM2-uj-Gqv">
+ <customFormatter key="formatter" id="pgG-gM-Tpw" customClass="HMTimerCountFormatter"/>
+ <font key="font" metaFont="system"/>
+ <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+ <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+ </textFieldCell>
+ <connections>
+ <binding destination="-2" name="value" keyPath="repairTime" id="Rpx-gC-Nbh"/>
+ </connections>
+ </textField>
</subviews>
- <point key="canvasLocation" x="457" y="380"/>
+ <point key="canvasLocation" x="456.5" y="380"/>
</customView>
</objects>
</document>