| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Runtime.CompilerServices;
- using System.Text;
- namespace BansheeEngine
- {
- public static class VirtualInput
- {
- public delegate void OnButtonEventDelegate(VirtualButton btn, int deviceIdx);
- public static event OnButtonEventDelegate OnButtonDown;
- public static event OnButtonEventDelegate OnButtonUp;
- public static event OnButtonEventDelegate OnButtonHeld;
- public static InputConfiguration KeyConfig
- {
- get
- {
- return Internal_GetKeyConfig();
- }
- set
- {
- Internal_SetKeyConfig(value);
- }
- }
-
- public static bool IsButtonDown(VirtualButton button, int deviceIdx = 0)
- {
- return Internal_IsButtonDown(button, deviceIdx);
- }
- public static bool IsButtonUp(VirtualButton button, int deviceIdx = 0)
- {
- return Internal_IsButtonUp(button, deviceIdx);
- }
- public static bool IsButtonHeld(VirtualButton button, int deviceIdx = 0)
- {
- return Internal_IsButtonHeld(button, deviceIdx);
- }
- public static float GetAxisValue(VirtualAxis axis, int deviceIdx = 0)
- {
- return Internal_GetAxisValue(axis, deviceIdx);
- }
- private static void Internal_TriggerButtonDown(VirtualButton button, int deviceIdx)
- {
- if (OnButtonDown != null)
- OnButtonDown(button, deviceIdx);
- }
- private static void Internal_TriggerButtonUp(VirtualButton button, int deviceIdx)
- {
- if (OnButtonUp != null)
- OnButtonUp(button, deviceIdx);
- }
- private static void Internal_TriggerButtonHeld(VirtualButton button, int deviceIdx)
- {
- if (OnButtonHeld != null)
- OnButtonHeld(button, deviceIdx);
- }
- [MethodImpl(MethodImplOptions.InternalCall)]
- private static extern InputConfiguration Internal_GetKeyConfig();
- [MethodImpl(MethodImplOptions.InternalCall)]
- private static extern void Internal_SetKeyConfig(InputConfiguration inputConfig);
- [MethodImpl(MethodImplOptions.InternalCall)]
- private static extern bool Internal_IsButtonDown(VirtualButton button, int deviceIdx);
- [MethodImpl(MethodImplOptions.InternalCall)]
- private static extern bool Internal_IsButtonUp(VirtualButton button, int deviceIdx);
- [MethodImpl(MethodImplOptions.InternalCall)]
- private static extern bool Internal_IsButtonHeld(VirtualButton button, int deviceIdx);
- [MethodImpl(MethodImplOptions.InternalCall)]
- private static extern float Internal_GetAxisValue(VirtualAxis button, int deviceIdx);
- };
- }
|