summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rwxr-xr-xClasses/HighscoreListController.h4
-rwxr-xr-xClasses/HighscoreListController.m55
2 files changed, 47 insertions, 12 deletions
diff --git a/Classes/HighscoreListController.h b/Classes/HighscoreListController.h index 7b0069d..5921ec6 100755 --- a/Classes/HighscoreListController.h +++ b/Classes/HighscoreListController.h
@@ -10,6 +10,7 @@
10 10
11@interface HighscoreListController : UITableViewController { 11@interface HighscoreListController : UITableViewController {
12 UINavigationBar* navigationBar; 12 UINavigationBar* navigationBar;
13 UIToolbar* toolbar;
13 UINavigationItem* myNavigationItem; 14 UINavigationItem* myNavigationItem;
14 NSArray* localHighscores; 15 NSArray* localHighscores;
15 NSArray* globalHighscores; 16 NSArray* globalHighscores;
@@ -19,10 +20,13 @@
19 UIActivityIndicatorView* activity; 20 UIActivityIndicatorView* activity;
20 UILabel* statusText; 21 UILabel* statusText;
21 UITableView* tableView; 22 UITableView* tableView;
23 UISegmentedControl* areaControl;
24 UISegmentedControl* modeControl;
22} 25}
23 26
24- (void)back; 27- (void)back;
25- (void)switchLists:(id)sender; 28- (void)switchLists:(id)sender;
29- (void)switchGameMode:(id)sender;
26- (void)scoreRequestOk:(id)sender; 30- (void)scoreRequestOk:(id)sender;
27- (void)scoreRequestFail:(id)sender; 31- (void)scoreRequestFail:(id)sender;
28 32
diff --git a/Classes/HighscoreListController.m b/Classes/HighscoreListController.m index d7bffcb..68ea2f6 100755 --- a/Classes/HighscoreListController.m +++ b/Classes/HighscoreListController.m
@@ -29,26 +29,36 @@
29 UIBarButtonItem* barButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(back)]; 29 UIBarButtonItem* barButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(back)];
30 myNavigationItem.leftBarButtonItem = barButton; 30 myNavigationItem.leftBarButtonItem = barButton;
31 [barButton release]; 31 [barButton release];
32 [navigationBar pushNavigationItem:myNavigationItem animated:NO];
32 33
33 UISegmentedControl* segmentedControl = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"Local", @"Global", nil]]; 34 areaControl = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"Local", @"Global", nil]];
34 segmentedControl.selectedSegmentIndex = 0; 35 areaControl.selectedSegmentIndex = 0;
35 segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar; 36 areaControl.segmentedControlStyle = UISegmentedControlStyleBar;
36 [segmentedControl addTarget:self action:@selector(switchLists:) forControlEvents:UIControlEventValueChanged]; 37 [areaControl addTarget:self action:@selector(switchLists:) forControlEvents:UIControlEventValueChanged];
37 UIBarButtonItem* barButton2 = [[UIBarButtonItem alloc] initWithCustomView:segmentedControl]; 38 UIBarButtonItem* barButton2 = [[UIBarButtonItem alloc] initWithCustomView:areaControl];
38 [segmentedControl release]; 39
39 myNavigationItem.rightBarButtonItem = barButton2; 40 UIBarButtonItem* btnSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
40 [barButton2 release];
41 41
42 [navigationBar pushNavigationItem:myNavigationItem animated:NO]; 42 modeControl = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"Collect", @"Jump", nil]];
43 modeControl.selectedSegmentIndex = 0;
44 modeControl.segmentedControlStyle = UISegmentedControlStyleBar;
45 [modeControl addTarget:self action:@selector(switchGameMode:) forControlEvents:UIControlEventValueChanged];
46 UIBarButtonItem* barButton3 = [[UIBarButtonItem alloc] initWithCustomView:modeControl];
47
48 toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 480-44, 320, 44)];
49 [toolbar setItems:[NSArray arrayWithObjects:barButton3, btnSpace, barButton2, nil] animated:NO];
50 [barButton2 release];
51 [barButton3 release];
43 52
44 showGlobal = NO; 53 showGlobal = NO;
45 loadingGlobal = NO; 54 loadingGlobal = NO;
46 55
47 tableView = [(UITableView*)self.view retain]; 56 tableView = [(UITableView*)self.view retain];
48 UIView* parentView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; 57 UIView* parentView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
49 [tableView setFrame:CGRectMake(0, 44, 320, 480-44)]; 58 [tableView setFrame:CGRectMake(0, 44, 320, 480-44-44)];
50 [parentView addSubview:navigationBar]; 59 [parentView addSubview:navigationBar];
51 [parentView addSubview:tableView]; 60 [parentView addSubview:tableView];
61 [parentView addSubview:toolbar];
52 self.view = parentView; 62 self.view = parentView;
53 [parentView release]; 63 [parentView release];
54 } 64 }
@@ -282,7 +292,7 @@
282 { 292 {
283 loadingGlobal = YES; 293 loadingGlobal = YES;
284 294
285 loadingView = [[UIView alloc] initWithFrame:CGRectMake(0, 44, 320, 480-44)]; 295 loadingView = [[UIView alloc] initWithFrame:CGRectMake(0, 44, 320, 480-44-44)];
286 activity = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(150, 228-44, 20, 20)]; 296 activity = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(150, 228-44, 20, 20)];
287 activity.activityIndicatorViewStyle = UIActivityIndicatorViewStyleGray; 297 activity.activityIndicatorViewStyle = UIActivityIndicatorViewStyleGray;
288 statusText = [[UILabel alloc] initWithFrame:CGRectMake(0, 256-44, 320, 21)]; 298 statusText = [[UILabel alloc] initWithFrame:CGRectMake(0, 256-44, 320, 21)];
@@ -298,7 +308,14 @@
298 308
299 CLScoreServerRequest* request = [[CLScoreServerRequest alloc] initWithGameName:@"Cart Collect" delegate:self]; 309 CLScoreServerRequest* request = [[CLScoreServerRequest alloc] initWithGameName:@"Cart Collect" delegate:self];
300 tQueryFlags flags = kQueryFlagIgnore; 310 tQueryFlags flags = kQueryFlagIgnore;
301 [request requestScores:kQueryAllTime limit:15 offset:0 flags:flags category:@"Classic"]; 311
312 if (modeControl.selectedSegmentIndex == 0)
313 {
314 [request requestScores:kQueryAllTime limit:15 offset:0 flags:flags category:@"Classic"];
315 } else {
316 [request requestScores:kQueryAllTime limit:15 offset:0 flags:flags category:@"Jump"];
317 }
318
302 [request release]; 319 [request release];
303 } else { 320 } else {
304 showGlobal = YES; 321 showGlobal = YES;
@@ -307,6 +324,20 @@
307 } 324 }
308} 325}
309 326
327- (void)switchGameMode:(id)sender
328{
329 if ([(UISegmentedControl*)sender selectedSegmentIndex] == 0)
330 {
331 localHighscores = [Highscore localHighscoreListForGameMode:@"Collect"];
332 } else {
333 localHighscores = [Highscore localHighscoreListForGameMode:@"Jump"];
334 }
335
336 globalHighscores = nil;
337
338 [self switchLists:areaControl];
339}
340
310- (void)scoreRequestOk:(id)sender 341- (void)scoreRequestOk:(id)sender
311{ 342{
312 NSArray* highscores = [sender parseScores]; 343 NSArray* highscores = [sender parseScores];