project_files/HedgewarsMobile/Classes/TeamConfigViewController.m
author nemo
Sat, 04 Dec 2010 11:30:54 -0500
changeset 4455 a0c8779713f2
parent 4356 d1d26f8963a3
child 4476 4bf74e158f44
permissions -rw-r--r--
In AI survival mode, have the AI score when it kills humans, instead of its own team, clear poison on an AI kill, and reset AI health using InitialHealth instead of 100.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3829
81db3c85784b headers ftw, also right project file
koda
parents: 3814
diff changeset
     1
/*
81db3c85784b headers ftw, also right project file
koda
parents: 3814
diff changeset
     2
 * Hedgewars-iOS, a Hedgewars port for iOS devices
81db3c85784b headers ftw, also right project file
koda
parents: 3814
diff changeset
     3
 * Copyright (c) 2009-2010 Vittorio Giovara <vittorio.giovara@gmail.com>
81db3c85784b headers ftw, also right project file
koda
parents: 3814
diff changeset
     4
 *
81db3c85784b headers ftw, also right project file
koda
parents: 3814
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
81db3c85784b headers ftw, also right project file
koda
parents: 3814
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
81db3c85784b headers ftw, also right project file
koda
parents: 3814
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
81db3c85784b headers ftw, also right project file
koda
parents: 3814
diff changeset
     8
 *
81db3c85784b headers ftw, also right project file
koda
parents: 3814
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
81db3c85784b headers ftw, also right project file
koda
parents: 3814
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
81db3c85784b headers ftw, also right project file
koda
parents: 3814
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
81db3c85784b headers ftw, also right project file
koda
parents: 3814
diff changeset
    12
 * GNU General Public License for more details.
81db3c85784b headers ftw, also right project file
koda
parents: 3814
diff changeset
    13
 *
81db3c85784b headers ftw, also right project file
koda
parents: 3814
diff changeset
    14
 * You should have received a copy of the GNU General Public License
81db3c85784b headers ftw, also right project file
koda
parents: 3814
diff changeset
    15
 * along with this program; if not, write to the Free Software
81db3c85784b headers ftw, also right project file
koda
parents: 3814
diff changeset
    16
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
81db3c85784b headers ftw, also right project file
koda
parents: 3814
diff changeset
    17
 *
81db3c85784b headers ftw, also right project file
koda
parents: 3814
diff changeset
    18
 * File created on 20/04/2010.
81db3c85784b headers ftw, also right project file
koda
parents: 3814
diff changeset
    19
 */
81db3c85784b headers ftw, also right project file
koda
parents: 3814
diff changeset
    20
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    21
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    22
#import "TeamConfigViewController.h"
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    23
#import "CommodityFunctions.h"
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    24
#import "HogButtonView.h"
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    25
#import "SquareButtonView.h"
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    26
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    27
@implementation TeamConfigViewController
3739
97cf933e5bd2 disable AI teleport
koda
parents: 3703
diff changeset
    28
