OSDN Git Service

コード整形
[kcd/KCD.git] / KCD / ResourceViewController.swift
1 //
2 //  ResourceViewController.swift
3 //  KCD
4 //
5 //  Created by Hori,Masaki on 2016/12/25.
6 //  Copyright © 2016年 Hori,Masaki. All rights reserved.
7 //
8
9 import Cocoa
10
11 final class ResourceViewController: NSViewController {
12     
13     class func keyPathsForValuesAffectingShipNumberColor() -> Set<String> {
14         
15         return [#keyPath(maxChara), #keyPath(shipCount), #keyPath(minimumColoredShipCount)]
16     }
17     
18     let managedObjectContext = ServerDataStore.default.context
19     
20     deinit {
21         
22         unbind(#keyPath(maxChara))
23         unbind(#keyPath(shipCount))
24     }
25     
26     @IBOutlet var shipController: NSArrayController!
27     @IBOutlet var basicController: NSObjectController!
28     
29     dynamic var maxChara: Int = 0
30     dynamic var shipCount: Int = 0
31     dynamic var shipNumberColor: NSColor {
32         
33         if shipCount > maxChara - minimumColoredShipCount {
34             
35             return NSColor.orange
36             
37         }
38         
39         return NSColor.controlTextColor
40     }
41     
42     dynamic var minimumColoredShipCount: Int {
43         
44         get { return UserDefaults.standard.minimumColoredShipCount }
45         set { UserDefaults.standard.minimumColoredShipCount = newValue }
46     }
47     
48     override var nibName: String! {
49         
50         return "ResourceViewController"
51     }
52     
53     override func viewDidLoad() {
54         
55         super.viewDidLoad()
56         
57         bind(#keyPath(maxChara), to: basicController, withKeyPath: "selection.max_chara", options: nil)
58         bind(#keyPath(shipCount), to: shipController, withKeyPath: "arrangedObjects.@count", options: nil)
59     }
60 }