OSDN Git Service

UIを調整
[kcd/KCD.git] / KCD / HMHideEquipNumberTransformer.m
1 //
2 //  HMHideEquipNumberTransformer.m
3 //  KCD
4 //
5 //  Created by Hori,Masaki on 2015/03/01.
6 //  Copyright (c) 2015年 Hori,Masaki. All rights reserved.
7 //
8
9 #import "HMHideEquipNumberTransformer.h"
10 #import "HMServerDataStore.h"
11
12 #import "HMKCSlotItemObject+Extensions.h"
13 #import "HMKCMasterSlotItemObject.h"
14
15 static NSArray *showsTypes = nil;
16
17 @implementation HMHideEquipNumberTransformer
18 + (void)load
19 {
20         static dispatch_once_t onceToken;
21         dispatch_once(&onceToken, ^{
22                 [NSValueTransformer setValueTransformer:[self new] forName:@"HMHideEquipNumberTransformer"];
23                 
24                 showsTypes = @[@6, @7, @8, @9, @10, @11, @25, @26, @41];
25         });
26 }
27
28 + (Class)transformedValueClass
29 {
30         return [NSString class];
31 }
32 + (BOOL)allowsReverseTransformation
33 {
34         return NO;
35 }
36
37 - (id)transformedValue:(id)value
38 {
39         if(![value isKindOfClass:[NSNumber class]]) return nil;
40         
41         NSInteger slotItemID = [value integerValue];
42         if(slotItemID == -1) return @YES;
43         
44         HMServerDataStore *store = [HMServerDataStore defaultManager];
45         
46         NSError *error = nil;
47         NSArray *array = [store objectsWithEntityName:@"SlotItem"
48                                                                                         error:&error
49                                                                   predicateFormat:@"id = %@", value];
50         if([array count] == 0) {
51                 NSLog(@"SlotItem is invalid.");
52                 return nil;
53         }
54         HMKCSlotItemObject *item = array[0];
55         
56         return @(![showsTypes containsObject:item.master_slotItem.type_2]);
57 }
58 @end