OSDN Git Service

必要なネジの数の表示方法を変更
[kcd/KCD.git] / KCD / HMStrengthenListItemCellView.m
1 //
2 //  HMStrengthenListItemCellView.m
3 //  KCD
4 //
5 //  Created by Hori,Masaki on 2015/06/13.
6 //  Copyright (c) 2015年 Hori,Masaki. All rights reserved.
7 //
8
9 #import "HMStrengthenListItemCellView.h"
10
11 #import "HMStrengthenListItemView.h"
12
13
14 @interface HMStrengthenListItemCellView ()
15 @property (nonatomic, weak) IBOutlet HMStrengthenListItemView *itemBox;
16
17 // for Cocoa Bindings
18 @property (readonly) NSString *secondsShipList;
19 @property (readonly) HMRequiredEquipment *requiredEquipment01;
20 @property (readonly) HMRequiredEquipment *requiredEquipment02;
21 @property (readonly) HMRequiredEquipment *requiredEquipment03;
22 @property (readonly) NSString *targetEquipment;
23 @property (readonly) NSString *remodelEquipment;
24
25 @property (readonly) NSString *needsScrewString01;
26 @property (readonly) NSString *needsScrewString02;
27 @property (readonly) NSString *needsScrewString03;
28 @end
29
30 @implementation HMStrengthenListItemCellView
31
32 - (HMEnhancementListItem *)item
33 {
34         return (HMEnhancementListItem *)self.objectValue;
35 }
36
37 + (NSSet *)keyPathsForValuesAffectingSecondsShipList
38 {
39         return [NSSet setWithObjects:@"item", @"objectValue", nil];
40 }
41 + (NSSet *)keyPathsForValuesAffectingRequiredEquipment01
42 {
43         return [NSSet setWithObjects:@"item", @"objectValue", nil];
44 }
45 + (NSSet *)keyPathsForValuesAffectingRequiredEquipment02
46 {
47         return [NSSet setWithObjects:@"item", @"objectValue", nil];
48 }
49 + (NSSet *)keyPathsForValuesAffectingRequiredEquipment03
50 {
51         return [NSSet setWithObjects:@"item", @"objectValue", nil];
52 }
53 + (NSSet *)keyPathsForValuesAffectingTargetEquipment
54 {
55         return [NSSet setWithObjects:@"item", @"objectValue", nil];
56 }
57 + (NSSet *)keyPathsForValuesAffectingRemodelEquipment
58 {
59         return [NSSet setWithObjects:@"item", @"objectValue", nil];
60 }
61 + (NSSet *)keyPathsForValuesAffectingNeedsScrewString01
62 {
63         return [NSSet setWithObjects:@"item", @"objectValue", nil];
64 }
65 + (NSSet *)keyPathsForValuesAffectingNeedsScrewString02
66 {
67         return [NSSet setWithObjects:@"item", @"objectValue", nil];
68 }
69 + (NSSet *)keyPathsForValuesAffectingNeedsScrewString03
70 {
71         return [NSSet setWithObjects:@"item", @"objectValue", nil];
72 }
73
74 - (NSString *)secondsShipList
75 {
76         NSArray *secondsShips = self.item.secondsShipNames;
77         
78         return [secondsShips componentsJoinedByString:@", "];
79 }
80 - (HMRequiredEquipment *)requiredEquipment01
81 {
82         return self.item.requiredEquipments.requiredEquipment01;
83 }
84 - (HMRequiredEquipment *)requiredEquipment02
85 {
86         return self.item.requiredEquipments.requiredEquipment02;
87 }
88 - (HMRequiredEquipment *)requiredEquipment03
89 {
90         return self.item.requiredEquipments.requiredEquipment03;
91 }
92 - (NSString *)targetEquipment
93 {
94         return self.item.targetEquipment;
95 }
96 - (NSString *)remodelEquipment
97 {
98         return self.item.remodelEquipment;
99 }
100
101 NSString *needsScrewString(NSNumber *screwNumber, NSNumber *ensureScrewNumber)
102 {
103     NSString *screwString = @"";
104     NSString *ensureScrewString = @"";
105     
106     NSInteger screw = screwNumber.integerValue;
107     if(screw == 0) return nil;
108     if(screw == -1) {
109         screwString = @"-";
110     } else {
111         screwString = [NSString stringWithFormat:@"%ld", screw];
112     }
113     
114     NSInteger ensureScrew = ensureScrewNumber.integerValue;
115     if(ensureScrew == -1) {
116         ensureScrewString = @"-";
117     } else {
118         ensureScrewString = [NSString stringWithFormat:@"%ld", ensureScrew];
119     }
120     
121     return [NSString stringWithFormat:@"%@/%@", screwString, ensureScrewString];
122 }
123
124 - (NSString *)needsScrewString01
125 {
126     return needsScrewString(self.requiredEquipment01.screw, self.requiredEquipment01.ensureScrew);
127 }
128 - (NSString *)needsScrewString02
129 {
130         return needsScrewString(self.requiredEquipment02.screw, self.requiredEquipment02.ensureScrew);
131 }
132 - (NSString *)needsScrewString03
133 {
134     return needsScrewString(self.requiredEquipment03.screw, self.requiredEquipment03.ensureScrew);
135 }
136 @end