1 // |
|
2 // HogButtonView.m |
|
3 // HedgewarsMobile |
|
4 // |
|
5 // Created by Vittorio on 20/04/10. |
|
6 // Copyright 2010 __MyCompanyName__. All rights reserved. |
|
7 // |
|
8 |
|
9 #import "HogButtonView.h" |
|
10 #import "CommodityFunctions.h" |
|
11 #import "UIImageExtra.h" |
|
12 |
|
13 @implementation HogButtonView |
|
14 @synthesize singleHog, numberOfHogs, ownerDictionary; |
|
15 |
|
16 -(id) initWithFrame:(CGRect)frame { |
|
17 if ((self = [super initWithFrame:frame])) { |
|
18 self.backgroundColor = [UIColor clearColor]; |
|
19 |
|
20 NSString *normalHogFile = [[NSString alloc] initWithFormat:@"%@/Hedgehog.png",GRAPHICS_DIRECTORY()]; |
|
21 UIImage *normalHogSprite = [[UIImage alloc] initWithContentsOfFile:normalHogFile andCutAt:CGRectMake(96, 0, 32, 32)]; |
|
22 [normalHogFile release]; |
|
23 |
|
24 self.singleHog = normalHogSprite; |
|
25 [normalHogSprite release]; |
|
26 [self addTarget:self action:@selector(addOne) forControlEvents:UIControlEventTouchUpInside]; |
|
27 } |
|
28 return self; |
|
29 } |
|
30 |
|
31 -(void) addOne { |
|
32 self.highlighted = NO; |
|
33 NSInteger number = self.numberOfHogs; |
|
34 number++; |
|
35 [self drawManyHogs:number]; |
|
36 } |
|
37 |
|
38 -(void) drawManyHogs:(NSInteger) hogs { |
|
39 if (numberOfHogs != hogs) { |
|
40 if (hogs <= MAX_HOGS && hogs >= 1) |
|
41 numberOfHogs = hogs; |
|
42 else { |
|
43 if (hogs > MAX_HOGS) |
|
44 numberOfHogs = 1; |
|
45 else |
|
46 numberOfHogs = MAX_HOGS; |
|
47 } |
|
48 [ownerDictionary setObject:[NSNumber numberWithInt:numberOfHogs] forKey:@"number"]; |
|
49 |
|
50 UIImage *teamHogs = [[[UIImage alloc] init] autorelease]; |
|
51 for (int i = 0; i < numberOfHogs; i++) { |
|
52 teamHogs = [singleHog mergeWith:teamHogs |
|
53 atPoint:CGPointMake(8, 0) |
|
54 atSize:CGSizeMake(88, 32)]; |
|
55 } |
|
56 [self setImage:teamHogs forState:UIControlStateNormal]; |
|
57 } |
|
58 } |
|
59 |
|
60 -(void) dealloc { |
|
61 [ownerDictionary release]; |
|
62 [singleHog release]; |
|
63 [super dealloc]; |
|
64 } |
|
65 |
|
66 |
|
67 @end |
|