// // WowGameViewController.m // Runner // // Created by xiaoyu on 2024/4/16. // #import "WowGameViewController.h" #import "WowGameCocosManager.h" #import "cocos2d.h" #import "platform/ios/CCEAGLView-ios.h" @interface WowGameViewController () @end @implementation WowGameViewController - (void)loadView { // Initialize the CCEAGLView CCEAGLView *eaglView = [CCEAGLView viewWithFrame: [UIScreen mainScreen].bounds pixelFormat: (__bridge NSString *)cocos2d::GLViewImpl::_pixelFormat depthFormat: cocos2d::GLViewImpl::_depthFormat preserveBackbuffer: NO sharegroup: nil multiSampling: cocos2d::GLViewImpl::_multisamplingCount > 0 ? YES : NO numberOfSamples: cocos2d::GLViewImpl::_multisamplingCount ]; // Enable or disable multiple touches [eaglView setMultipleTouchEnabled:YES]; // Set EAGLView as view of RootViewController self.view = eaglView; } - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationDidEnterBackgroundNotification) name:UIApplicationDidEnterBackgroundNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillEnterForegroundNotification) name:UIApplicationWillEnterForegroundNotification object:nil]; } - (void)applicationDidEnterBackgroundNotification { // WowGameCocosManager.s } - (void)applicationWillEnterForegroundNotification { } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; } - (void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; } // For ios6, use supportedInterfaceOrientations & shouldAutorotate instead #ifdef __IPHONE_6_0 - (NSUInteger) supportedInterfaceOrientations{ return UIInterfaceOrientationMaskLandscape; } #endif - (BOOL)shouldAutorotate { return YES; } - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { [super didRotateFromInterfaceOrientation:fromInterfaceOrientation]; auto glview = cocos2d::Director::getInstance()->getOpenGLView(); if (glview){ CCEAGLView *eaglview = (__bridge CCEAGLView *)glview->getEAGLView(); if (eaglview) { CGSize s = CGSizeMake([eaglview getWidth], [eaglview getHeight]); cocos2d::Application::getInstance()->applicationScreenSizeChanged((int) s.width, (int) s.height); } } } //fix not hide status on ios7 - (BOOL)prefersStatusBarHidden { return YES; } // Controls the application's preferred home indicator auto-hiding when this view controller is shown. - (BOOL)prefersHomeIndicatorAutoHidden { return YES; } - (void)didReceiveMemoryWarning { // Releases the view if it doesn't have a superview. [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use. } - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; NSLog(@"game view controller did dealloc"); } @end