@synthesize listOfTeams, listOfSelectedTeams, cachedContentsOfDir;
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    29
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    30
#define NUMBERBUTTON_TAG 123456
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    31
#define SQUAREBUTTON_TAG 654321
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    32
#define LABEL_TAG        456123
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    33
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    34
#pragma mark -
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    35
#pragma mark View lifecycle
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    36
-(void) viewDidLoad {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    37
    [super viewDidLoad];
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3662
diff changeset
    38
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    39
    CGSize screenSize = [[UIScreen mainScreen] bounds].size;
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    40
    self.view.frame = CGRectMake(0, 0, screenSize.height, screenSize.width - 44);
4082
bfe14b38dad1 better support for wimpier i-devices
koda
parents: 3983
diff changeset
    41
4244
bf46b4bdf27d iphone interface
koda
parents: 4115
diff changeset
    42
    if ([self.tableView respondsToSelector:@selector(setBackgroundView:)]) {
bf46b4bdf27d iphone interface
koda
parents: 4115
diff changeset
    43
        if (IS_IPAD())
bf46b4bdf27d iphone interface
koda
parents: 4115
diff changeset
    44
            [self.tableView setBackgroundView:nil];
bf46b4bdf27d iphone interface
koda
parents: 4115
diff changeset
    45
        else {
4356
d1d26f8963a3 update some files for new graphics and new ios4.2
koda
parents: 4284
diff changeset
    46
            UIImage *backgroundImage = [[UIImage alloc] initWithContentsOfFile:@"background~iphone.png"];
4244
bf46b4bdf27d iphone interface
koda
parents: 4115
diff changeset
    47
            UIImageView *background = [[UIImageView alloc] initWithImage:backgroundImage];
bf46b4bdf27d iphone interface
koda
parents: 4115
diff changeset
    48
            [backgroundImage release];
bf46b4bdf27d iphone interface
koda
parents: 4115
diff changeset
    49
            [self.tableView setBackgroundView:background];
bf46b4bdf27d iphone interface
koda
parents: 4115
diff changeset
    50
            [background release];
bf46b4bdf27d iphone interface
koda
parents: 4115
diff changeset
    51
        }
bf46b4bdf27d iphone interface
koda
parents: 4115
diff changeset
    52
    } else {
bf46b4bdf27d iphone interface
koda
parents: 4115
diff changeset
    53
        self.view.backgroundColor = [UIColor blackColor];
bf46b4bdf27d iphone interface
koda
parents: 4115
diff changeset
    54
    }
bf46b4bdf27d iphone interface
koda
parents: 4115
diff changeset
    55
3917
4c243b1eac97 playing a bit with colors
koda
parents: 3829
diff changeset
    56
    self.tableView.separatorColor = UICOLOR_HW_YELLOW_BODER;
3703
12d17c6e8855 halfway-through finishing the frontend with new graphics by Tiy + initial 'About' page set up
koda
parents: 3697
diff changeset
    57
    self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    58
}
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    59
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    60
-(void) viewWillAppear:(BOOL)animated {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    61
    [super viewWillAppear:animated];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    62
3739
97cf933e5bd2 disable AI teleport
koda
parents: 3703
diff changeset
    63
    NSArray *contentsOfDir = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:TEAMS_DIRECTORY() error:NULL];
3551
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    64
    // avoid overwriting selected teams when returning on this view
3971
5c82ee165ed5 minor stuff
koda
parents: 3917
diff changeset
    65
    if ([self.cachedContentsOfDir isEqualToArray:contentsOfDir] == NO) {
3917
4c243b1eac97 playing a bit with colors
koda
parents: 3829
diff changeset
    66
        NSArray *colors = getAvailableColors();
3551
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    67
        NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity:[contentsOfDir count]];
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    68
        for (int i = 0; i < [contentsOfDir count]; i++) {
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    69
            NSMutableDictionary *dict = [[NSMutableDictionary alloc] initWithObjectsAndKeys:
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    70
                                         [contentsOfDir objectAtIndex:i],@"team",
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    71
                                         [NSNumber numberWithInt:4],@"number",
3917
4c243b1eac97 playing a bit with colors
koda
parents: 3829
diff changeset
    72
                                         [colors objectAtIndex:i%[colors count]],@"color",nil];
3551
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    73
            [array addObject:dict];
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    74
            [dict release];
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    75
        }
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    76
        self.listOfTeams = array;
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    77
        [array release];
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3662
diff changeset
    78
3551
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    79
        NSMutableArray *emptyArray = [[NSMutableArray alloc] initWithObjects:nil];
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    80
        self.listOfSelectedTeams = emptyArray;
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    81
        [emptyArray release];
3739
97cf933e5bd2 disable AI teleport
koda
parents: 3703
diff changeset
    82
        
