OSDN Git Service

泊地修理残り時間表示(テスト)
authormasakih <masakih@users.sourceforge.jp>
Mon, 20 Jul 2015 11:50:45 +0000 (20:50 +0900)
committermasakih <masakih@users.sourceforge.jp>
Mon, 20 Jul 2015 11:50:45 +0000 (20:50 +0900)
KCD/HMFleetViewController.m
KCD/ja.lproj/HMFleetViewController.xib

index 083614e..655a215 100644 (file)
 #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;
 
@@ -41,6 +45,11 @@ const NSInteger maxFleetNumber = 4;
 
 @property (readonly) NSArray *shipKeys;
 
+
+@property (strong) NSArray *anchorageReairHolder;
+@property (strong) HMAnchorageRepairManager *anchorageRepair;
+@property (readonly) NSNumber *repairTime;
+
 @end
 
 @implementation HMFleetViewController
@@ -77,6 +86,8 @@ const NSInteger maxFleetNumber = 4;
        if(self) {
                _type = type;
                _shipViewClass = shipViewClass;
+               
+               [self buildAnchorageRepairHolder];
        }
        return self;
 }
@@ -190,6 +201,8 @@ const NSInteger maxFleetNumber = 4;
        
        self.fleet = array[0];
        _fleetNumber = fleetNumber;
+       
+       self.anchorageRepair = self.anchorageReairHolder[fleetNumber - 1];
 }
 - (NSInteger)fleetNumber
 {
@@ -387,4 +400,53 @@ const NSInteger maxFleetNumber = 4;
        }
 }
 
+
+- (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
index 138a849..b643479 100644 (file)
@@ -1,8 +1,8 @@
 <?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>