//
//  PaddlesAppDelegate.m
//  Paddles
//
//  Created by Górczyński Robert on 12/01/2012.
//

#import "PaddlesAppDelegate.h"

#import "PaddlesViewController.h"

@implementation PaddlesAppDelegate

@synthesize window = _window;
@synthesize viewController = _viewController;

- (void)dealloc
{
    [_window release];
    [_viewController release];
    [super dealloc];
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    // Miejsce na przeprowadzenie własnej konfiguracji po uruchomieniu aplikacji.
    self.viewController = [[[PaddlesViewController alloc] initWithNibName:@"PaddlesViewController" bundle:nil] autorelease];
    self.window.rootViewController = self.viewController;
    [self.window makeKeyAndVisible];
    return YES;
}

- (void)applicationWillResignActive:(UIApplication *)application
{
    /*
     Ta metoda jest wywoływana, gdy aplikacja przechodzi ze stanu aktywnego do nieaktywnego. Może być wywołana w określonych sytuacjach (na przykład w chwili odbywania rozmowy telefonicznej lub po otrzymaniu wiadomości SMS) bądź kiedy użytkownik kończy działanie aplikacji. Metoda rozpoczyna proces przejścia do stanu pozostania w tle.
     
     Tę metodę można wykorzystać do wstrzymania wykonywania bieżących zadań, wyłączenia liczników czasu, zmniejszenia liczby klatek generowanych przez OpenGL ES. W grach ta metoda powinna być użyta do wstrzymania gry (pauza).
     */
    [self.viewController pause];
}

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    /*
     Tę metodę należy wykorzystać do zwolnienia zasobów współdzielonych, zapisania danych użytkownika, wyzerowania liczników czasu oraz do przechowania takiej ilości informacji o stanie, która pozwoli na przywrócenie aplikacji do stanu bieżącego.
     
     Jeżeli aplikacja obsługuje działanie w tle, w chwili kończenia działania należy wywołać tę metodę zamiast applicationWillTerminate:.
     */
}

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    /*
     Ta metoda jest wywoływana podczas przechodzenia aplikacji ze stanu aktywnego do działania w tle. Można więc tutaj wycofać wiele zmian wprowadzonych w chwili przechodzenia do stanu działania w tle.
     */
}

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    /*
     W tej metodzie można wznowić działanie zadań zatrzymanych (lub nieuruchomionych), gdy aplikacja była nieaktywna. Jeżeli aplikacja znajdowała się w trybie działania w tle, w metodzie można przeprowadzić odświeżenie interfejsu użytkownika.
     */
    [self.viewController resume];
}

- (void)applicationWillTerminate:(UIApplication *)application
{
    /*
     Ta metoda jest wywoływana, gdy działanie aplikacji ma zostać zakończone. Zapisz dane jeśli zachodzi taka potrzeba. Zapoznaj się również z opisem metody applicationDidEnterBackground:.
     */
}

@end