97cf933e5bd2 disable AI teleport
koda
parents: 3703
diff changeset
    83
        cachedContentsOfDir = [[NSArray alloc] initWithArray:contentsOfDir copyItems:YES];
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    84
    }
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    85
    [self.tableView reloadData];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    86
}
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    87
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    88
-(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    89
    return rotationManager(interfaceOrientation);
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    90
}
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    91
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    92
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    93
#pragma mark -
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    94
#pragma mark Table view data source
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    95
-(NSInteger) numberOfSectionsInTableView:(UITableView *)tableView {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    96
    return 2;
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    97
}
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    98
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    99
-(NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   100
    if (section == 0)
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   101
        return [listOfSelectedTeams count] ;
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   102
    else
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   103
        return [listOfTeams count];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   104
}
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   105
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   106
// Customize the appearance of table view cells.
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   107
-(UITableViewCell *)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   108
    static NSString *CellIdentifier0 = @"Cell0";
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   109
    static NSString *CellIdentifier1 = @"Cell1";
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   110
    NSInteger section = [indexPath section];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   111
    UITableViewCell *cell;
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3662
diff changeset
   112
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   113
    if (section == 0) {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   114
        cell = [aTableView dequeueReusableCellWithIdentifier:CellIdentifier0];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   115
        if (cell == nil) {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   116
            cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier0] autorelease];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   117
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   118
            UIButton *numberButton = [[HogButtonView alloc] initWithFrame:CGRectMake(12, 5, 88, 32)];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   119
            numberButton.tag = NUMBERBUTTON_TAG;
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   120
            [cell addSubview:numberButton];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   121
            [numberButton release];
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3662
diff changeset
   122
3814
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   123
            SquareButtonView *squareButton = [[SquareButtonView alloc] initWithFrame:CGRectMake(12+88+6, 5, 36, 36)];
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   124
            squareButton.tag = SQUAREBUTTON_TAG;
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   125
            [cell addSubview:squareButton];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   126
            [squareButton release];
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3662
diff changeset
   127
4284
57a501a69e5f update iFrontend with new schemes and weaps, fix up smaller glitches
koda
parents: 4244
diff changeset
   128
            NSInteger length;
57a501a69e5f update iFrontend with new schemes and weaps, fix up smaller glitches
koda
parents: 4244
diff changeset
   129
            if (IS_IPAD())
57a501a69e5f update iFrontend with new schemes and weaps, fix up smaller glitches
koda
parents: 4244
diff changeset
   130
                length = 103;
57a501a69e5f update iFrontend with new schemes and weaps, fix up smaller glitches
koda
parents: 4244
diff changeset
   131
            else
57a501a69e5f update iFrontend with new schemes and weaps, fix up smaller glitches
koda
parents: 4244
diff changeset
   132
                length = 285;
57a501a69e5f update iFrontend with new schemes and weaps, fix up smaller glitches
koda
parents: 4244
diff changeset
   133
            UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(12+88+6+36, 10, length, 25)];
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   134
            label.textAlignment = UITextAlignmentLeft;
3814
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   135
            label.minimumFontSize = 11;
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   136
            label.adjustsFontSizeToFitWidth = YES;
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   137
            label.baselineAdjustment = UIBaselineAdjustmentAlignCenters;
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   138
            label.backgroundColor = [UIColor clearColor];
3703
12d17c6e8855 halfway-through finishing the frontend with new graphics by Tiy + initial 'About' page set up
koda
parents: 3697
diff changeset
   139
            label.font = [UIFont boldSystemFontOfSize:[UIFont labelFontSize]];
12d17c6e8855 halfway-through finishing the frontend with new graphics by Tiy + initial 'About' page set up
koda
parents: 3697
diff changeset
   140
            label.textColor = UICOLOR_HW_YELLOW_TEXT;
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   141
            label.tag = LABEL_TAG;
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   142
            [cell.contentView addSubview:label];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   143
            [label release];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   144
        }
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3662
diff changeset
   145
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   146
        NSMutableDictionary *selectedRow = [listOfSelectedTeams objectAtIndex:[indexPath row]];
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3662
diff changeset
   147
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   148
        UILabel *cellLabel = (UILabel *)[cell viewWithTag:LABEL_TAG];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   149
        cellLabel.text = [[selectedRow objectForKey:@"team"] stringByDeletingPathExtension];
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3662
diff changeset
   150
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   151
        HogButtonView *numberButton = (HogButtonView *)[cell viewWithTag:NUMBERBUTTON_TAG];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   152
        [numberButton drawManyHogs:[[selectedRow objectForKey:@"number"] intValue]];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   153
        numberButton.ownerDictionary = selectedRow;
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3662
diff changeset
   154
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   155
        SquareButtonView *squareButton = (SquareButtonView *)[cell viewWithTag:SQUAREBUTTON_TAG];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   156
        [squareButton selectColor:[[selectedRow objectForKey:@"color"] intValue]];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   157
        squareButton.ownerDictionary = selectedRow;
