22 #import "MapConfigViewController.h" |
22 #import "MapConfigViewController.h" |
23 #import <QuartzCore/QuartzCore.h> |
23 #import <QuartzCore/QuartzCore.h> |
24 #import "SchemeWeaponConfigViewController.h" |
24 #import "SchemeWeaponConfigViewController.h" |
25 #import "GameConfigViewController.h" |
25 #import "GameConfigViewController.h" |
26 |
26 |
27 |
|
28 #define scIndex self.segmentedControl.selectedSegmentIndex |
27 #define scIndex self.segmentedControl.selectedSegmentIndex |
29 #define isRandomness() (segmentedControl.selectedSegmentIndex == 0 || segmentedControl.selectedSegmentIndex == 2) |
28 #define isRandomness() (segmentedControl.selectedSegmentIndex == 0 || segmentedControl.selectedSegmentIndex == 2) |
30 |
29 |
31 @implementation MapConfigViewController |
30 @implementation MapConfigViewController |
32 @synthesize previewButton, maxHogs, seedCommand, templateFilterCommand, mapGenCommand, mazeSizeCommand, themeCommand, staticMapCommand, |
31 @synthesize previewButton, maxHogs, seedCommand, templateFilterCommand, mapGenCommand, mazeSizeCommand, themeCommand, staticMapCommand, |
33 missionCommand, tableView, maxLabel, sizeLabel, segmentedControl, slider, lastIndexPath, dataSourceArray, busy, |
32 missionCommand, tableView, maxLabel, segmentedControl, slider, lastIndexPath, dataSourceArray, busy, |
34 oldPage, oldValue; |
33 oldPage, oldValue; |
35 |
34 |
36 |
35 |
37 -(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { |
36 -(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { |
38 return rotationManager(interfaceOrientation); |
37 return rotationManager(interfaceOrientation); |
280 templateCommand = nil; |
279 templateCommand = nil; |
281 mazeCommand = nil; |
280 mazeCommand = nil; |
282 break; |
281 break; |
283 } |
282 } |
284 |
283 |
285 self.sizeLabel.text = labelText; |
284 self.slider.textValue = labelText; |
286 self.templateFilterCommand = templateCommand; |
285 self.templateFilterCommand = templateCommand; |
287 self.mazeSizeCommand = mazeCommand; |
286 self.mazeSizeCommand = mazeCommand; |
288 } |
287 } |
289 |
288 |
290 // update preview (if not busy and if its value really changed) as soon as the user lifts its finger up |
289 // update preview (if not busy and if its value really changed) as soon as the user lifts its finger up |
318 mapgen = @"e$mapgen 0"; |
317 mapgen = @"e$mapgen 0"; |
319 // dummy values, these are set by -updatePreview -> -didSelectRowAtIndexPath -> -setDetailsForStaticMap |
318 // dummy values, these are set by -updatePreview -> -didSelectRowAtIndexPath -> -setDetailsForStaticMap |
320 staticmap = @"map Bamboo"; |
319 staticmap = @"map Bamboo"; |
321 mission = @""; |
320 mission = @""; |
322 self.slider.enabled = NO; |
321 self.slider.enabled = NO; |
323 self.sizeLabel.text = NSLocalizedString(@"No filter",@""); |
|
324 [SchemeWeaponConfigViewController fillInstanceSections]; |
322 [SchemeWeaponConfigViewController fillInstanceSections]; |
325 break; |
323 break; |
326 |
324 |
327 case 2: // Maze |
325 case 2: // Maze |
328 mapgen = @"e$mapgen 1"; |
326 mapgen = @"e$mapgen 1"; |
337 mapgen = @"e$mapgen 0"; |
335 mapgen = @"e$mapgen 0"; |
338 // dummy values, these are set by -updatePreview -> -didSelectRowAtIndexPath -> -setDetailsForStaticMap |
336 // dummy values, these are set by -updatePreview -> -didSelectRowAtIndexPath -> -setDetailsForStaticMap |
339 staticmap = @"map Bamboo"; |
337 staticmap = @"map Bamboo"; |
340 mission = @""; |
338 mission = @""; |
341 self.slider.enabled = NO; |
339 self.slider.enabled = NO; |
342 self.sizeLabel.text = NSLocalizedString(@"No filter",@""); |
|
343 [SchemeWeaponConfigViewController emptyInstanceSections]; |
340 [SchemeWeaponConfigViewController emptyInstanceSections]; |
344 break; |
341 break; |
345 |
342 |
346 default: |
343 default: |
347 mapgen = nil; |
344 mapgen = nil; |
405 [array release]; |
402 [array release]; |
406 } |
403 } |
407 return dataSourceArray; |
404 return dataSourceArray; |
408 } |
405 } |
409 |
406 |
410 -(MapPreviewButtonView *)previewButton { |
|
411 if (previewButton == nil) { |
|
412 MapPreviewButtonView *preview = [[MapPreviewButtonView alloc] initWithFrame:CGRectMake(32, 26, 256, 128)]; |
|
413 preview.delegate = self; |
|
414 [preview addTarget:self action:@selector(mapButtonPressed:) forControlEvents:UIControlEventTouchUpInside]; |
|
415 [self.view addSubview:preview]; |
|
416 self.previewButton = preview; |
|
417 [preview release]; |
|
418 } |
|
419 return previewButton; |
|
420 } |
|
421 |
|
422 -(void) viewDidLoad { |
407 -(void) viewDidLoad { |
423 [super viewDidLoad]; |
408 [super viewDidLoad]; |
424 |
|
425 srandom(time(NULL)); |
409 srandom(time(NULL)); |
426 |
|
427 /* |
|
428 CGSize screenSize = [[UIScreen mainScreen] bounds].size; |
|
429 self.view.frame = CGRectMake(0, 0, screenSize.height, screenSize.width - 44); |
|
430 */ |
|
431 |
410 |
432 // initialize some "default" values |
411 // initialize some "default" values |
433 self.slider.value = 0.05f; |
412 self.slider.value = 0.05f; |
434 self.slider.enabled = NO; |
413 self.slider.enabled = NO; |
435 self.sizeLabel.text = NSLocalizedString(@"No filter",@""); |
|
436 self.oldValue = 5; |
414 self.oldValue = 5; |
437 self.busy = NO; |
415 self.busy = NO; |
438 self.oldPage = self.segmentedControl.selectedSegmentIndex; |
416 self.oldPage = self.segmentedControl.selectedSegmentIndex; |
439 |
417 |
440 self.templateFilterCommand = @"e$template_filter 0"; |
418 self.templateFilterCommand = @"e$template_filter 0"; |
449 self.tableView.layer.borderWidth = 2.7f; |
427 self.tableView.layer.borderWidth = 2.7f; |
450 self.tableView.layer.cornerRadius = 8; |
428 self.tableView.layer.cornerRadius = 8; |
451 self.tableView.contentInset = UIEdgeInsetsMake(10, 0, 10, 0); |
429 self.tableView.contentInset = UIEdgeInsetsMake(10, 0, 10, 0); |
452 |
430 |
453 UILabel *backLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 14, 300, 190) andTitle:nil withBorderWidth:2.3f]; |
431 UILabel *backLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 14, 300, 190) andTitle:nil withBorderWidth:2.3f]; |
|
432 backLabel.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin; |
454 [self.view insertSubview:backLabel belowSubview:self.segmentedControl]; |
433 [self.view insertSubview:backLabel belowSubview:self.segmentedControl]; |
455 [backLabel release]; |
434 [backLabel release]; |
456 } |
435 } |
457 self.tableView.separatorColor = [UIColor whiteColor]; |
436 self.tableView.separatorColor = [UIColor whiteColor]; |
458 self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; |
437 self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; |
478 self.missionCommand = nil; |
457 self.missionCommand = nil; |
479 |
458 |
480 self.previewButton = nil; |
459 self.previewButton = nil; |
481 self.tableView = nil; |
460 self.tableView = nil; |
482 self.maxLabel = nil; |
461 self.maxLabel = nil; |
483 self.sizeLabel = nil; |
|
484 self.segmentedControl = nil; |
462 self.segmentedControl = nil; |
485 self.slider = nil; |
463 self.slider = nil; |
486 |
464 |
487 self.lastIndexPath = nil; |
465 self.lastIndexPath = nil; |
488 self.dataSourceArray = nil; |
466 self.dataSourceArray = nil; |
516 releaseAndNil(missionCommand); |
493 releaseAndNil(missionCommand); |
517 |
494 |
518 releaseAndNil(previewButton); |
495 releaseAndNil(previewButton); |
519 releaseAndNil(tableView); |
496 releaseAndNil(tableView); |
520 releaseAndNil(maxLabel); |
497 releaseAndNil(maxLabel); |
521 releaseAndNil(sizeLabel); |
|
522 releaseAndNil(segmentedControl); |
498 releaseAndNil(segmentedControl); |
523 releaseAndNil(slider); |
499 releaseAndNil(slider); |
524 |
500 |
525 releaseAndNil(lastIndexPath); |
501 releaseAndNil(lastIndexPath); |
526 releaseAndNil(dataSourceArray); |
502 releaseAndNil(dataSourceArray); |