popcorn/Plugins/iOS/ISN_NativeCore.mm

98 lines
2.3 KiB
Plaintext

#import <Foundation/Foundation.h>
#import "ISN_NativeCore.h"
#import "AppDelegateListener.h"
@implementation ISN_DataConvertor
+(NSString *) charToNSString:(char *)value {
if (value != NULL) {
return [NSString stringWithUTF8String: value];
} else {
return [NSString stringWithUTF8String: ""];
}
}
+ (const char *) NSStringToChar:(NSString *)value {
return [value UTF8String];
}
@end
@implementation ISN_NativeUtility
static bool logState = false;
static ISN_NativeUtility * na_sharedInstance;
+ (id)sharedInstance {
if (na_sharedInstance == nil) {
na_sharedInstance = [[self alloc] init];
}
return na_sharedInstance;
}
+ (BOOL) IsIPad {
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
return true;
} else {
return false;
}
}
+ (int) majorIOSVersion {
NSArray *vComp = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];
return [[vComp objectAtIndex:0] intValue];
}
-(void) ISN_SetLogState:(BOOL)state {
logState = state;
}
-(void) ISN_NativeLog:(NSString *)msg, ... {
if(logState) {
va_list argumentList;
va_start(argumentList, msg);
NSString *message = [[NSString alloc] initWithFormat:msg arguments:argumentList];
// clean up
va_end(argumentList);
NSLog(@"ISN_NativeLog: %@", message);
}
}
- (CGFloat) GetW {
UIViewController *vc = UnityGetGLViewController();
bool IsLandscape = true;
#if !TARGET_OS_TV
UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;
if(orientation == UIInterfaceOrientationLandscapeLeft || orientation == UIInterfaceOrientationLandscapeRight) {
IsLandscape = true;
} else {
IsLandscape = false;
}
#endif
CGFloat w;
if(IsLandscape) {
w = vc.view.frame.size.height;
} else {
w = vc.view.frame.size.width;
}
NSArray *vComp = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];
if ([[vComp objectAtIndex:0] intValue] >= 8) {
w = vc.view.frame.size.width;
}
return w;
}
@end