project_files/HedgewarsMobile/Classes/TeamConfigViewController.m
author koda
Mon, 04 Oct 2010 00:00:42 +0200
changeset 3924 2a9ace189288
parent 3917 4c243b1eac97
child 3971 5c82ee165ed5
permissions -rw-r--r--
WIP for an objc ammomenu implementation
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"
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
    23
#import <QuartzCore/QuartzCore.h>
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    24
#import "CommodityFunctions.h"
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    25
#import "HogButtonView.h"
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    26
#import "SquareButtonView.h"
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    27
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    28
@implementation TeamConfigViewController
3739
97cf933e5bd2 disable AI teleport
koda
parents: 3703
diff changeset
    29
@synthesize listOfTeams, listOfSelectedTeams, cachedContentsOfDir;
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    30
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    31
#define NUMBERBUTTON_TAG 123456
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    32
#define SQUAREBUTTON_TAG 654321
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    33
#define LABEL_TAG        456123
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    34
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    35
#pragma mark -
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    36
#pragma mark View lifecycle
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    37
-(void) viewDidLoad {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    38
    [super viewDidLoad];
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3662
diff changeset
    39
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    40
    CGSize screenSize = [[UIScreen mainScreen] bounds].size;
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    41
    self.view.frame = CGRectMake(0, 0, screenSize.height, screenSize.width - 44);
3703
12d17c6e8855 halfway-through finishing the frontend with new graphics by Tiy + initial 'About' page set up
koda
parents: 3697
diff changeset
    42
    
3917
4c243b1eac97 playing a bit with colors
koda
parents: 3829
diff changeset
    43
    [self.tableView setBackgroundView:nil];
4c243b1eac97 playing a bit with colors
koda
parents: 3829
diff changeset
    44
    self.view.backgroundColor = [UIColor clearColor];
4c243b1eac97 playing a bit with colors
koda
parents: 3829
diff changeset
    45
    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
    46
    self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    47
}
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    48
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    49
-(void) viewWillAppear:(BOOL)animated {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    50
    [super viewWillAppear:animated];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    51
3739
97cf933e5bd2 disable AI teleport
koda
parents: 3703
diff changeset
    52
    NSArray *contentsOfDir = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:TEAMS_DIRECTORY() error:NULL];
3551
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    53
    // avoid overwriting selected teams when returning on this view
3739
97cf933e5bd2 disable AI teleport
koda
parents: 3703
diff changeset
    54
    if ([cachedContentsOfDir isEqualToArray:contentsOfDir] == NO) {
3917
4c243b1eac97 playing a bit with colors
koda
parents: 3829
diff changeset
    55
        NSArray *colors = getAvailableColors();
3551
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    56
        NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity:[contentsOfDir count]];
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    57
        for (int i = 0; i < [contentsOfDir count]; i++) {
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    58
            NSMutableDictionary *dict = [[NSMutableDictionary alloc] initWithObjectsAndKeys:
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    59
                                         [contentsOfDir objectAtIndex:i],@"team",
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    60
                                         [NSNumber numberWithInt:4],@"number",
3917
4c243b1eac97 playing a bit with colors
koda
parents: 3829
diff changeset
    61
                                         [colors objectAtIndex:i%[colors count]],@"color",nil];
3551
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    62
            [array addObject:dict];
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    63
            [dict release];
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    64
        }
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    65
        self.listOfTeams = array;
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    66
        [array release];
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3662
diff changeset
    67
3551
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    68
        NSMutableArray *emptyArray = [[NSMutableArray alloc] initWithObjects:nil];
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    69
        self.listOfSelectedTeams = emptyArray;
d4de36b3801a moar zoom, fixed fort mode, other glitches
koda
parents: 3547
diff changeset
    70
        [emptyArray release];
3739
97cf933e5bd2 disable AI teleport
koda
parents: 3703
diff changeset
    71
        
