project_files/HedgewarsMobile/Classes/OverlayViewController.m
changeset 4924 616b618814b5
parent 4920 bc3c077e15a2
child 4935 27fb500dd6b1
equal deleted inserted replaced
4923:c7829611c682 4924:616b618814b5
   178                                         userInfo:nil
   178                                         userInfo:nil
   179                                          repeats:YES];
   179                                          repeats:YES];
   180     // add timer to runloop, otherwise it doesn't work
   180     // add timer to runloop, otherwise it doesn't work
   181     [[NSRunLoop currentRunLoop] addTimer:dimTimer forMode:NSDefaultRunLoopMode];
   181     [[NSRunLoop currentRunLoop] addTimer:dimTimer forMode:NSDefaultRunLoopMode];
   182 
   182 
   183     // become listener of some notifications
   183     // display the help page, required by the popover on ipad
   184     [[NSNotificationCenter defaultCenter] addObserver:self
   184     [[NSNotificationCenter defaultCenter] addObserver:self
   185                                              selector:@selector(showHelp:)
   185                                              selector:@selector(showHelp:)
   186                                                  name:@"show help ingame"
   186                                                  name:@"show help ingame"
       
   187                                                object:nil];
       
   188 
       
   189     // remove the view, required by the dual head version
       
   190     [[NSNotificationCenter defaultCenter] addObserver:self
       
   191                                              selector:@selector(removeOverlay:)
       
   192                                                  name:@"remove overlay"
   187                                                object:nil];
   193                                                object:nil];
   188 
   194 
   189     // for iOS >= 3.2
   195     // for iOS >= 3.2
   190     if ([UIScreen respondsToSelector:@selector(screens)]) {
   196     if ([UIScreen respondsToSelector:@selector(screens)]) {
   191         [[NSNotificationCenter defaultCenter] addObserver:self
   197         [[NSNotificationCenter defaultCenter] addObserver:self
   248     [self.view addSubview:helpPage.view];
   254     [self.view addSubview:helpPage.view];
   249     [UIView beginAnimations:@"helpingame" context:NULL];
   255     [UIView beginAnimations:@"helpingame" context:NULL];
   250     self.helpPage.view.alpha = 1;
   256     self.helpPage.view.alpha = 1;
   251     [UIView commitAnimations];
   257     [UIView commitAnimations];
   252     doNotDim();
   258     doNotDim();
       
   259 }
       
   260 
       
   261 -(void) removeOverlay:(id) sender {
       
   262     [self.popupMenu performSelectorOnMainThread:@selector(dismiss) withObject:nil waitUntilDone:YES];
       
   263     [self.popoverController performSelectorOnMainThread:@selector(dismissPopoverAnimated:) withObject:nil waitUntilDone:YES];
       
   264     [self.view performSelectorOnMainThread:@selector(removeFromSuperview) withObject:nil waitUntilDone:YES];
       
   265     HW_terminate(NO);
   253 }
   266 }
   254 
   267 
   255 -(void) didReceiveMemoryWarning {
   268 -(void) didReceiveMemoryWarning {
   256     if (self.popupMenu.view.superview == nil)
   269     if (self.popupMenu.view.superview == nil)
   257         self.popupMenu = nil;
   270         self.popupMenu = nil;