summaryrefslogtreecommitdiff
path: root/Runtime/Export/XboxKeyboard.txt
blob: c734c667eac2c8a818145770c0d4d3b0072b4c1c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
C++RAW

#include "UnityPrefix.h"
#include "Runtime/Scripting/ScriptingUtility.h"
#include "Runtime/Mono/MonoManager.h"
#include "Runtime/Mono/MonoBehaviour.h"
#include "Runtime/Utilities/Utility.h"

#if UNITY_XENON
#include "PlatformDependent/Xbox360/Source/Services/Keyboard.h"
#endif

CSRAW 
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using UnityEngine;

namespace UnityEngine
{
	// Xbox Guide's keyboard-style input interface
	CONDITIONAL UNITY_XENON_API
	CLASS X360Keyboard

		CSRAW		
		internal X360Keyboard() {}

		// Keyboard input result
		public delegate void DelegateResult(bool textValid, string text);
		public static DelegateResult OnResult;

		CSRAW private static void TriggerOnResult(bool textValid, string text)
		{
			if (OnResult != null)
				OnResult(textValid, text);
		}
		
		// Shows the onscreen keyboard.
		CUSTOM public static bool Show(UInt32 userIndex, UInt32 characterLimit, string defaultText, string titleText, string descriptionText)
		{
		#if UNITY_XENON
			return xenon::Keyboard::Show(userIndex, characterLimit, MonoStringToWideCpp(defaultText.str), MonoStringToWideCpp(titleText.str), MonoStringToWideCpp(descriptionText.str));
		#else
			return false;
		#endif
		}
		
	END

CSRAW
} // namespace