97cf933e5bd2 disable AI teleport
koda
parents: 3703
diff changeset
    72
        cachedContentsOfDir = [[NSArray alloc] initWithArray:contentsOfDir copyItems:YES];
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    73
    }
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    74
    [self.tableView reloadData];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    75
}
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    76
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    77
-(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    78
    return rotationManager(interfaceOrientation);
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    79
}
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    80
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    81
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    82
#pragma mark -
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    83
#pragma mark Table view data source
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    84
-(NSInteger) numberOfSectionsInTableView:(UITableView *)tableView {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    85
    return 2;
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
-(NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    89
    if (section == 0)
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    90
        return [listOfSelectedTeams count] ;
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    91
    else
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    92
        return [listOfTeams count];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    93
}
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    94
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    95
// Customize the appearance of table view cells.
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    96
-(UITableViewCell *)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    97
    static NSString *CellIdentifier0 = @"Cell0";
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    98
    static NSString *CellIdentifier1 = @"Cell1";
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
    99
    NSInteger section = [indexPath section];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   100
    UITableViewCell *cell;
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3662
diff changeset
   101
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   102
    if (section == 0) {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   103
        cell = [aTableView dequeueReusableCellWithIdentifier:CellIdentifier0];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   104
        if (cell == nil) {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   105
            cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier0] autorelease];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   106
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   107
            UIButton *numberButton = [[HogButtonView alloc] initWithFrame:CGRectMake(12, 5, 88, 32)];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   108
            numberButton.tag = NUMBERBUTTON_TAG;
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   109
            [cell addSubview:numberButton];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   110
            [numberButton release];
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3662
diff changeset
   111
3814
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   112
            SquareButtonView *squareButton = [[SquareButtonView alloc] initWithFrame:CGRectMake(12+88+6, 5, 36, 36)];
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   113
            squareButton.tag = SQUAREBUTTON_TAG;
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   114
            [cell addSubview:squareButton];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   115
            [squareButton release];
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3662
diff changeset
   116
3814
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   117
            UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(12+88+6+36, 10, 103, 25)];
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   118
            label.textAlignment = UITextAlignmentLeft;
3814
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   119
            label.minimumFontSize = 11;
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   120
            label.adjustsFontSizeToFitWidth = YES;
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   121
            label.baselineAdjustment = UIBaselineAdjustmentAlignCenters;
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   122
            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
   123
            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
   124
            label.textColor = UICOLOR_HW_YELLOW_TEXT;
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   125
            label.tag = LABEL_TAG;
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   126
            [cell.contentView addSubview:label];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   127
            [label release];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   128
        }
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3662
diff changeset
   129
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   130
        NSMutableDictionary *selectedRow = [listOfSelectedTeams objectAtIndex:[indexPath row]];
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3662
diff changeset
   131
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   132
        UILabel *cellLabel = (UILabel *)[cell viewWithTag:LABEL_TAG];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   133
        cellLabel.text = [[selectedRow objectForKey:@"team"] stringByDeletingPathExtension];
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3662
diff changeset
   134
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   135
        HogButtonView *numberButton = (HogButtonView *)[cell viewWithTag:NUMBERBUTTON_TAG];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   136
        [numberButton drawManyHogs:[[selectedRow objectForKey:@"number"] intValue]];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   137
        numberButton.ownerDictionary = selectedRow;
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3662
diff changeset
   138
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   139
        SquareButtonView *squareButton = (SquareButtonView *)[cell viewWithTag:SQUAREBUTTON_TAG];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   140
        [squareButton selectColor:[[selectedRow objectForKey:@"color"] intValue]];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   141
        squareButton.ownerDictionary = selectedRow;
3814
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   142
        
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   143
        NSString *teamPath = [NSString stringWithFormat:@"%@/%@",TEAMS_DIRECTORY(),[selectedRow objectForKey:@"team"]];
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   144
        NSDictionary *firstHog = [[[NSDictionary dictionaryWithContentsOfFile:teamPath] objectForKey:@"hedgehogs"] objectAtIndex:0];
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   145
        if ([[firstHog objectForKey:@"level"] intValue]> 0) {
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   146
            NSString *filePath = [NSString stringWithFormat:@"%@/cyborg.png",HATS_DIRECTORY()];
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   147
            UIImage *sprite = [[UIImage alloc] initWithContentsOfFile:filePath andCutAt:CGRectMake(0, 2, 32, 32)];
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   148
            UIImageView *spriteView = [[UIImageView alloc] initWithImage:sprite];
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   149
            [sprite release];
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   150
            
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   151
            cell.accessoryView = spriteView;
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   152
            [spriteView release];
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   153
        } else
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   154
            cell.accessoryView = nil;
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   155
    } else {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   156
        cell = [aTableView dequeueReusableCellWithIdentifier:CellIdentifier1];
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3662
diff changeset
   157
        if (cell == nil)
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   158
            cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier1] autorelease];
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3662
diff changeset
   159
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   160
        cell.textLabel.text = [[[listOfTeams objectAtIndex:[indexPath row]] objectForKey:@"team"] stringByDeletingPathExtension];
3814
7af568bc0710 discrimination between ai and humans
koda
parents: 3780
diff changeset
   161
        cell.accessoryView = nil;
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   162
    }
3917
4c243b1eac97 playing a bit with colors
koda
parents: 3829
diff changeset
   163
    
4c243b1eac97 playing a bit with colors
koda
parents: 3829
diff changeset
   164
    cell.textLabel.textColor = UICOLOR_HW_YELLOW_TEXT;
4c243b1eac97 playing a bit with colors
koda
parents: 3829
diff changeset
   165
    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
   166
    
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   167
    return cell;
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   168
}
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   169
3703
12d17c6e8855 halfway-through finishing the frontend with new graphics by Tiy + initial 'About' page set up
koda
parents: 3697
diff changeset
   170
