91 lines
2.4 KiB
Plaintext
91 lines
2.4 KiB
Plaintext
|
#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
|
||
|
}
|