3814
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   158
        
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   159
        NSString *teamPath = [NSString stringWithFormat:@"%@/%@",TEAMS_DIRECTORY(),[selectedRow objectForKey:@"team"]];
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   160
        NSDictionary *firstHog = [[[NSDictionary dictionaryWithContentsOfFile:teamPath] objectForKey:@"hedgehogs"] objectAtIndex:0];
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   161
        if ([[firstHog objectForKey:@"level"] intValue]> 0) {
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   162
            NSString *filePath = [NSString stringWithFormat:@"%@/cyborg.png",HATS_DIRECTORY()];
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   163
            UIImage *sprite = [[UIImage alloc] initWithContentsOfFile:filePath andCutAt:CGRectMake(0, 2, 32, 32)];
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   164
            UIImageView *spriteView = [[UIImageView alloc] initWithImage:sprite];
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   165
            [sprite release];
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   166
            
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   167
            cell.accessoryView = spriteView;
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   168
            [spriteView release];
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   169
        } else
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   170
            cell.accessoryView = nil;
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   171
    } else {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   172
        cell = [aTableView dequeueReusableCellWithIdentifier:CellIdentifier1];
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3662
diff changeset
   173
        if (cell == nil)
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   174
            cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier1] autorelease];
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3662
diff changeset
   175
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   176
        cell.textLabel.text = [[[listOfTeams objectAtIndex:[indexPath row]] objectForKey:@"team"] stringByDeletingPathExtension];
3814
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   177
        cell.accessoryView = nil;
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   178
    }
3917
4c243b1eac97 playing a bit with colors
koda
parents: 3829
diff changeset
   179
    
4c243b1eac97 playing a bit with colors
koda
parents: 3829
diff changeset
   180
    cell.textLabel.textColor = UICOLOR_HW_YELLOW_TEXT;
4c243b1eac97 playing a bit with colors
koda
parents: 3829
diff changeset
   181
    cell.backgroundColor = [UIColor blackColor];
3703
12d17c6e8855 halfway-through finishing the frontend with new graphics by Tiy + initial 'About' page set up
koda
parents: 3697
diff changeset
   182
    
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   183
    return cell;
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   184
}
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   185
3703
12d17c6e8855 halfway-through finishing the frontend with new graphics by Tiy + initial 'About' page set up
koda
parents: 3697
diff changeset
   186
-(CGFloat) tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
12d17c6e8855 halfway-through finishing the frontend with new graphics by Tiy + initial 'About' page set up
koda
parents: 3697
diff changeset
   187
    return 40.0;
12d17c6e8855 halfway-through finishing the frontend with new graphics by Tiy + initial 'About' page set up
koda
parents: 3697
diff changeset
   188
}
12d17c6e8855 halfway-through finishing the frontend with new graphics by Tiy + initial 'About' page set up
koda
parents: 3697
diff changeset
   189
12d17c6e8855 halfway-through finishing the frontend with new graphics by Tiy + initial 'About' page set up
koda
parents: 3697
diff changeset
   190
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
3983
aa24192417a8 use labels instead of images, should save ram and space
koda
parents: 3971
diff changeset
   191
    CGRect frame = CGRectMake(0, 0, self.view.frame.size.width * 80/100, 30);
aa24192417a8 use labels instead of images, should save ram and space
koda
parents: 3971
diff changeset
   192
    NSString *text;
3703
12d17c6e8855 halfway-through finishing the frontend with new graphics by Tiy + initial 'About' page set up
koda
parents: 3697
diff changeset
   193
    if (section == 0) 
3983
aa24192417a8 use labels instead of images, should save ram and space
koda
parents: 3971
diff changeset
   194
        text = NSLocalizedString(@"Playing Teams",@"");
3703
12d17c6e8855 halfway-through finishing the frontend with new graphics by Tiy + initial 'About' page set up
koda
parents: 3697
diff changeset
   195
    else
3983
aa24192417a8 use labels instead of images, should save ram and space
koda
parents: 3971
diff changeset
   196
        text = NSLocalizedString(@"Available Teams",@"");
aa24192417a8 use labels instead of images, should save ram and space
koda
parents: 3971
diff changeset
   197
    UILabel *theLabel = createBlueLabel(text, frame);
