2 // ResourceViewController.swift
5 // Created by Hori,Masaki on 2016/12/25.
6 // Copyright © 2016年 Hori,Masaki. All rights reserved.
11 final class ResourceViewController: NSViewController {
13 class func keyPathsForValuesAffectingShipNumberColor() -> Set<String> {
15 return [#keyPath(maxChara), #keyPath(shipCount), #keyPath(minimumColoredShipCount)]
18 let managedObjectContext = ServerDataStore.default.context
22 unbind(#keyPath(maxChara))
23 unbind(#keyPath(shipCount))
26 @IBOutlet var shipController: NSArrayController!
27 @IBOutlet var basicController: NSObjectController!
29 dynamic var maxChara: Int = 0
30 dynamic var shipCount: Int = 0
31 dynamic var shipNumberColor: NSColor {
33 if shipCount > maxChara - minimumColoredShipCount {
39 return NSColor.controlTextColor
42 dynamic var minimumColoredShipCount: Int {
44 get { return UserDefaults.standard.minimumColoredShipCount }
45 set { UserDefaults.standard.minimumColoredShipCount = newValue }
48 override var nibName: String! {
50 return "ResourceViewController"
53 override func viewDidLoad() {
57 bind(#keyPath(maxChara), to: basicController, withKeyPath: "selection.max_chara", options: nil)
58 bind(#keyPath(shipCount), to: shipController, withKeyPath: "arrangedObjects.@count", options: nil)