LearnWithTouch/App/LearnWithTouch_ios/Classes/Unity/UnityForwardDecls.h

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