Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008 #import "cocos2d.h"
00009
00010 #import "AppDelegate.h"
00011 #import "GameConfig.h"
00012 #import "RootViewController.h"
00013 #import "Constants.h"
00014
00015 @implementation AppDelegate
00016
00017 @synthesize window;
00018
00019 - (void) removeStartupFlicker
00020 {
00021
00022
00023
00024
00025
00026 #if GAME_AUTOROTATION == kGameAutorotationUIViewController
00027
00028 CC_ENABLE_DEFAULT_GL_STATES();
00029 CCDirector *director = [CCDirector sharedDirector];
00030 CGSize size = [director winSize];
00031 CCSprite *sprite = [CCSprite spriteWithFile:@"Default.png"];
00032 sprite.position = ccp(size.width/2, size.height/2);
00033 sprite.rotation = -90;
00034 [sprite visit];
00035 [[director openGLView] swapBuffers];
00036 CC_ENABLE_DEFAULT_GL_STATES();
00037
00038 #endif //GAME_AUTOROTATION == kGameAutorotationUIViewController
00039 }
00040 - (void) applicationDidFinishLaunching:(UIApplication*)application
00041 {
00042
00043 window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
00044
00045
00046
00047 if( ! [CCDirector setDirectorType:kCCDirectorTypeDisplayLink] )
00048 [CCDirector setDirectorType:kCCDirectorTypeDefault];
00049
00050
00051 CCDirector *director = [CCDirector sharedDirector];
00052
00053
00054 viewController = [[RootViewController alloc] initWithNibName:nil bundle:nil];
00055 viewController.wantsFullScreenLayout = YES;
00056
00057
00058
00059
00060
00061
00062
00063 EAGLView *glView = [EAGLView viewWithFrame:[window bounds]
00064 pixelFormat:kEAGLColorFormatRGB565
00065 depthFormat:0
00066 ];
00067
00068
00069 [director setOpenGLView:glView];
00070
00071
00072 if(![director enableRetinaDisplay:YES]) CCLOG(@"Retina Display Not supported");
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083 #if GAME_AUTOROTATION == kGameAutorotationUIViewController
00084 [director setDeviceOrientation:kCCDeviceOrientationPortrait];
00085 #else
00086 [director setDeviceOrientation:kCCDeviceOrientationLandscapeLeft];
00087 #endif
00088
00089
00090 [viewController setView:glView];
00091
00092
00093 [window addSubview: viewController.view];
00094
00095 [window makeKeyAndVisible];
00096
00097
00098
00099
00100 [CCTexture2D setDefaultAlphaPixelFormat:kCCTexture2DPixelFormat_RGBA8888];
00101
00102
00103 [self removeStartupFlicker];
00104
00105
00106 [[GameManager sharedGameManager] loadLevelData];
00107
00108
00109 [[GameManager sharedGameManager] runSceneWithID:kStingScene];
00110 }
00111
00112
00113 - (void)applicationWillResignActive:(UIApplication *)application {
00114 [[CCDirector sharedDirector] pause];
00115 }
00116
00117 - (void)applicationDidBecomeActive:(UIApplication *)application
00118 {
00119 [[NSUserDefaults standardUserDefaults] synchronize];
00120 if(![[GameManager sharedGameManager] gamePaused]) [[CCDirector sharedDirector] resume];
00121 }
00122
00123 - (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
00124 [[CCDirector sharedDirector] purgeCachedData];
00125 }
00126
00127 -(void) applicationDidEnterBackground:(UIApplication*)application {
00128 [[CCDirector sharedDirector] stopAnimation];
00129 }
00130
00131 -(void) applicationWillEnterForeground:(UIApplication*)application {
00132 [[CCDirector sharedDirector] startAnimation];
00133 }
00134
00135 - (void)applicationWillTerminate:(UIApplication *)application {
00136 CCDirector *director = [CCDirector sharedDirector];
00137
00138 [[director openGLView] removeFromSuperview];
00139
00140 [viewController release];
00141
00142 [window release];
00143
00144 [director end];
00145 }
00146
00147 - (void)applicationSignificantTimeChange:(UIApplication *)application {
00148 [[CCDirector sharedDirector] setNextDeltaTimeZero:YES];
00149 }
00150
00151 - (void)dealloc {
00152 [[CCDirector sharedDirector] end];
00153 [window release];
00154 [super dealloc];
00155 }
00156
00157 @end