Badminton-Scoreboard/Classes/Unity/UnityForwardDecls.h
2023-10-08 10:24:48 +08:00

141 lines
3.8 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 NSArray;
@class NSSet;
@class NSData;
@class NSError;
@class NSBundle;
@class UIKeyCommand;
@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 NSArray;
typedef struct objc_object NSSet;
typedef struct objc_object NSError;
typedef struct objc_object NSData;
typedef struct objc_object NSBundle;
typedef struct objc_object UIKeyCommand;
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;
// 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();
bool UnityiOS130orNewer();
bool UnityiOS140orNewer();
}
#endif