OSDN Git Service

UIを調整
[kcd/KCD.git] / KCD / HMResourceViewController.m
1 //
2 //  HMResourceViewController.m
3 //  KCD
4 //
5 //  Created by Hori,Masaki on 2015/12/06.
6 //  Copyright (c) 2015年 Hori,Masaki. All rights reserved.
7 //
8
9 #import "HMResourceViewController.h"
10
11 #import "HMUserDefaults.h"
12
13 #import "HMServerDataStore.h"
14
15 @interface HMResourceViewController ()
16 @property (readonly) NSManagedObjectContext *managedObjectContext;
17
18 @property (nonatomic, strong) IBOutlet NSArrayController *shipController;
19 @property (nonatomic, strong) IBOutlet NSObjectController *basicController;
20 @property (nonatomic, strong) NSNumber *maxChara;
21 @property (nonatomic, strong) NSNumber *shipCount;
22 @property (readonly) NSColor *shipNumberColor;
23 @property NSInteger minimumColoredShipCount;
24 @end
25
26 @implementation HMResourceViewController
27
28 - (id)init
29 {
30         self = [super initWithNibName:NSStringFromClass([self class]) bundle:nil];
31         return self;
32 }
33
34 - (void)awakeFromNib
35 {
36         [self bind:@"maxChara" toObject:self.basicController withKeyPath:@"selection.max_chara" options:nil];
37         [self bind:@"shipCount" toObject:self.shipController withKeyPath:@"arrangedObjects.@count" options:nil];
38 }
39
40 + (NSSet *)keyPathsForValuesAffectingShipNumberColor
41 {
42         return [NSSet setWithObjects:@"maxChara", @"shipCount", @"minimumColoredShipCount", nil];
43 }
44
45 - (NSManagedObjectContext *)managedObjectContext
46 {
47         return [HMServerDataStore defaultManager].managedObjectContext;
48 }
49
50 - (NSColor *)shipNumberColor
51 {
52         NSInteger max = self.maxChara.integerValue;
53         NSInteger current = self.shipCount.integerValue;
54         
55         if(current > max - self.minimumColoredShipCount) {
56                 return [NSColor orangeColor];
57         }
58         
59         return [NSColor controlTextColor];
60 }
61 - (void)setMinimumColoredShipCount:(NSInteger)minimumColoredShipCount
62 {
63         HMStandardDefaults.minimumColoredShipCount = minimumColoredShipCount;
64 }
65 - (NSInteger)minimumColoredShipCount
66 {
67         return HMStandardDefaults.minimumColoredShipCount;
68 }
69 @end