199 lines
5.3 KiB
Objective-C
199 lines
5.3 KiB
Objective-C
#pragma once
|
|
|
|
#include <stdint.h>
|
|
#include "UnitySharedDecls.h"
|
|
|
|
#ifdef __OBJC__
|
|
@class UIScreen;
|
|
@class UIWindow;
|
|
@class UIView;
|
|
@class UIViewController;
|
|
@class UIEvent;
|
|
@class UILocalNotification;
|
|
@class NSString;
|
|
@class NSDictionary;
|
|
@class NSSet;
|
|
@class NSData;
|
|
@class NSError;
|
|
@class NSBundle;
|
|
|
|
@class UnityViewControllerBase;
|
|
#else
|
|
typedef struct objc_object UIScreen;
|
|
typedef struct objc_object UIWindow;
|
|
typedef struct objc_object UIView;
|
|
typedef struct objc_object UIViewController;
|
|
typedef struct objc_object UIEvent;
|
|
typedef struct objc_object UILocalNotification;
|
|
typedef struct objc_object NSString;
|
|
typedef struct objc_object NSDictionary;
|
|
typedef struct objc_object NSSet;
|
|
typedef struct objc_object NSError;
|
|
typedef struct objc_object NSData;
|
|
typedef struct objc_object NSBundle;
|
|
|
|
typedef struct objc_object UnityViewControllerBase;
|
|
#endif
|
|
|
|
// unity internal audio effect definition struct
|
|
struct UnityAudioEffectDefinition;
|
|
|
|
// new unity rendering api
|
|
struct IUnityInterfaces;
|
|
|
|
// be aware that this struct is shared with unity implementation so you should absolutely not change it
|
|
struct UnityFrameStats
|
|
{
|
|
uint64_t fixedBehaviourManagerDt;
|
|
uint64_t fixedPhysicsManagerDt;
|
|
uint64_t dynamicBehaviourManagerDt;
|
|
uint64_t coroutineDt;
|
|
uint64_t skinMeshUpdateDt;
|
|
uint64_t animationUpdateDt;
|
|
uint64_t renderDt;
|
|
uint64_t cullingDt;
|
|
uint64_t clearDt;
|
|
int fixedUpdateCount;
|
|
|
|
int batchCount;
|
|
uint64_t drawCallTime;
|
|
int drawCallCount;
|
|
int triCount;
|
|
int vertCount;
|
|
|
|
uint64_t dynamicBatchDt;
|
|
int dynamicBatchCount;
|
|
int dynamicBatchedDrawCallCount;
|
|
int dynamicBatchedTris;
|
|
int dynamicBatchedVerts;
|
|
|
|
int staticBatchCount;
|
|
int staticBatchedDrawCallCount;
|
|
int staticBatchedTris;
|
|
int staticBatchedVerts;
|
|
};
|
|
|
|
|
|
// be aware that this enum is shared with unity implementation so you should absolutely not change it
|
|
typedef enum
|
|
LogType
|
|
{
|
|
logError = 0,
|
|
logAssert = 1,
|
|
logWarning = 2,
|
|
logLog = 3,
|
|
logException = 4,
|
|
logDebug = 5,
|
|
}
|
|
LogType;
|
|
|
|
|
|
// be aware that this enum is shared with unity implementation so you should absolutely not change it
|
|
typedef enum
|
|
DeviceGeneration
|
|
{
|
|
deviceUnknown = 0,
|
|
deviceiPhone3GS = 3,
|
|
deviceiPhone4 = 8,
|
|
deviceiPodTouch4Gen = 9,
|
|
deviceiPad2Gen = 10,
|
|
deviceiPhone4S = 11,
|
|
deviceiPad3Gen = 12,
|
|
deviceiPhone5 = 13,
|
|
deviceiPodTouch5Gen = 14,
|
|
deviceiPadMini1Gen = 15,
|
|
deviceiPad4Gen = 16,
|
|
deviceiPhone5C = 17,
|
|
deviceiPhone5S = 18,
|
|
deviceiPadAir1 = 19,
|
|
deviceiPadMini2Gen = 20,
|
|
deviceiPhone6 = 21,
|
|
deviceiPhone6Plus = 22,
|
|
deviceiPadMini3Gen = 23,
|
|
deviceiPadAir2 = 24,
|
|
deviceiPhone6S = 25,
|
|
deviceiPhone6SPlus = 26,
|
|
deviceiPadPro1Gen = 27,
|
|
deviceiPadMini4Gen = 28,
|
|
deviceiPhoneSE1Gen = 29,
|
|
deviceiPadPro10Inch1Gen = 30,
|
|
deviceiPhone7 = 31,
|
|
deviceiPhone7Plus = 32,
|
|
deviceiPodTouch6Gen = 33,
|
|
deviceiPad5Gen = 34,
|
|
deviceiPadPro2Gen = 35,
|
|
deviceiPadPro10Inch2Gen = 36,
|
|
deviceiPhone8 = 37,
|
|
deviceiPhone8Plus = 38,
|
|
deviceiPhoneX = 39,
|
|
deviceiPhoneXS = 40,
|
|
deviceiPhoneXSMax = 41,
|
|
deviceiPhoneXR = 42,
|
|
deviceiPadPro11Inch = 43,
|
|
deviceiPadPro3Gen = 44,
|
|
|
|
deviceiPhoneUnknown = 10001,
|
|
deviceiPadUnknown = 10002,
|
|
deviceiPodTouchUnknown = 10003,
|
|
|
|
deviceAppleTV1Gen = 1001,
|
|
deviceAppleTV2Gen = 1002
|
|
}
|
|
DeviceGeneration;
|
|
|
|
// be aware that this enum is shared with unity implementation so you should absolutely not change it
|
|
typedef enum AppInBackgroundBehavior
|
|
{
|
|
appbgCustom = -1,
|
|
appbgSuspend = 0,
|
|
appbgExit = 1,
|
|
}
|
|
AppInBackgroundBehavior;
|
|
|
|
|
|
// this dictates touches processing on os level: should we transform touches to unity view coords or not.
|
|
// N.B. touch.position will always be adjusted to current resolution
|
|
// i.e. if you touch right border of view, touch.position.x will be Screen.width, not view.width
|
|
// to get coords in view space (os-coords), use touch.rawPosition
|
|
typedef enum ViewTouchProcessing
|
|
{
|
|
// the touches originated from view will be ignored by unity
|
|
touchesIgnored = 0,
|
|
|
|
// touches would be processed as if they were originated in unity view:
|
|
// coords will be transformed from view coords to unity view coords
|
|
touchesTransformedToUnityViewCoords = 1,
|
|
|
|
// touches coords will be kept intact (in originated view coords)
|
|
// it is default value
|
|
touchesKeptInOriginalViewCoords = 2,
|
|
}
|
|
ViewTouchProcessing;
|
|
|
|
// be aware that this enum is shared with unity implementation so you should absolutely not change it
|
|
typedef enum KeyboardStatus
|
|
{
|
|
Visible = 0,
|
|
Done = 1,
|
|
Canceled = 2,
|
|
LostFocus = 3,
|
|
}
|
|
KeyboardStatus;
|
|
|
|
// misc
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
bool UnityiOS81orNewer();
|
|
bool UnityiOS82orNewer();
|
|
bool UnityiOS90orNewer();
|
|
bool UnityiOS91orNewer();
|
|
bool UnityiOS100orNewer();
|
|
bool UnityiOS101orNewer();
|
|
bool UnityiOS102orNewer();
|
|
bool UnityiOS103orNewer();
|
|
bool UnityiOS110orNewer();
|
|
bool UnityiOS111orNewer();
|
|
bool UnityiOS112orNewer();
|
|
}
|
|
#endif
|