diff options
Diffstat (limited to 'Runtime/Export/XboxKeyboard.txt')
-rw-r--r-- | Runtime/Export/XboxKeyboard.txt | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/Runtime/Export/XboxKeyboard.txt b/Runtime/Export/XboxKeyboard.txt new file mode 100644 index 0000000..c734c66 --- /dev/null +++ b/Runtime/Export/XboxKeyboard.txt @@ -0,0 +1,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 |