project_files/HedgewarsMobile/Classes/GameConfigViewController.m
changeset 3546 ccf4854df294
parent 3525 1d7b056ff866
child 3547 02875b1145b7
--- a/project_files/HedgewarsMobile/Classes/GameConfigViewController.m	Wed Jun 23 21:39:14 2010 +0200
+++ b/project_files/HedgewarsMobile/Classes/GameConfigViewController.m	Wed Jun 23 21:49:19 2010 +0200
@@ -1,212 +0,0 @@
-    //
-//  GameConfigViewController.m
-//  HedgewarsMobile
-//
-//  Created by Vittorio on 18/04/10.
-//  Copyright 2010 __MyCompanyName__. All rights reserved.
-//
-
-#import "GameConfigViewController.h"
-#import "SDL_uikitappdelegate.h"
-#import "CommodityFunctions.h"
-#import "MapConfigViewController.h"
-#import "TeamConfigViewController.h"
-#import "SchemeWeaponConfigViewController.h"
-
-@implementation GameConfigViewController
-
-
--(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
-    return rotationManager(interfaceOrientation);
-}
-
--(IBAction) buttonPressed:(id) sender {
-    // works even if it's not actually a button
-    UIButton *theButton = (UIButton *)sender;
-    switch (theButton.tag) {
-        case 0:
-            [[self parentViewController] dismissModalViewControllerAnimated:YES];
-            break;
-        case 1:
-            theButton.enabled = NO;
-            [self performSelector:@selector(startGame:)
-                       withObject:theButton
-                       afterDelay:0.25];
-            break;
-        default:
-            break;
-    }
-}
-
--(IBAction) segmentPressed:(id) sender {
-    UISegmentedControl *theSegment = (UISegmentedControl *)sender;
-
-    switch (theSegment.selectedSegmentIndex) {
-        case 0:
-            // this init here is just aestetic as this controller was already set up in viewDidLoad
-            if (mapConfigViewController == nil) {
-                mapConfigViewController = [[MapConfigViewController alloc] initWithNibName:@"MapConfigViewController-iPhone" bundle:nil];
-            }
-            activeController = mapConfigViewController;
-            break;
-        case 1:
-            if (teamConfigViewController == nil) {
-                teamConfigViewController = [[TeamConfigViewController alloc] initWithStyle:UITableViewStyleGrouped];
-                // this message is compulsory otherwise the table won't be loaded at all
-            }
-            activeController = teamConfigViewController;
-            break;
-        case 2:
-            if (schemeWeaponConfigViewController == nil) {
-                schemeWeaponConfigViewController = [[SchemeWeaponConfigViewController alloc] initWithStyle:UITableViewStyleGrouped];
-            }
-            activeController = schemeWeaponConfigViewController;
-            break;
-    }
-    
-    // this message is compulsory otherwise the table won't be loaded at all
-    [activeController viewWillAppear:NO];      
-    [self.view addSubview:activeController.view];
-}
-
--(void) startGame:(UIButton *)button {
-    button.enabled = YES;
-
-    // don't start playing if the preview is in progress
-    if ([mapConfigViewController busy]) {
-        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Wait for the Preview",@"")
-                                                        message:NSLocalizedString(@"Before playing the preview needs to be generated",@"")
-                                                       delegate:nil
-                                              cancelButtonTitle:NSLocalizedString(@"Ok, got it",@"")
-                                              otherButtonTitles:nil];
-        [alert show];
-        [alert release];
-        return;
-    }
-    
-    // play only if there is more than one team
-    if ([teamConfigViewController.listOfSelectedTeams count] < 2) {
-        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Too few teams playing",@"")
-                                                        message:NSLocalizedString(@"You need to select at least two teams to play a game",@"")
-                                                       delegate:nil
-                                              cancelButtonTitle:NSLocalizedString(@"Ok, got it",@"")
-                                              otherButtonTitles:nil];
-        [alert show];
-        [alert release];
-        return;
-    }
-    
-    // play if there's room for enough hogs in the selected map
-    int hogs = 0;
-    for (NSDictionary *teamData in teamConfigViewController.listOfSelectedTeams)
-        hogs += [[teamData objectForKey:@"number"] intValue];
-
-    if (hogs > mapConfigViewController.maxHogs) {
-        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Too many hogs",@"")
-                                                        message:NSLocalizedString(@"The map you selected is too small for that many hogs",@"")
-                                                       delegate:nil
-                                              cancelButtonTitle:NSLocalizedString(@"Ok, got it",@"")
-                                              otherButtonTitles:nil];
-        [alert show];
-        [alert release];
-        return;
-    }
-    
-    // create the configuration file that is going to be sent to engine
-    NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys:mapConfigViewController.seedCommand,@"seed_command",
-                                                                      mapConfigViewController.templateFilterCommand,@"templatefilter_command",
-                                                                      mapConfigViewController.mapGenCommand,@"mapgen_command",
-                                                                      mapConfigViewController.mazeSizeCommand,@"mazesize_command",
-                                                                      mapConfigViewController.themeCommand,@"theme_command",
-                                                                      teamConfigViewController.listOfSelectedTeams,@"teams_list",
-                                                                      schemeWeaponConfigViewController.selectedScheme,@"scheme",
-                                                                      schemeWeaponConfigViewController.selectedWeapon,@"weapon",
-                                                                      nil];
-    [dict writeToFile:GAMECONFIG_FILE() atomically:YES];
-    [dict release];
-
-    // finally launch game and remove this controller
-    [[self parentViewController] dismissModalViewControllerAnimated:YES];
-    [[SDLUIKitDelegate sharedAppDelegate] startSDLgame];
-}
-
--(void) viewDidLoad {
-    CGRect screen = [[UIScreen mainScreen] bounds];
-    self.view.frame = CGRectMake(0, 0, screen.size.height, screen.size.width);
-
-    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
-        if (mapConfigViewController == nil)
-            mapConfigViewController = [[MapConfigViewController alloc] initWithNibName:@"MapConfigViewController-iPad" bundle:nil];
-        if (teamConfigViewController == nil)
-            teamConfigViewController = [[TeamConfigViewController alloc] initWithStyle:UITableViewStylePlain];
-        teamConfigViewController.view.frame = CGRectMake(0, 224, 300, 500);
-        teamConfigViewController.view.backgroundColor = [UIColor clearColor];
-        [mapConfigViewController.view addSubview:teamConfigViewController.view];
-        if (schemeWeaponConfigViewController == nil)
-            schemeWeaponConfigViewController = [[SchemeWeaponConfigViewController alloc] initWithStyle:UITableViewStyleGrouped];
-        schemeWeaponConfigViewController.view.frame = CGRectMake(362, 224, 300, 500);
-        schemeWeaponConfigViewController.view.backgroundColor = [UIColor clearColor];
-        [mapConfigViewController.view addSubview:schemeWeaponConfigViewController.view];
-        for (UIView *oneView in self.view.subviews) {
-            if ([oneView isMemberOfClass:[UIToolbar class]]) {
-                [[oneView viewWithTag:12345] setHidden:YES];
-                break;
-            }
-        }
-    } else
-        mapConfigViewController = [[MapConfigViewController alloc] initWithNibName:@"MapConfigViewController-iPhone" bundle:nil];
-    activeController = mapConfigViewController;
-    
-    [self.view addSubview:mapConfigViewController.view];
-    
-    [super viewDidLoad];
-}
-
--(void) viewWillAppear:(BOOL)animated {
-    [mapConfigViewController viewWillAppear:animated];
-    [teamConfigViewController viewWillAppear:animated];
-    [schemeWeaponConfigViewController viewWillAppear:animated];
-    // ADD other controllers here
-     
-    [super viewWillAppear:animated];
-}
-
--(void) viewDidAppear:(BOOL)animated {
-    [mapConfigViewController viewDidAppear:animated];
-    [teamConfigViewController viewDidAppear:animated];
-    [schemeWeaponConfigViewController viewDidAppear:animated];
-    [super viewDidAppear:animated];
-}
-
--(void) didReceiveMemoryWarning {
-    // Releases the view if it doesn't have a superview.
-    [super didReceiveMemoryWarning];
-    // Release any cached data, images, etc that aren't in use.
-    if (mapConfigViewController.view.superview == nil) 
-        mapConfigViewController = nil;
-    if (teamConfigViewController.view.superview == nil)
-        teamConfigViewController = nil;
-    if (schemeWeaponConfigViewController.view.superview == nil)
-        schemeWeaponConfigViewController = nil;
-    activeController = nil;
-    MSG_MEMCLEAN();
-}
-
--(void) viewDidUnload {
-    activeController = nil;
-    mapConfigViewController = nil;
-    teamConfigViewController = nil;
-    schemeWeaponConfigViewController = nil;
-    [super viewDidUnload];
-    MSG_DIDUNLOAD();
-}
-
--(void) dealloc {
-    [activeController release];
-    [mapConfigViewController release];
-    [teamConfigViewController release];
-    [schemeWeaponConfigViewController release];
-    [super dealloc];
-}
-
-@end