project_files/HedgewarsMobile/Classes/MapConfigViewController.m
changeset 6634 e00762923086
parent 6115 485cfecadc9a
child 6669 3933198e2b28
equal deleted inserted replaced
6633:2dc43ce68721 6634:e00762923086
    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;
   497     [super didReceiveMemoryWarning];
   475     [super didReceiveMemoryWarning];
   498 
   476 
   499     if (self.view.superview == nil) {
   477     if (self.view.superview == nil) {
   500         self.tableView = nil;
   478         self.tableView = nil;
   501         self.maxLabel = nil;
   479         self.maxLabel = nil;
   502         self.sizeLabel = nil;
       
   503         self.slider = nil;
   480         self.slider = nil;
   504     }
   481     }
   505 
   482 
   506     MSG_MEMCLEAN();
   483     MSG_MEMCLEAN();
   507 }
   484 }
   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);