private void processKeyEvent(EventType eventType, KeyCode keyCode, EventModifiers modifiers) { dfControl activeControl = dfGUIManager.ActiveControl; if (activeControl == null || !activeControl.IsEnabled || !activeControl.transform.IsChildOf(base.transform)) { return; } bool flag = (modifiers & EventModifiers.Control) == EventModifiers.Control; bool flag1 = (modifiers & EventModifiers.Shift) == EventModifiers.Shift; bool flag2 = (modifiers & EventModifiers.Alt) == EventModifiers.Alt; dfKeyEventArgs dfKeyEventArg = new dfKeyEventArgs(activeControl, keyCode, flag, flag1, flag2); if (keyCode >= KeyCode.Space && keyCode <= KeyCode.Z) { char chr = (char)keyCode; dfKeyEventArg.Character = (!flag1 ? char.ToLower(chr) : char.ToUpper(chr)); } if (eventType == EventType.KeyDown) { activeControl.OnKeyDown(dfKeyEventArg); } else if (eventType == EventType.KeyUp) { activeControl.OnKeyUp(dfKeyEventArg); } if (!dfKeyEventArg.Used && eventType != EventType.KeyUp) { return; } }
private void processJoystick() { try { dfControl activeControl = dfGUIManager.ActiveControl; if (!(activeControl == null) && activeControl.transform.IsChildOf(base.transform)) { float axis = this.adapter.GetAxis(this.horizontalAxis); float single = this.adapter.GetAxis(this.verticalAxis); if (Mathf.Abs(axis) < 0.5f && Mathf.Abs(single) <= 0.5f) { this.lastAxisCheck = Time.deltaTime - this.axisPollingInterval; } if (Time.realtimeSinceStartup - this.lastAxisCheck > this.axisPollingInterval) { if (Mathf.Abs(axis) >= 0.5f) { this.lastAxisCheck = Time.realtimeSinceStartup; activeControl.OnKeyDown(new dfKeyEventArgs(activeControl, (axis <= 0f ? KeyCode.LeftArrow : KeyCode.RightArrow), false, false, false)); } if (Mathf.Abs(single) >= 0.5f) { this.lastAxisCheck = Time.realtimeSinceStartup; activeControl.OnKeyDown(new dfKeyEventArgs(activeControl, (single <= 0f ? KeyCode.DownArrow : KeyCode.UpArrow), false, false, false)); } } if (this.joystickClickButton != KeyCode.None) { if (this.adapter.GetKeyDown(this.joystickClickButton)) { Vector3 center = activeControl.GetCenter(); Camera camera = activeControl.GetCamera(); Ray ray = camera.ScreenPointToRay(camera.WorldToScreenPoint(center)); dfMouseEventArgs dfMouseEventArg = new dfMouseEventArgs(activeControl, dfMouseButtons.Left, 0, ray, center, 0f); activeControl.OnMouseDown(dfMouseEventArg); this.buttonDownTarget = activeControl; } if (this.adapter.GetKeyUp(this.joystickClickButton)) { if (this.buttonDownTarget == activeControl) { activeControl.DoClick(); } Vector3 vector3 = activeControl.GetCenter(); Camera camera1 = activeControl.GetCamera(); Ray ray1 = camera1.ScreenPointToRay(camera1.WorldToScreenPoint(vector3)); dfMouseEventArgs dfMouseEventArg1 = new dfMouseEventArgs(activeControl, dfMouseButtons.Left, 0, ray1, vector3, 0f); activeControl.OnMouseUp(dfMouseEventArg1); this.buttonDownTarget = null; } } for (KeyCode i = KeyCode.Joystick1Button0; i <= KeyCode.Joystick1Button19; i++) { if (this.adapter.GetKeyDown(i)) { activeControl.OnKeyDown(new dfKeyEventArgs(activeControl, i, false, false, false)); } } } } catch (UnityException unityException) { Debug.LogError(unityException.ToString(), this); this.useJoystick = false; } }