Added a little more debug info Fixes: the GUI button hides itself; Makefile jar path; Restart before launching game
80 lines
3.2 KiB
Objective-C
80 lines
3.2 KiB
Objective-C
#import "SceneDelegate.h"
|
|
#import "LoginViewController.h"
|
|
#import "ios_uikit_bridge.h"
|
|
#import "utils.h"
|
|
|
|
@interface SceneDelegate ()
|
|
|
|
@end
|
|
|
|
@implementation SceneDelegate
|
|
|
|
|
|
- (void)navigationController:(UINavigationController *)controller willShowViewController:(UIViewController *)vc animated:(BOOL)animated {
|
|
viewController = vc;
|
|
}
|
|
|
|
|
|
- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions API_AVAILABLE(ios(13.0)) API_AVAILABLE(ios(13.0)) API_AVAILABLE(ios(13.0)){
|
|
|
|
if (@available(iOS 13.0, *)) {
|
|
UIWindowScene *windowScene = (UIWindowScene *)scene;
|
|
self.window = [[UIWindow alloc] initWithWindowScene:windowScene];
|
|
self.window.frame = windowScene.coordinateSpace.bounds;
|
|
launchInitialViewController(self.window);
|
|
if ([self.window.rootViewController isKindOfClass:UINavigationController.class]) {
|
|
((UINavigationController *)self.window.rootViewController).delegate = self;
|
|
}
|
|
[self.window makeKeyAndVisible];
|
|
} else {
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- (void)sceneDidDisconnect:(UIScene *)scene API_AVAILABLE(ios(13.0)){
|
|
// Called as the scene is being released by the system.
|
|
// This occurs shortly after the scene enters the background, or when its session is discarded.
|
|
// Release any resources associated with this scene that can be re-created the next time the scene connects.
|
|
// The scene may re-connect later, as its session was not neccessarily discarded (see `application:didDiscardSceneSessions` instead).
|
|
}
|
|
|
|
|
|
- (void)sceneDidBecomeActive:(UIScene *)scene API_AVAILABLE(ios(13.0)){
|
|
// Called when the scene has moved from an inactive state to an active state.
|
|
// Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive.
|
|
CallbackBridge_setWindowAttrib(GLFW_FOCUSED, 1);
|
|
}
|
|
|
|
|
|
- (void)sceneWillResignActive:(UIScene *)scene API_AVAILABLE(ios(13.0)){
|
|
// Called when the scene will move from an active state to an inactive state.
|
|
// This may occur due to temporary interruptions (ex. an incoming phone call).
|
|
CallbackBridge_setWindowAttrib(GLFW_FOCUSED, 0);
|
|
}
|
|
|
|
|
|
- (void)sceneWillEnterForeground:(UIScene *)scene API_AVAILABLE(ios(13.0)){
|
|
// Called as the scene transitions from the background to the foreground.
|
|
// Use this method to undo the changes made on entering the background.
|
|
CallbackBridge_setWindowAttrib(GLFW_VISIBLE, 1);
|
|
}
|
|
|
|
|
|
- (void)sceneDidEnterBackground:(UIScene *)scene API_AVAILABLE(ios(13.0)){
|
|
// Called as the scene transitions from the foreground to the background.
|
|
// Use this method to save data, release shared resources, and store enough scene-specific state information
|
|
// to restore the scene back to its current state.
|
|
CallbackBridge_setWindowAttrib(GLFW_VISIBLE, 0);
|
|
}
|
|
|
|
- (void)scene:(UIScene *)scene openURLContexts:(nonnull NSSet<UIOpenURLContext *> *)URLContexts
|
|
API_AVAILABLE(ios(13.0)){
|
|
NSURL *url = [[URLContexts allObjects] firstObject].URL;
|
|
NSDictionary *data = [NSDictionary dictionaryWithObject:url forKey:@"url"];
|
|
[[NSNotificationCenter defaultCenter] postNotificationName:@"MSALoginCallback" object:self userInfo:data];
|
|
|
|
}
|
|
|
|
@end
|