2 // StrengthenListItemCellView.swift
5 // Created by Hori,Masaki on 2017/01/02.
6 // Copyright © 2017年 Hori,Masaki. All rights reserved.
11 class StrengthenListItemCellView: NSTableCellView {
13 class func keyPathsForValuesAffectingSecondsShipList() -> Set<String> {
14 return ["objectValue"]
16 class func keyPathsForValuesAffectingRequiredEquipment01() -> Set<String> {
17 return ["objectValue"]
19 class func keyPathsForValuesAffectingRequiredEquipment02() -> Set<String> {
20 return ["objectValue"]
22 class func keyPathsForValuesAffectingRequiredEquipment03() -> Set<String> {
23 return ["objectValue"]
25 class func keyPathsForValuesAffectingTargetEquipment() -> Set<String> {
26 return ["objectValue"]
28 class func keyPathsForValuesAffectingRemodelEquipment() -> Set<String> {
29 return ["objectValue"]
31 class func keyPathsForValuesAffectingNeedsScrewString01() -> Set<String> {
32 return ["objectValue"]
34 class func keyPathsForValuesAffectingNeedsScrewString02() -> Set<String> {
35 return ["objectValue"]
37 class func keyPathsForValuesAffectingNeedsScrewString03() -> Set<String> {
38 return ["objectValue"]
41 private var item: EnhancementListItem? {
42 return objectValue as? EnhancementListItem
45 var secondsShipList: String? {
46 return item?.secondsShipNames.joined(separator: ", ")
48 var requiredEquipment01: RequiredEquipment? {
49 return item?.requiredEquipments.requiredEquipments.first
51 var requiredEquipment02: RequiredEquipment? {
52 guard let req = item?.requiredEquipments.requiredEquipments,
53 req.count > 1 else { return nil }
56 var requiredEquipment03: RequiredEquipment? {
57 guard let req = item?.requiredEquipments.requiredEquipments,
58 req.count > 2 else { return nil }
61 var targetEquipment: String? {
62 return item?.targetEquipment
64 var remodelEquipment: String? {
65 return item?.remodelEquipment
67 var needsScrewString01: String? {
68 return needsScrewString(screw: requiredEquipment01?.screw, ensureScrew: requiredEquipment01?.ensureScrew)
70 var needsScrewString02: String? {
71 return needsScrewString(screw: requiredEquipment02?.screw, ensureScrew: requiredEquipment02?.ensureScrew)
73 var needsScrewString03: String? {
74 return needsScrewString(screw: requiredEquipment03?.screw, ensureScrew: requiredEquipment03?.ensureScrew)
77 private func needsScrewString(screw: Int?, ensureScrew: Int?) -> String? {
78 guard let screw = screw,
79 let ensureScrew = ensureScrew,
82 let screwString = (screw == -1) ? "-" : "\(screw)"
83 let ensureScrewString = (ensureScrew == -1) ? "-" : "\(ensureScrew)"
84 return "\(screwString)/\(ensureScrewString)"