-(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
   171
    return 40.0;
12d17c6e8855 halfway-through finishing the frontend with new graphics by Tiy + initial 'About' page set up
koda
parents: 3697
diff changeset
   172
}
12d17c6e8855 halfway-through finishing the frontend with new graphics by Tiy + initial 'About' page set up
koda
parents: 3697
diff changeset
   173
12d17c6e8855 halfway-through finishing the frontend with new graphics by Tiy + initial 'About' page set up
koda
parents: 3697
diff changeset
   174
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
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
   175
    UILabel *theLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width * 80/100, 30)];
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
   176
    theLabel.backgroundColor = [UIColor blueColor];
3703
12d17c6e8855 halfway-through finishing the frontend with new graphics by Tiy + initial 'About' page set up
koda
parents: 3697
diff changeset
   177
    if (section == 0) 
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
   178
        theLabel.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
   179
    else
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
   180
        theLabel.text = NSLocalizedString(@"Available Teams",@"");
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
   181
    theLabel.center = CGPointMake(self.view.frame.size.width/2, 20);
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
   182
    theLabel.textColor = UICOLOR_HW_YELLOW_TEXT;
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
   183
    theLabel.textAlignment = UITextAlignmentCenter;
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
   184
    theLabel.font = [UIFont boldSystemFontOfSize:[UIFont labelFontSize]*80/100];
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
   185
    theLabel.backgroundColor = UICOLOR_HW_DARKBLUE;
3703
12d17c6e8855 halfway-through finishing the frontend with new graphics by Tiy + initial 'About' page set up
koda
parents: 3697
diff changeset
   186
    
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
   187
    [theLabel.layer setBorderWidth:1.5f];
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
   188
    [theLabel.layer setBorderColor:[UICOLOR_HW_YELLOW_BODER CGColor]];
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
   189
    [theLabel.layer setCornerRadius:8.0f];
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
   190
    [theLabel.layer setMasksToBounds:YES];
3703
12d17c6e8855 halfway-through finishing the frontend with new graphics by Tiy + initial 'About' page set up
koda
parents: 3697
diff changeset
   191
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
   192
    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
   193
    [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
   194
    [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
   195
    return theView;
3703
12d17c6e8855 halfway-through finishing the frontend with new graphics by Tiy + initial 'About' page set up
koda
parents: 3697
diff changeset
   196
}
12d17c6e8855 halfway-through finishing the frontend with new graphics by Tiy + initial 'About' page set up
koda
parents: 3697
diff changeset
   197
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   198
#pragma mark -
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   199
#pragma mark Table view delegate
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   200
-(void) tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   201
    NSInteger row = [indexPath row];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   202
    NSInteger section = [indexPath section];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   203
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   204
    if (section == 0) {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   205
        [self.listOfTeams addObject:[self.listOfSelectedTeams objectAtIndex:row]];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   206
        [self.listOfSelectedTeams removeObjectAtIndex:row];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   207
    } else {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   208
        [self.listOfSelectedTeams addObject:[self.listOfTeams objectAtIndex:row]];
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3662
diff changeset
   209
        [self.listOfTeams removeObjectAtIndex:row];
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   210
    }
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   211
    [aTableView reloadData];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   212
}
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   213
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   214
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   215
#pragma mark -
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   216
#pragma mark Memory management
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   217
-(void) didReceiveMemoryWarning {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   218
    // Releases the view if it doesn't have a superview.
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   219
    [super didReceiveMemoryWarning];
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   220
    // Relinquish ownership any cached data, images, etc that aren't in use.
3739
97cf933e5bd2 disable AI teleport
koda
parents: 3703
diff changeset
   221
    self.cachedContentsOfDir = nil;
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   222
}
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   223
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   224
-(void) viewDidUnload {
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   225
    self.listOfTeams = nil;
3739
97cf933e5bd2 disable AI teleport
koda
parents: 3703
diff changeset
   226
    self.listOfSelectedTeams = nil;
97cf933e5bd2 disable AI teleport
koda
parents: 3703
diff changeset
   227
    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
   228
    MSG_DIDUNLOAD();
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   229
    [super viewDidUnload];
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
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   233
-(void) dealloc {
3739
97cf933e5bd2 disable AI teleport
koda
parents: 3703
diff changeset
   234
    [listOfTeams release];
97cf933e5bd2 disable AI teleport
koda
parents: 3703
diff changeset
   235
    [listOfSelectedTeams release];
97cf933e5bd2 disable AI teleport
koda
parents: 3703
diff changeset
   236
    [cachedContentsOfDir release];
3547
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   237
    [super dealloc];
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
@end
02875b1145b7 i <3 mercurial
koda
parents: 3546
diff changeset
   242