3780
7c704e69242e fade in when returning from game, labels rewritten so that they are drawn at runtime (more flexibility with i18n and iphone support)
koda
parents: 3739
diff changeset
   198
    theLabel.center = CGPointMake(self.view.frame.size.width/2, 20);
3703
12d17c6e8855 halfway-through finishing the frontend with new graphics by Tiy + initial 'About' page set up
koda
parents: 3697
diff changeset
   199
3780
7c704e69242e fade in when returning from game, labels rewritten so that they are drawn at runtime (more flexibility with i18n and iphone support)
koda
parents: 3739
diff changeset
   200
    UIView *theView = [[[UIView alloc] init] autorelease];
7c704e69242e fade in when returning from game, labels rewritten so that they are drawn at runtime (more flexibility with i18n and iphone support)
koda
parents: 3739
diff changeset
   201
    [theView addSubview:theLabel];
7c704e69242e fade in when returning from game, labels rewritten so that they are drawn at runtime (more flexibility with i18n and iphone support)
koda
parents: 3739
diff changeset
   202
    [theLabel release];
7c704e69242e fade in when returning from game, labels rewritten so that they are drawn at runtime (more flexibility with i18n and iphone support)
koda
parents: 3739
diff changeset
   203
    return theView;
3703
12d17c6e8855 halfway-through finishing the frontend with new graphics by Tiy + initial 'About' page set up
koda
parents: 3697
diff changeset
   204
}
12d17c6e8855 halfway-through finishing the frontend with new graphics by Tiy + initial 'About' page set up
koda
parents: 3697
diff changeset
   205
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   206
#pragma mark -
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   207
#pragma mark Table view delegate
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   208
-(void) tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   209
    NSInteger row = [indexPath row];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   210
    NSInteger section = [indexPath section];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   211
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   212
    if (section == 0) {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   213
        [self.listOfTeams addObject:[self.listOfSelectedTeams objectAtIndex:row]];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   214
        [self.listOfSelectedTeams removeObjectAtIndex:row];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   215
    } else {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   216
        [self.listOfSelectedTeams addObject:[self.listOfTeams objectAtIndex:row]];
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3662
diff changeset
   217
        [self.listOfTeams removeObjectAtIndex:row];
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   218
    }
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   219
    [aTableView reloadData];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   220
}
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   221
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   222
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   223
#pragma mark -
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   224
#pragma mark Memory management
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   225
-(void) didReceiveMemoryWarning {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   226
    // Relinquish ownership any cached data, images, etc that aren't in use.
3739
97cf933e5bd2 disable AI teleport
koda
parents: 3703
diff changeset
   227
    self.cachedContentsOfDir = nil;
3971
5c82ee165ed5 minor stuff
koda
parents: 3917
diff changeset
   228
    MSG_MEMCLEAN();
5c82ee165ed5 minor stuff
koda
parents: 3917
diff changeset
   229
    [super didReceiveMemoryWarning];
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   230
}
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   231
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   232
-(void) viewDidUnload {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   233
    self.listOfTeams = nil;
3739
97cf933e5bd2 disable AI teleport
koda
parents: 3703
diff changeset
   234
    self.listOfSelectedTeams = nil;
97cf933e5bd2 disable AI teleport
koda
parents: 3703
diff changeset
   235
    self.cachedContentsOfDir = nil;
3662
a44406f4369b polish polish polish polish (also: panning horizontal fix, panning momentum, settings page reworked yet again, memory leaks, crashes, segfaults)
koda
parents: 3659
diff changeset
   236
    MSG_DIDUNLOAD();
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   237
    [super viewDidUnload];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   238
}
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   239
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   240
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   241
-(void) dealloc {
3739
97cf933e5bd2 disable AI teleport
koda
parents: 3703
diff changeset
   242
    [listOfTeams release];
97cf933e5bd2 disable AI teleport
koda
parents: 3703
diff changeset
   243
    [listOfSelectedTeams release];
97cf933e5bd2 disable AI teleport
koda
parents: 3703
diff changeset
   244
    [cachedContentsOfDir release];
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   245
    [super dealloc];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   246
}
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   247
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   248
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   249
@end
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   250