project_files/HedgewarsMobile/Classes/TeamConfigViewController.m
author koda
Sat, 13 Nov 2010 01:24:39 +0100
changeset 4287 7dbdc862097c
parent 4284 57a501a69e5f
child 4356 d1d26f8963a3
permissions -rw-r--r--
some interface tricks for iphone as well
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 {
bf46b4bdf27d iphone interface
koda
parents: 4115
diff changeset
    46
            UIImage *backgroundImage = [[UIImage alloc] initWithContentsOfFile:@"backgroundCenter.png"];
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