OSDN Git Service

装備名を表示するようにした
authormasakih <masakih@users.sourceforge.jp>
Sun, 1 Mar 2015 03:24:59 +0000 (12:24 +0900)
committermasakih <masakih@users.sourceforge.jp>
Sun, 1 Mar 2015 03:24:59 +0000 (12:24 +0900)
KCD.xcodeproj/project.pbxproj
KCD/HMShipDetailViewController.xib
KCD/HMSlotitemNameTransformer.h [new file with mode: 0644]
KCD/HMSlotitemNameTransformer.m [new file with mode: 0644]

index d5face9..973993d 100644 (file)
                F4D6BCAA1AA298FD00742FEB /* HMShipDetailViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F4D6BCA81AA298FD00742FEB /* HMShipDetailViewController.xib */; };
                F4D6BCAD1AA2A60900742FEB /* HMSokuTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = F4D6BCAC1AA2A60900742FEB /* HMSokuTransformer.m */; };
                F4D6BCB01AA2A97200742FEB /* HMLengTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = F4D6BCAF1AA2A97200742FEB /* HMLengTransformer.m */; };
+               F4D6BCB31AA2B18100742FEB /* HMSlotitemNameTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = F4D6BCB21AA2B18100742FEB /* HMSlotitemNameTransformer.m */; };
                F4E33B5818BF5F67005B8C07 /* HMMemberSlotItemCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = F4E33B5718BF5F67005B8C07 /* HMMemberSlotItemCommand.m */; };
                F4E7802818DBD2A00011BC4C /* HMGetShipCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = F4E7802718DBD2A00011BC4C /* HMGetShipCommand.m */; };
                F4E7802B18DC3A820011BC4C /* HMLocalDataStore.m in Sources */ = {isa = PBXBuildFile; fileRef = F4E7802A18DC3A820011BC4C /* HMLocalDataStore.m */; };
                F4D6BCAC1AA2A60900742FEB /* HMSokuTransformer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMSokuTransformer.m; sourceTree = "<group>"; };
                F4D6BCAE1AA2A97100742FEB /* HMLengTransformer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMLengTransformer.h; sourceTree = "<group>"; };
                F4D6BCAF1AA2A97200742FEB /* HMLengTransformer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMLengTransformer.m; sourceTree = "<group>"; };
+               F4D6BCB11AA2B18100742FEB /* HMSlotitemNameTransformer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMSlotitemNameTransformer.h; sourceTree = "<group>"; };
+               F4D6BCB21AA2B18100742FEB /* HMSlotitemNameTransformer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMSlotitemNameTransformer.m; sourceTree = "<group>"; };
                F4E33B5618BF5F67005B8C07 /* HMMemberSlotItemCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMMemberSlotItemCommand.h; sourceTree = "<group>"; };
                F4E33B5718BF5F67005B8C07 /* HMMemberSlotItemCommand.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMMemberSlotItemCommand.m; sourceTree = "<group>"; };
                F4E7802618DBD2A00011BC4C /* HMGetShipCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMGetShipCommand.h; sourceTree = "<group>"; };
                                F4D6BCAC1AA2A60900742FEB /* HMSokuTransformer.m */,
                                F4D6BCAE1AA2A97100742FEB /* HMLengTransformer.h */,
                                F4D6BCAF1AA2A97200742FEB /* HMLengTransformer.m */,
+                               F4D6BCB11AA2B18100742FEB /* HMSlotitemNameTransformer.h */,
+                               F4D6BCB21AA2B18100742FEB /* HMSlotitemNameTransformer.m */,
                        );
                        name = TestAndDebug;
                        path = KCD;
                                F4A3AD8E19BB220000FDBF80 /* HMMaskInfomation.m in Sources */,
                                F4E7802E18DC3AF00011BC4C /* LocalData.xcdatamodeld in Sources */,
                                F4D6BCAD1AA2A60900742FEB /* HMSokuTransformer.m in Sources */,
+                               F4D6BCB31AA2B18100742FEB /* HMSlotitemNameTransformer.m in Sources */,
                                F4131ED5190F63D8004F7F9A /* HMUpdateSlotItemCommand.m in Sources */,
                                F4C1190518A71AEA005D5B25 /* HMJSONReciever.m in Sources */,
                                F44AB24119E8252600F217AF /* HMKCSlotItemObject+Extensions.m in Sources */,
