diff options
| author | chai <chaifix@163.com> | 2019-08-14 22:50:43 +0800 | 
|---|---|---|
| committer | chai <chaifix@163.com> | 2019-08-14 22:50:43 +0800 | 
| commit | 15740faf9fe9fe4be08965098bbf2947e096aeeb (patch) | |
| tree | a730ec236656cc8cab5b13f088adfaed6bb218fb /Runtime/Export/Handheld.txt | |
Diffstat (limited to 'Runtime/Export/Handheld.txt')
| -rw-r--r-- | Runtime/Export/Handheld.txt | 424 | 
1 files changed, 424 insertions, 0 deletions
| diff --git a/Runtime/Export/Handheld.txt b/Runtime/Export/Handheld.txt new file mode 100644 index 0000000..b1268a8 --- /dev/null +++ b/Runtime/Export/Handheld.txt @@ -0,0 +1,424 @@ +C++RAW + +#include "UnityPrefix.h" +#include "Runtime/Video/MoviePlayback.h" +#include "Runtime/Graphics/RenderTexture.h" +#include "Runtime/Input/GetInput.h" +#include "Runtime/Input/OnScreenKeyboard.h" +#include "Runtime/Mono/MonoBehaviour.h" +#include "Runtime/Misc/PlayerSettings.h" +#include "Runtime/Misc/BuildSettings.h" +#include "Runtime/Math/Vector2.h" +#include "Runtime/Shaders/Material.h" +#include "PlatformDependent/iPhonePlayer/iPhoneSettings.h" +#include "PlatformDependent/iPhonePlayer/iPhoneMisc.h" +#include "PlatformDependent/AndroidPlayer/AndroidSystemInfo.h" +#include "Runtime/Scripting/ScriptingObjectWithIntPtrField.h" + + +#if UNITY_ANDROID +#include "PlatformDependent/AndroidPlayer/EntryPoint.h" +#elif UNITY_IPHONE +	void StartActivityIndicator(); +	void StopActivityIndicator(); +	const char* GetVendorIdentifier(); +	const char* GetAdvertisingIdentifier(); +	bool		IsAdvertisingTrackingEnabled(); +#endif + +using namespace Unity; + +CSRAW +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Collections; + +namespace UnityEngine +{ + +// Simple struct that contains all the arguments needed by +CONDITIONAL UNITY_IPHONE_API || UNITY_ANDROID_API || UNITY_BB10_API || UNITY_WP8 || UNITY_TIZEN_API +STRUCT internal TouchScreenKeyboard_InternalConstructorHelperArguments +	CSRAW public uint keyboardType; +	CSRAW public uint autocorrection; +	CSRAW public uint multiline; +	CSRAW public uint secure; +	CSRAW public uint alert; +END + +C++RAW +struct MonoTouchScreenKeyboard_InternalConstructorHelperArguments { +	unsigned int keyboardType; +	unsigned int autocorrection; +	unsigned int multiline; +	unsigned int secure; +	unsigned int alert; +}; + +// Describes options for displaying movie playback controls. +CONDITIONAL UNITY_IPHONE_API || UNITY_ANDROID_API || UNITY_BB10_API || UNITY_WP8 || UNITY_TIZEN_API +ENUM FullScreenMovieControlMode +	// Display the standard controls for controlling movie playback. This +	Full = 0, +	// Display minimal set of controls controlling movie playback. Set of +	Minimal = 1, +	// Do not display any controls, but cancel movie playback if input occurs. +	CancelOnInput = 2, +	// Do not display any controls. This mode prevents the user from +	Hidden = 3, +END + +// Describes scaling modes for displaying movies. +CONDITIONAL UNITY_IPHONE_API || UNITY_ANDROID_API || UNITY_BB10_API || UNITY_WP8 || UNITY_TIZEN_API +ENUM FullScreenMovieScalingMode +	// Do not scale the movie. +	None = 0, +	// Scale the movie until one dimension fits on the screen exactly. In +	AspectFit = 1, +	// Scale the movie until the movie fills the entire screen. Content at +	AspectFill = 2, +	// Scale the movie until both dimensions fit the screen exactly. The +	Fill = 3 +END + +CONDITIONAL UNITY_IPHONE_API +/// iOS-specific ActivityIndicator styles. +ENUM iOSActivityIndicatorStyle +	/// Do not show ActivityIndicator +	DontShow = -1, +	/// The large white style of indicator (UIActivityIndicatorViewStyleWhiteLarge). +	WhiteLarge = 0, +	/// The standard white style of indicator (UIActivityIndicatorViewStyleWhite). +	White = 1, +	/// The standard gray style of indicator (UIActivityIndicatorViewStyleGray). +	Gray = 2, +END + +CONDITIONAL UNITY_ANDROID_API +ENUM AndroidActivityIndicatorStyle +	/// Do not show ActivityIndicator +	DontShow = -1, +	/// Large (android.R.attr.progressBarStyleLarge). +	Large = 0, +	/// Large Inversed (android.R.attr.progressBarStyleLargeInverse). +	InversedLarge = 1, +	/// Small (android.R.attr.progressBarStyleSmall). +	Small = 2, +	/// Small Inversed (android.R.attr.progressBarStyleSmallInverse). +	InversedSmall = 3, +END + + +// Interface into functionality unique to handheld devices. +CONDITIONAL UNITY_IPHONE_API || UNITY_ANDROID_API || UNITY_BB10_API || UNITY_WP8 || UNITY_TIZEN_API +CLASS Handheld +	// Plays a full-screen movie. +	CUSTOM static bool PlayFullScreenMovie (string path, Color bgColor = Color.black, FullScreenMovieControlMode controlMode = FullScreenMovieControlMode.Full, FullScreenMovieScalingMode scalingMode = FullScreenMovieScalingMode.AspectFit) +	{ +		return PlayFullScreenMovie (path, bgColor, controlMode, scalingMode); +	} + +	// Triggers device vibration. +	CUSTOM static void Vibrate () +	{ +		Vibrate (); +	} + +	CUSTOM_PROP static bool use32BitDisplayBuffer +	{ +		return GetPlayerSettings().GetUse32BitDisplayBuffer(); +	} +	{ +		GetPlayerSettings().SetUse32BitDisplayBuffer(value); +	} + +	CUSTOM internal static void SetActivityIndicatorStyleImpl(int style) +	{ +	#if UNITY_IPHONE +		GetPlayerSettings().SetIOSShowActivityIndicatorOnLoading(style); +	#elif UNITY_ANDROID +		GetPlayerSettings().SetAndroidShowActivityIndicatorOnLoading(style); +	#endif +	} + +	CONDITIONAL UNITY_IPHONE_API +	/// Sets ActivityIndicator style. See iOSActivityIndicatorStyle enumeration for possible values. +	/// Be warned that it will take effect on next call to StartActivityIndicator. +	CSRAW public static void SetActivityIndicatorStyle(iOSActivityIndicatorStyle style) +	{ +		SetActivityIndicatorStyleImpl((int)style); +	} + +	CONDITIONAL UNITY_ANDROID_API +	/// Sets ActivityIndicator style. See AndroidActivityIndicatorStyle enumeration for possible values. +	/// Be warned that it will take effect on next call to StartActivityIndicator. +	CSRAW public static void SetActivityIndicatorStyle(AndroidActivityIndicatorStyle style) +	{ +		SetActivityIndicatorStyleImpl((int)style); +	} + +	/// Gets current ActivityIndicator style. +	CUSTOM static int GetActivityIndicatorStyle() +	{ +	#if UNITY_IPHONE +		return GetPlayerSettings().GetIOSShowActivityIndicatorOnLoading(); +	#elif UNITY_ANDROID +		return GetPlayerSettings().GetAndroidShowActivityIndicatorOnLoading(); +	#else +		return -1; +	#endif +	} + +	// Starts os activity indicator +	CUSTOM static void StartActivityIndicator() +	{ +	#if UNITY_IPHONE || UNITY_ANDROID +		StartActivityIndicator(); +	#endif +	} + +	// Stops os activity indicator +	CUSTOM static void StopActivityIndicator() +	{ +	#if UNITY_IPHONE || UNITY_ANDROID +		StopActivityIndicator(); +	#endif +	} + +	//*undocumented* +	CUSTOM static void ClearShaderCache() +	{ +	#if UNITY_ANDROID +		extern void Internal_ClearShaderCache(); +		Internal_ClearShaderCache(); +	#endif +	} +END + +// Describes the type of keyboard. +CONDITIONAL UNITY_IPHONE_API || UNITY_ANDROID_API || UNITY_BB10_API || UNITY_WP8 || UNITY_TIZEN_API +ENUM TouchScreenKeyboardType +	// Default keyboard for the current input method. +	Default = 0, +	// Keyboard displays standard ASCII characters. +	ASCIICapable = 1, +	// Keyboard with numbers and punctuation. +	NumbersAndPunctuation = 2, +	// Keyboard optimized for URL entry, features ".", "/", and ".com" +	URL = 3, +	// Numeric keypad designed for PIN entry, features the numbers 0 through 9 +	NumberPad = 4, +	// Keypad designed for entering telephone numbers, features the numbers 0 +	PhonePad = 5, +	// Keypad designed for entering a person's name or phone number. +	NamePhonePad = 6, +	// Keyboard optimized for specifying email addresses, features the "@", +	EmailAddress = 7 +END + +// Interface into the native iPhone and Android on-screen keyboards - it is not available on other platforms. +CONDITIONAL UNITY_IPHONE_API || UNITY_ANDROID_API || UNITY_BB10_API || UNITY_WP8 || UNITY_TIZEN_API +CLASS TouchScreenKeyboard +	// We are matching the KeyboardOnScreen class here so we can directly +	// access it. +	CSRAW +	[System.NonSerialized] [NotRenamed] +	internal IntPtr m_Ptr; + +	THREAD_SAFE +	CUSTOM private void Destroy() +	{ +		KeyboardOnScreen* keyboard = self.GetPtr(); +		if (keyboard) +		{ +			delete keyboard; +			self.SetPtr(NULL); +		} +	} + +	//*undocumented* +	CSRAW ~TouchScreenKeyboard() +	{ +		Destroy(); +	} + +	//*undocumented* +	CSRAW public TouchScreenKeyboard(string text, TouchScreenKeyboardType keyboardType, bool autocorrection, bool multiline, bool secure, bool alert, string textPlaceholder) +	{ +		TouchScreenKeyboard_InternalConstructorHelperArguments arguments = new TouchScreenKeyboard_InternalConstructorHelperArguments (); +		arguments.keyboardType = Convert.ToUInt32(keyboardType); +		arguments.autocorrection = Convert.ToUInt32(autocorrection); +		arguments.multiline = Convert.ToUInt32(multiline); +		arguments.secure = Convert.ToUInt32(secure); +		arguments.alert = Convert.ToUInt32(alert); +		TouchScreenKeyboard_InternalConstructorHelper (ref arguments, text, textPlaceholder); +	} + +	CUSTOM private void TouchScreenKeyboard_InternalConstructorHelper (ref TouchScreenKeyboard_InternalConstructorHelperArguments arguments, string text, string textPlaceholder) +	{ +		KeyboardOnScreen* keyboard = new KeyboardOnScreen(text, arguments.keyboardType, arguments.autocorrection, arguments.multiline, arguments.secure, arguments.alert, textPlaceholder); +		self.SetPtr(keyboard); +	} + +	// Opens the native keyboard provided by OS on the screen. +	CSRAW public static TouchScreenKeyboard Open(string text, TouchScreenKeyboardType keyboardType = TouchScreenKeyboardType.Default, bool autocorrection = true, bool multiline = false, bool secure = false, bool alert = false, string textPlaceholder = "") +	{ +		return new TouchScreenKeyboard(text, keyboardType, autocorrection, multiline, secure, alert, textPlaceholder); +	} + +	// Returns the text displayed by the input field of the keyboard. This +	CUSTOM_PROP public string text { +		KeyboardOnScreen* keyboard = self.GetPtr(); +		if (keyboard) return scripting_string_new(keyboard->getText()); +		else return scripting_string_new(""); +	} +	{ +		KeyboardOnScreen* keyboard = self.GetPtr(); +		if (keyboard) keyboard->setText(value); +	} + +	// Specifies if text input field above the keyboard will be hidden when +	CUSTOM_PROP public static bool hideInput { +		return KeyboardOnScreen::isInputHidden(); +	} { +		KeyboardOnScreen::setInputHidden(value); +	} + +	// Specifies if the keyboard is visible or is sliding into the position on +	CUSTOM_PROP public bool active { +		KeyboardOnScreen* keyboard = self.GetPtr(); +		if (keyboard) return (short)keyboard->isActive(); +		else return false; +	} { +		KeyboardOnScreen* keyboard = self.GetPtr(); +		if (keyboard) keyboard->setActive(value); +	} + +	// Specifies if input process was finished (RO) +	CUSTOM_PROP public bool done { +		KeyboardOnScreen* keyboard = self.GetPtr(); +		if (keyboard) return (short)keyboard->isDone(); +		else return false; +	} + +	// Specifies if input process was canceled (RO) +	CUSTOM_PROP public bool wasCanceled { +		KeyboardOnScreen* keyboard = self.GetPtr(); +		if (keyboard) return (short)keyboard->wasCanceled(); +		else return false; +	} + +	// Returns portion of the screen which is covered by the keyboard. Returns +	CUSTOM_PROP static Rect area { return KeyboardOnScreen::GetRect(); } + +	// Returns true whenever any keyboard is completely visible on the screen. +	CUSTOM_PROP static bool visible { return KeyboardOnScreen::IsVisible(); } +END + +// iPhone device generation +CONDITIONAL UNITY_IPHONE_API || UNITY_ANDROID_API +ENUM iPhoneGeneration +	//*undocumented* +	Unknown = 0, +	// First generation device +	iPhone = 1, +	// Second generation +	iPhone3G = 2, +	// Third generation +	iPhone3GS = 3, +	// iPod Touch, first generation +	iPodTouch1Gen = 4, +	// iPod Touch, second generation +	iPodTouch2Gen = 5, +	// iPod Touch, third generation +	iPodTouch3Gen = 6, +	// iPad, first generation +	iPad1Gen = 7, +	// Fourth generation +	iPhone4 = 8, +	// iPod Touch, fourth generation +	iPodTouch4Gen = 9, +	// iPad, second generation +	iPad2Gen = 10, +	// Fifth generation +	iPhone4S = 11, +	// iPad, third generation +	iPad3Gen = 12, +	// iPhone5 +	iPhone5 = 13, +	// iPod Touch, fifth generation +	iPodTouch5Gen = 14, +	// iPadMini, first generation +	iPadMini1Gen = 15, +	// iPad, fourth generation +	iPad4Gen = 16, +	// iPhone5C +	iPhone5C = 17, +	// iPhone5S +	iPhone5S = 18, + +	// Yet unknown iPhone +	iPhoneUnknown = 10001, +	// Yet unknown iPad +	iPadUnknown = 10002, +	// Yet unknown iPodTouch +	iPodTouchUnknown = 10003, +END + +// Interface into iPhone specific functionality. +CONDITIONAL UNITY_IPHONE_API +CLASS iPhone +	// The generation of the device (RO) +	CUSTOM_PROP static iPhoneGeneration generation { +		return iphone::GetDeviceGeneration (); +	} + +	// Set file flag to be excluded from iCloud/iTunes backup. +	CUSTOM static void SetNoBackupFlag(string path) +	{ +	#if UNITY_IPHONE +		iphone::SetNoBackupFlag(path.AsUTF8().c_str()); +	#else +		(void)path; +	#endif +	} + +	// Reset "no backup" file flag: file will be synced with iCloud/iTunes backup and can be deleted by OS in low storage situations. +	CUSTOM static void ResetNoBackupFlag(string path) +	{ +	#if UNITY_IPHONE +		iphone::ResetNoBackupFlag(path.AsUTF8().c_str()); +	#else +		(void)path; +	#endif +	} + +	CUSTOM_PROP static string vendorIdentifier +	{ +	#if UNITY_IPHONE +		return scripting_string_new(GetVendorIdentifier()); +	#else +		return 0; +	#endif +	} +	CUSTOM_PROP static string advertisingIdentifier +	{ +	#if UNITY_IPHONE +		return scripting_string_new(GetAdvertisingIdentifier()); +	#else +		return 0; +	#endif +	} +	CUSTOM_PROP static bool advertisingTrackingEnabled +	{ +	#if UNITY_IPHONE +		return IsAdvertisingTrackingEnabled(); +	#else +		return false; +	#endif +	} +END + +CSRAW +} | 
