From 0fcb2d0580789370f8e26fc9eb3043f16e5bcba1 Mon Sep 17 00:00:00 2001 From: masakih Date: Sun, 3 Jan 2016 23:15:48 +0900 Subject: [PATCH] =?utf8?q?=E6=96=B0=E3=81=97=E3=81=84=E6=94=B9=E4=BF=AE?= =?utf8?q?=E5=B7=A5=E5=BB=A0=E3=83=A1=E3=83=8B=E3=83=A5=E3=83=BC=E7=94=A8?= =?utf8?q?=E3=83=86=E3=82=99=E3=83=BC=E3=82=BF=E3=82=AF=E3=83=A9=E3=82=B9?= =?utf8?q?=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- KCD.xcodeproj/project.pbxproj | 6 ++ KCD/HMEnhancementListItem.h | 78 ++++++++++++++++++++ KCD/HMEnhancementListItem.m | 163 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 247 insertions(+) create mode 100644 KCD/HMEnhancementListItem.h create mode 100644 KCD/HMEnhancementListItem.m diff --git a/KCD.xcodeproj/project.pbxproj b/KCD.xcodeproj/project.pbxproj index 8620237e..dfd1b6ec 100644 --- a/KCD.xcodeproj/project.pbxproj +++ b/KCD.xcodeproj/project.pbxproj @@ -186,6 +186,7 @@ F4C1190818A746EB005D5B25 /* HMJSONTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = F4C1190718A746EB005D5B25 /* HMJSONTracker.m */; }; F4C1190B18A74DF0005D5B25 /* HMJSONCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = F4C1190A18A74DF0005D5B25 /* HMJSONCommand.m */; }; F4C3957418CDDFE500A1E918 /* HMKenzoDockStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = F4C3957318CDDFE500A1E918 /* HMKenzoDockStatus.m */; }; + F4C5A2231C3533E800533FB6 /* HMEnhancementListItem.m in Sources */ = {isa = PBXBuildFile; fileRef = F4C5A2221C3533E800533FB6 /* HMEnhancementListItem.m */; }; F4C86B921C1C445D00F260FE /* HMUpgradeShipExcludeColorTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = F4C86B911C1C445D00F260FE /* HMUpgradeShipExcludeColorTransformer.m */; }; F4D2CBC218AD0E1A000EBC59 /* HMMasterSTypeCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = F4D2CBC118AD0E1A000EBC59 /* HMMasterSTypeCommand.m */; }; F4D2CBC518AE2AE2000EBC59 /* HMCompositCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = F4D2CBC418AE2AE2000EBC59 /* HMCompositCommand.m */; }; @@ -556,6 +557,8 @@ F4C1190A18A74DF0005D5B25 /* HMJSONCommand.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMJSONCommand.m; sourceTree = ""; }; F4C3957218CDDFE500A1E918 /* HMKenzoDockStatus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMKenzoDockStatus.h; sourceTree = ""; }; F4C3957318CDDFE500A1E918 /* HMKenzoDockStatus.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMKenzoDockStatus.m; sourceTree = ""; }; + F4C5A2211C3533E800533FB6 /* HMEnhancementListItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMEnhancementListItem.h; sourceTree = ""; }; + F4C5A2221C3533E800533FB6 /* HMEnhancementListItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMEnhancementListItem.m; sourceTree = ""; }; F4C86B901C1C445C00F260FE /* HMUpgradeShipExcludeColorTransformer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMUpgradeShipExcludeColorTransformer.h; sourceTree = ""; }; F4C86B911C1C445D00F260FE /* HMUpgradeShipExcludeColorTransformer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMUpgradeShipExcludeColorTransformer.m; sourceTree = ""; }; F4D2CBC018AD0E1A000EBC59 /* HMMasterSTypeCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMMasterSTypeCommand.h; sourceTree = ""; }; @@ -963,6 +966,8 @@ F4F6E8071B2B17E50008B66E /* HMStrengthenListViewController.xib */, F4F6E80D1B2C25D20008B66E /* HMStrengthenListItemCellView.h */, F4F6E80E1B2C25D20008B66E /* HMStrengthenListItemCellView.m */, + F4C5A2211C3533E800533FB6 /* HMEnhancementListItem.h */, + F4C5A2221C3533E800533FB6 /* HMEnhancementListItem.m */, F4D6BCA61AA298FD00742FEB /* HMShipDetailViewController.h */, F4D6BCA71AA298FD00742FEB /* HMShipDetailViewController.m */, F4BEF00A1B11A5DE004702B8 /* HMShipDetailViewController.xib */, @@ -1411,6 +1416,7 @@ F4513EF618B9F29800073552 /* HMMemberShipCommand.m in Sources */, F4F6E8081B2B17E50008B66E /* HMStrengthenListViewController.m in Sources */, F4268034195332A000B2C27F /* HMPowerUpCommand.m in Sources */, + F4C5A2231C3533E800533FB6 /* HMEnhancementListItem.m in Sources */, F43769E71AE7D22700DE6204 /* HMKCQuest.m in Sources */, F43769E41AE7D01D00DE6204 /* HMUpdateQuestListCommand.m in Sources */, F4C1190818A746EB005D5B25 /* HMJSONTracker.m in Sources */, diff --git a/KCD/HMEnhancementListItem.h b/KCD/HMEnhancementListItem.h new file mode 100644 index 00000000..ca192200 --- /dev/null +++ b/KCD/HMEnhancementListItem.h @@ -0,0 +1,78 @@ +// +// HMEnhancementListItem.h +// KCD +// +// Created by Hori,Masaki on 2015/12/31. +// Copyright © 2015年 Hori,Masaki. All rights reserved. +// + +#import + + +typedef NS_ENUM(NSUInteger, EquipmentType) { + smallCaliberMainGun = 1, + mediumCaliberMainGun, + largeCaliberMainGun, + SecondaryGun, + torpedo = 8, + smallRadar = 16, + largeRadar, + sonar = 24, + depthCharge = 32, + armorPiercingShell = 40, + antiAircraftGun = 48, + antiAircraftFireDirector = 56, + searchlight = 64, +}; + +@interface HMRequiredEquipment : NSObject + +@property (copy, nonatomic) NSString *identifire; + +@property (copy, nonatomic) NSString *currentLevelString; +@property (copy, nonatomic) NSString *name; +@property (copy, nonatomic) NSNumber *number; +@property (copy, nonatomic) NSNumber *screw; +@property (copy, nonatomic) NSNumber *ensureScrew; + +@end + + +@interface HMRequiredEquipmentSet : NSObject + +@property (copy, nonatomic) NSString *identifire; + +@property (strong, nonatomic) NSArray *requiredEquipments; + + +// for Cocoa Bindings +@property (readonly) HMRequiredEquipment *requiredEquipment01; +@property (readonly) HMRequiredEquipment *requiredEquipment02; +@property (readonly) HMRequiredEquipment *requiredEquipment03; + +@end + + +@interface HMEnhancementListItem : NSObject + +@property (copy, nonatomic) NSString *identifire; + +@property (copy, nonatomic) NSNumber *weekday; + +@property (copy, nonatomic) NSNumber *equipmentType; + +@property (copy, nonatomic) NSString *targetEquipment; +@property (copy, nonatomic) NSString *remodelEquipment; + +@property (strong, nonatomic) HMRequiredEquipmentSet *requiredEquipments; + +@property (strong, nonatomic) NSArray *secondsShipNames; + + +// for Cocoa Bindings +@property (readonly) NSString *secondsShipName01; +@property (readonly) NSString *secondsShipName02; +@property (readonly) NSString *secondsShipName03; + + +@end diff --git a/KCD/HMEnhancementListItem.m b/KCD/HMEnhancementListItem.m new file mode 100644 index 00000000..ee23351d --- /dev/null +++ b/KCD/HMEnhancementListItem.m @@ -0,0 +1,163 @@ +// +// HMEnhancementListItem.m +// KCD +// +// Created by Hori,Masaki on 2015/12/31. +// Copyright © 2015年 Hori,Masaki. All rights reserved. +// + +#import "HMEnhancementListItem.h" + +@implementation HMRequiredEquipment +- (nullable instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + + self.identifire = [aDecoder decodeObjectForKey:@"HMRequiredEquipmentIdentifier"]; + self.currentLevelString = [aDecoder decodeObjectForKey:@"currentLevelString"]; + self.name = [aDecoder decodeObjectForKey:@"name"]; + self.number = [aDecoder decodeObjectForKey:@"number"]; + self.screw = [aDecoder decodeObjectForKey:@"screw"]; + self.ensureScrew = [aDecoder decodeObjectForKey:@"ensureScrew"]; + + return self; +} +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.identifire forKey:@"HMRequiredEquipmentIdentifier"]; + [aCoder encodeObject:self.currentLevelString forKey:@"currentLevelString"]; + [aCoder encodeObject:self.name forKey:@"name"]; + [aCoder encodeObject:self.number forKey:@"number"]; + [aCoder encodeObject:self.screw forKey:@"screw"]; + [aCoder encodeObject:self.ensureScrew forKey:@"ensureScrew"]; +} + +- (instancetype)copyWithZone:(NSZone *)zone +{ + HMRequiredEquipment *obj = [HMRequiredEquipment new]; + obj.identifire = self.identifire; + obj.currentLevelString = self.currentLevelString; + obj.name = self.name; + obj.number = self.number; + obj.screw = self.screw; + obj.ensureScrew = self.ensureScrew; + + return obj; +} + +- (id)description +{ + NSString *format = + @"{\n" + @"identifier = %@,\n" + @"currentLevelString = %@,\n" + @"name = %@,\n" + @"number = %@,\n" + @"screw = %@,\n" + @"ensureScrew = %@,\n" + @"}"; + + return [NSString stringWithFormat:format, _identifire, _currentLevelString, _name, _number, _screw, _ensureScrew]; +} + +@end + +@implementation HMRequiredEquipmentSet +- (nullable instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + + self.identifire = [aDecoder decodeObjectForKey:@"HMRequiredEquipmentSetIdentifier"]; + self.requiredEquipments = [aDecoder decodeObjectForKey:@"requiredEquipments"]; + + return self; +} +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.identifire forKey:@"HMRequiredEquipmentSetIdentifier"]; + [aCoder encodeObject:self.requiredEquipments forKey:@"requiredEquipments"]; +} + +- (id)description +{ + return [NSString stringWithFormat:@"{identifier = %@,\nrequiredEquipments = %@\n}", _identifire, _requiredEquipments]; +} + +- (HMRequiredEquipment *)requiredEquipment01 +{ + if(self.requiredEquipments.count > 0) return self.requiredEquipments[0]; + return nil; +} +- (HMRequiredEquipment *)requiredEquipment02 +{ + if(self.requiredEquipments.count > 1) return self.requiredEquipments[1]; + return nil; +} +- (HMRequiredEquipment *)requiredEquipment03 +{ + if(self.requiredEquipments.count > 2) return self.requiredEquipments[2]; + return nil; +} +@end + +@implementation HMEnhancementListItem +- (nullable instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super init]; + + self.identifire = [aDecoder decodeObjectForKey:@"HMEnhancementListItemIdentifier"]; + self.weekday = [aDecoder decodeObjectForKey:@"weekday"]; + self.equipmentType = [aDecoder decodeObjectForKey:@"equipmentType"]; + self.targetEquipment = [aDecoder decodeObjectForKey:@"targetEquipment"]; + self.remodelEquipment = [aDecoder decodeObjectForKey:@"remodelEquipment"]; + self.requiredEquipments = [aDecoder decodeObjectForKey:@"requiredEquipments"]; + self.secondsShipNames = [aDecoder decodeObjectForKey:@"secondsShipNames"]; + + return self; +} +- (void)encodeWithCoder:(NSCoder *)aCoder +{ + [aCoder encodeObject:self.identifire forKey:@"HMEnhancementListItemIdentifier"]; + [aCoder encodeObject:self.weekday forKey:@"weekday"]; + [aCoder encodeObject:self.equipmentType forKey:@"equipmentType"]; + [aCoder encodeObject:self.targetEquipment forKey:@"targetEquipment"]; + [aCoder encodeObject:self.remodelEquipment forKey:@"remodelEquipment"]; + [aCoder encodeObject:self.requiredEquipments forKey:@"requiredEquipments"]; + [aCoder encodeObject:self.secondsShipNames forKey:@"secondsShipNames"]; +} + +- (id)description +{ + NSString *format = + @"{\n" + @"identifier = %@,\n" + @"weekday = %@,\n" + @"equipmentType = %@,\n" + @"targetEquipment = %@,\n" + @"remodelEquipment = %@,\n" + @"requiredEquipments = %@,\n" + @"secondsShipNames = %@,\n" + @"}"; + + return [NSString stringWithFormat:format, + _identifire, _weekday, _equipmentType, _targetEquipment, + _remodelEquipment, _requiredEquipments, _secondsShipNames]; +} + + +- (NSString *)secondsShipName01 +{ + if(self.secondsShipNames.count > 0) return self.secondsShipNames[0]; + return nil; +} +- (NSString *)secondsShipName02 +{ + if(self.secondsShipNames.count > 1) return self.secondsShipNames[1]; + return nil; +} +- (NSString *)secondsShipName03 +{ + if(self.secondsShipNames.count > 2) return self.secondsShipNames[2]; + return nil; +} +@end -- 2.11.0