index cf8838b..be8b138 100644 (file)
                             <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
                             <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
                         </textFieldCell>
+                        <connections>
+                            <binding destination="LyA-xZ-gxq" name="value" keyPath="selection.slot_0" id="5aH-qT-krB">
+                                <dictionary key="options">
+                                    <string key="NSValueTransformerName">HMSlotitemNameTransformer</string>
+                                </dictionary>
+                            </binding>
+                        </connections>
                     </textField>
                     <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="yEC-6w-mfV">
                         <rect key="frame" x="23" y="34" width="155" height="16"/>
                             <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
                             <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
                         </textFieldCell>
+                        <connections>
+                            <binding destination="LyA-xZ-gxq" name="value" keyPath="selection.slot_1" id="Hev-N6-LHQ">
+                                <dictionary key="options">
+                                    <string key="NSValueTransformerName">HMSlotitemNameTransformer</string>
+                                </dictionary>
+                            </binding>
+                        </connections>
                     </textField>
                     <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="TcK-Cm-oHt">
                         <rect key="frame" x="23" y="18" width="155" height="16"/>
                             <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
                             <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
                         </textFieldCell>
+                        <connections>
+                            <binding destination="LyA-xZ-gxq" name="value" keyPath="selection.slot_2" id="45B-eT-Nkp">
+                                <dictionary key="options">
+                                    <string key="NSValueTransformerName">HMSlotitemNameTransformer</string>
+                                </dictionary>
+                            </binding>
+                        </connections>
                     </textField>
                     <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="VcC-xJ-Zgy">
                         <rect key="frame" x="23" y="2" width="155" height="16"/>
                             <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
                             <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
                         </textFieldCell>
+                        <connections>
+                            <binding destination="LyA-xZ-gxq" name="value" keyPath="selection.slot_3" id="3Pz-O9-ncF">
+                                <dictionary key="options">
+                                    <string key="NSValueTransformerName">HMSlotitemNameTransformer</string>
+                                </dictionary>
+                            </binding>
+                        </connections>
                     </textField>
                     <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="dqM-rk-aUD">
                         <rect key="frame" x="3" y="50" width="20" height="16"/>
diff --git a/KCD/HMSlotitemNameTransformer.h b/KCD/HMSlotitemNameTransformer.h
new file mode 100644 (file)
index 0000000..097a86e
--- /dev/null
@@ -0,0 +1,13 @@
+//
+//  HMSlotitemNameTransformer.h
+//  KCD
+//
+//  Created by Hori,Masaki on 2015/03/01.
+//  Copyright (c) 2015年 Hori,Masaki. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+@interface HMSlotitemNameTransformer : NSValueTransformer
+
+@end
diff --git a/KCD/HMSlotitemNameTransformer.m b/KCD/HMSlotitemNameTransformer.m
new file mode 100644 (file)
index 0000000..5b8be2b
--- /dev/null
@@ -0,0 +1,50 @@
+//
+//  HMSlotitemNameTransformer.m
+//  KCD
+//
+//  Created by Hori,Masaki on 2015/03/01.
+//  Copyright (c) 2015年 Hori,Masaki. All rights reserved.
+//
+
+#import "HMSlotitemNameTransformer.h"
+
+#import "HMServerDataStore.h"
+
+@implementation HMSlotitemNameTransformer
++ (void)load
+{
+       static dispatch_once_t onceToken;
+       dispatch_once(&onceToken, ^{
+               [NSValueTransformer setValueTransformer:[self new] forName:@"HMSlotitemNameTransformer"];
+       });
+}
+
++ (Class)transformedValueClass
+{
+       return [NSString class];
+}
++ (BOOL)allowsReverseTransformation
+{
+       return NO;
+}
+
+- (id)transformedValue:(id)value
+{
+       if(![value isKindOfClass:[NSNumber class]]) return nil;
+       NSInteger slotItemID = [value integerValue];
+       if(slotItemID == -1) return nil;
+       
+       HMServerDataStore *store = [HMServerDataStore oneTimeEditor];
+       
+       NSError *error = nil;
+       NSArray *array = [store objectsWithEntityName:@"SlotItem"
+                                                                                       error:&error
+                                                                 predicateFormat:@"id = %@", value];
+       if([array count] == 0) {
+               NSLog(@"SlotItem is invalid.");
+               return nil;
+       }
+       
+       return [[array[0] valueForKey:@"name"] copy];
+}
+@end