project_files/HedgewarsMobile/Classes/RestoreViewController.m
author koda
Fri, 11 Nov 2011 01:40:23 +0100
changeset 6321 5a0416e5a6de
parent 6020 c792d4b3e080
child 6353 d8f62c805619
permissions -rw-r--r--
further engine interaction refactoring
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5220
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
     1
/*
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
     2
 * Hedgewars-iOS, a Hedgewars port for iOS devices
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
     3
 * Copyright (c) 2009-2011 Vittorio Giovara <vittorio.giovara@gmail.com>
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
     4
 *
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
     8
 *
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    12
 * GNU General Public License for more details.
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    13
 *
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    17
 *
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    18
 * File created on 28/05/2011.
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    19
 */
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    20
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    21
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    22
#import "RestoreViewController.h"
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    23
#import "GameInterfaceBridge.h"
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    24
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    25
@implementation RestoreViewController
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    26
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    27
// Override to allow orientations other than the default portrait orientation.
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    28
-(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    29
    return rotationManager(interfaceOrientation);
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    30
}
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    31
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    32
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    33
-(IBAction) buttonReleased:(id) sender {
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    34
    UIButton *theButton = (UIButton *)sender;
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    35
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    36
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    37
    if (theButton.tag != 0) {
6000
dbcebcd3d79f ios frontend: sounds and music have their own class now (with caching\!) instead of being spread here and there (exploiting class methods like a true oop pro)
koda
parents: 5699
diff changeset
    38
        [AudioManagerController playClickSound];
6020
c792d4b3e080 this finally fixes the interaction between RestoredGameViewController and StatsPagesViewController
koda
parents: 6008
diff changeset
    39
        [[NSNotificationCenter defaultCenter] postNotificationName:@"launchRestoredGame" object:nil];
5220
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    40
    } else {
6000
dbcebcd3d79f ios frontend: sounds and music have their own class now (with caching\!) instead of being spread here and there (exploiting class methods like a true oop pro)
koda
parents: 5699
diff changeset
    41
        [AudioManagerController playBackSound];
5220
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    42
        [defaults setObject:@"" forKey:@"savedGamePath"];
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    43
        [defaults synchronize];
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    44
    }
6321
5a0416e5a6de further engine interaction refactoring
koda
parents: 6020
diff changeset
    45
    [self.parentViewController dismissModalViewControllerAnimated:YES];
5220
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    46
}
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    47
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    48
-(void) viewDidLoad {
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    49
    NSString *imgName;
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    50
    if (IS_IPAD())
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    51
        imgName = @"smallerBackground~ipad.png";
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    52
    else
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    53
        imgName = @"smallerBackground~iphone.png";
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    54
    UIImage *img = [[UIImage alloc] initWithContentsOfFile:imgName];
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    55
    self.view.backgroundColor = [UIColor colorWithPatternImage:img];
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    56
    [img release];
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    57
    [super viewDidLoad];
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    58
}
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    59
5666
cc79eb30346e this should fix the double free that happens when closing the sdl window on ios (untested)
koda
parents: 5220
diff changeset
    60
-(void) didReceiveMemoryWarning {
cc79eb30346e this should fix the double free that happens when closing the sdl window on ios (untested)
koda
parents: 5220
diff changeset
    61
    [super didReceiveMemoryWarning];
cc79eb30346e this should fix the double free that happens when closing the sdl window on ios (untested)
koda
parents: 5220
diff changeset
    62
}
cc79eb30346e this should fix the double free that happens when closing the sdl window on ios (untested)
koda
parents: 5220
diff changeset
    63
5220
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    64
-(void) viewDidUnload {
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    65
    [super viewDidUnload];
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    66
}
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    67
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    68
-(void) dealloc {
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    69
    [super dealloc];
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    70
}
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    71
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    72
76a2246f18f0 when the match is not completed (eg out of memory or crash) the game asks for restoring it as soon as it is opened again
koda
parents:
diff changeset
    73
@end