Badminton-Scoreboard/Classes/UI/UnityViewControllerBase.mm

91 lines
2.4 KiB
Plaintext
Raw Permalink Normal View History

2023-10-08 02:24:48 +00:00
#import "UnityViewControllerBase.h"
#import "UnityAppController.h"
#import "UnityAppController+ViewHandling.h"
#include "OrientationSupport.h"
@implementation UnityViewControllerBase
@synthesize notificationDelegate = _notificationDelegate;
- (id)init
{
if ((self = [super init]))
self.modalPresentationStyle = UIModalPresentationFullScreen;
return self;
}
- (void)viewWillLayoutSubviews
{
[super viewWillLayoutSubviews];
[_notificationDelegate onViewWillLayoutSubviews];
}
- (void)viewDidLayoutSubviews
{
[super viewDidLayoutSubviews];
[_notificationDelegate onViewDidLayoutSubviews];
}
- (void)viewDidDisappear:(BOOL)animated
{
[super viewDidDisappear: animated];
[_notificationDelegate onViewDidDisappear: animated];
}
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear: animated];
[_notificationDelegate onViewWillDisappear: animated];
}
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear: animated];
[_notificationDelegate onViewDidAppear: animated];
}
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear: animated];
[_notificationDelegate onViewWillAppear: animated];
}
@end
UnityViewControllerBase* AllocUnityDefaultViewController()
{
return [UnityDefaultViewController alloc];
}
#if UNITY_SUPPORT_ROTATION
UnityViewControllerBase* AllocUnitySingleOrientationViewController(UIInterfaceOrientation orient)
{
switch (orient)
{
case UIInterfaceOrientationPortrait: return [UnityPortraitOnlyViewController alloc];
case UIInterfaceOrientationPortraitUpsideDown: return [UnityPortraitUpsideDownOnlyViewController alloc];
case UIInterfaceOrientationLandscapeLeft: return [UnityLandscapeLeftOnlyViewController alloc];
case UIInterfaceOrientationLandscapeRight: return [UnityLandscapeRightOnlyViewController alloc];
default: assert(false && "bad UIInterfaceOrientation provided");
}
return nil;
}
#endif
UnityViewControllerBase* AllocUnityViewController()
{
#if UNITY_SUPPORT_ROTATION
if (UnityShouldAutorotate())
return AllocUnityDefaultViewController();
UIInterfaceOrientation orient = ConvertToIosScreenOrientation((ScreenOrientation)UnityRequestedScreenOrientation());
return AllocUnitySingleOrientationViewController(orient);
#else
return AllocUnityDefaultViewController();
#endif
}