Beispiel #1
0
            public override void HandleKeyEvent(int id, int keyCode, char keyChar)
            {
                KeyEventData e = new KeyEventData(id, keyCode, keyChar);

                Keyboard.HandleEvent(e);
                UIElement.HandleKeyEvent(e);
            }
Beispiel #2
0
        public static KeyEventData ProcessKeyEvent(Event evt)
        {
            KeyEventData eventData = new KeyEventData();

            eventData.Modifiers    = GetEventModifiersState(evt);
            eventData.KeyCode      = s_KeyCodeMapping [(int)evt.keyCode];
            eventData.IsNumPad     = evt.numeric;
            eventData.IsAutoRepeat = false;             // Indeterminate
            return(eventData);
        }
Beispiel #3
0
        public void EscKeyFunctionalityNotInEditMode()
        {
            KeyEventData keyEventData = new KeyEventData(KeyEvent.KEY_RELEASED,
                                                         KeyEvent.VK_ESCAPE, '\x1b');

            _labelView.CanLeaveEditMode = true;
            UIElement.HandleKeyEvent(keyEventData);

            // Check if expected ESC action occurred.
            Assert.IsFalse(_labelView.IsInEditMode);
        }
Beispiel #4
0
        public static KeyEventData ProcessCharEvent(Event evt)
        {
            KeyEventData eventData = new KeyEventData();

            eventData.Modifiers    = GetEventModifiersState(evt);
            eventData.KeyCode      = evt.character;
            eventData.IsNumPad     = evt.numeric;
            eventData.IsAutoRepeat = false;             // Indeterminate
            eventData.Type         = KeyEventData.EventType.Char;
            return(eventData);
        }
Beispiel #5
0
        /// <summary>
        /// ボタンを押下したときの処理
        /// </summary>
        /// <param name="eventData">キー入力のイベント情報</param>
        void IKeyDownHandler.OnKeyDown(KeyEventData eventData)
        {
            if (_isAlter)
            {
                return;
            }

            if (eventData.keyId == UIKeyId.Submit)
            {
                BeginAlterKey();
            }
        }
Beispiel #6
0
        /// <summary>
        /// Helper function for faking the typing of characters.
        /// A character is typed every 10 ticks.
        /// </summary>
        /// <param name="text">The text to schedule type events for.</param>
        public void ScheduleTypeTextInLabelView(string text)
        {
            int scheduleTicks = 10;

            // Schedule to type a character in every 10 ticks.
            foreach (char character in text)
            {
                KeyEventData keyEventData = new KeyEventData(KeyEvent.KEY_TYPED, KeyEvent.CHAR_UNDEFINED, character);

                _scheduler.Schedule(TimeSpan.FromTicks(scheduleTicks), () => UIElement.HandleKeyEvent(keyEventData));

                scheduleTicks += 10;
            }
        }
Beispiel #7
0
        public void SwitchViewsOnTab()
        {
            _diagramEditorView.SeqDiagView.IsVisible  = true;
            _diagramEditorView.CommDiagView.IsVisible = false;

            _diagramEditorView.ViewModel = new DiagramEditorViewModel(new Diagram());

            var expectedSeqDiagVisible  = !_diagramEditorView.SeqDiagView.IsVisible;
            var expectedCommDiagVisible = !_diagramEditorView.CommDiagView.IsVisible;

            // Press TAB
            var tabPressedData = new KeyEventData(KeyEvent.KEY_PRESSED, KeyEvent.VK_TAB, ' ');

            _diagramEditorView.RunOnKeyEvent(tabPressedData);

            var actualSeqDiagVisible  = _diagramEditorView.SeqDiagView.IsVisible;
            var actualCommDiagVisible = _diagramEditorView.CommDiagView.IsVisible;

            Assert.AreEqual(expectedSeqDiagVisible, actualSeqDiagVisible);
            Assert.AreEqual(expectedCommDiagVisible, actualCommDiagVisible);
        }
Beispiel #8
0
        public virtual void OnNewKeyInput(object source, KeyEventData data)
        {
            keyState = data._newKey;

            Animations.ChangeActiveAnimation(IdleState);


            if (keyState.IsKeyDown(Keys.D) || keyState.IsKeyDown(Keys.Right))
            {
                Animations.ChangeActiveAnimation("Walking_Right");
                speed          = 2.5f;
                IdleState      = "Idle_Right";
                body.Position += new Vector2(speed, 0);
            }

            if (keyState.IsKeyDown(Keys.A) || keyState.IsKeyDown(Keys.Left))
            {
                Animations.ChangeActiveAnimation("Walking_Left");
                speed          = -2.5f;
                IdleState      = "Idle_Left";
                body.Position += new Vector2(speed, 0);
            }

            if (canClimb && keyState.IsKeyDown(Keys.W) || keyState.IsKeyDown(Keys.Up))
            {
                speed          = -5f;
                body.Position += new Vector2(0, speed);
                Animations.ChangeActiveAnimation("Climbing");
                sound.Playsnd("Ladder", 0.3f, true);
            }
            if (canClimb && keyState.IsKeyDown(Keys.S) || keyState.IsKeyDown(Keys.Down))
            {
                speed          = 5f;
                body.Position += new Vector2(0, speed);
                Animations.ChangeActiveAnimation("Climbing");
                sound.Playsnd("Ladder", 0.3f, true);
            }
        }
Beispiel #9
0
 public void OnKeyBeginHold(KeyEventData eventData)
 {
     Debug.Log("Key begin hold.");
     Debug.Log(eventData.ToString());
 }
Beispiel #10
0
 public void OnKeyUp(KeyEventData eventData)
 {
     Debug.Log("Key up.");
     Debug.Log(eventData.ToString());
 }
Beispiel #11
0
 public void OnKeyDown(KeyEventData eventData)
 {
     Debug.Log("Key down.");
     Debug.Log(eventData.ToString());
 }
Beispiel #12
0
 public void OnKeyEndHold(KeyEventData eventData)
 {
     Debug.Log("Key end hold.");
     Debug.Log(eventData.ToString());
 }
Beispiel #13
0
		public static KeyEventData ProcessCharEvent (Event evt)
		{
			KeyEventData eventData = new KeyEventData ();
			eventData.Modifiers = GetEventModifiersState (evt);
			eventData.KeyCode = evt.character;
			eventData.IsNumPad = evt.numeric;
			eventData.IsAutoRepeat = false; // Indeterminate
			eventData.Type = KeyEventData.EventType.Char;
			return eventData;
		}
Beispiel #14
0
		public static KeyEventData ProcessKeyEvent (Event evt)
		{
			KeyEventData eventData = new KeyEventData ();
			eventData.Modifiers = GetEventModifiersState (evt);
			eventData.KeyCode = s_KeyCodeMapping [(int)evt.keyCode];
			eventData.IsNumPad = evt.numeric;
			eventData.IsAutoRepeat = false; // Indeterminate
			return eventData;
		}
    public virtual void OnGUI()
    {
        if (m_Views == null)
        {
            return;
        }

                #if UNITY_ANDROID || COHERENT_SIMULATE_MOBILE_IN_EDITOR || COHERENT_SIMULATE_MOBILE_IN_PLAYER
        if (Event.current.isMouse && !IsPointInsideAnyView(
                (int)Event.current.mousePosition.x,
                (int)Event.current.mousePosition.y))
        {
            var evt = Event.current;
            int x   = (int)evt.mousePosition.x;
            int y   = (int)evt.mousePosition.y;

            switch (evt.type)
            {
            case EventType.MouseDown:
                CoherentUI.InputManager.ProcessTouchEvent(
                    (int)TouchPhase.Began, evt.button, x, y);
                break;

            case EventType.MouseUp:
                CoherentUI.InputManager.ProcessTouchEvent(
                    (int)TouchPhase.Ended, evt.button, x, y);
                break;

            case EventType.MouseDrag:
                CoherentUI.InputManager.ProcessTouchEvent(
                    (int)TouchPhase.Moved, evt.button, x, y);
                break;
            }
        }
                #endif

                #if COHERENT_UNITY_STANDALONE
        MouseEventData mouseEventData   = null;
        KeyEventData   keyEventData     = null;
        KeyEventData   keyEventDataChar = null;

        switch (Event.current.type)
        {
        case EventType.MouseDown:
        {
            mouseEventData      = Coherent.UI.InputManager.ProcessMouseEvent(Event.current);
            mouseEventData.Type = MouseEventData.EventType.MouseDown;
        }
        break;

        case EventType.MouseUp:
        {
            mouseEventData      = Coherent.UI.InputManager.ProcessMouseEvent(Event.current);
            mouseEventData.Type = MouseEventData.EventType.MouseUp;
        }
        break;

        case EventType.ScrollWheel:
        {
            if (Event.current.delta.SqrMagnitude() > 0)
            {
                mouseEventData      = Coherent.UI.InputManager.ProcessMouseEvent(Event.current);
                mouseEventData.Type = MouseEventData.EventType.MouseWheel;
            }
        }
        break;

        case EventType.KeyDown:
            if (Event.current.keyCode != KeyCode.None)
            {
                keyEventData      = Coherent.UI.InputManager.ProcessKeyEvent(Event.current);
                keyEventData.Type = KeyEventData.EventType.KeyDown;

                if (keyEventData.KeyCode == 0)
                {
                    keyEventData = null;
                }
            }
            if (Event.current.character != 0)
            {
                keyEventDataChar = Coherent.UI.InputManager.ProcessCharEvent(Event.current);

                if (keyEventDataChar.KeyCode == 10)
                {
                    keyEventDataChar.KeyCode = 13;
                }
            }
            break;

        case EventType.KeyUp:
        {
            keyEventData      = Coherent.UI.InputManager.ProcessKeyEvent(Event.current);
            keyEventData.Type = KeyEventData.EventType.KeyUp;

            if (keyEventData.KeyCode == 0)
            {
                keyEventData = null;
            }
        }
        break;
        }

        foreach (var item in m_Views)
        {
            var view = item.View;
                        #if COHERENT_SIMULATE_MOBILE_IN_EDITOR || COHERENT_SIMULATE_MOBILE_IN_PLAYER
            bool forwardInput = (item.InputState !=
                                 CoherentUIView.CoherentViewInputState.TakeNone);
                        #else
            bool forwardInput = item.ReceivesInput;
                        #endif
            if (forwardInput && view != null)
            {
                if (mouseEventData != null)
                {
                    if (item.MouseX != -1 && item.MouseY != -1)
                    {
                        mouseEventData.X = item.MouseX;
                        mouseEventData.Y = item.MouseY;
                    }

                    //Check if there is a camera attached to the view's parent
                    //Views attached on surfaces do not have such camera.
                    var isOnSurface = item.gameObject.camera == null;

                    if (!isOnSurface)
                    {
                        CalculateScaledMouseCoordinates(ref mouseEventData,
                                                        item,
                                                        false);
                    }

                    view.MouseEvent(mouseEventData);

                    //Note: The Event.current.Use() marks the event as used,
                    //and makes the other GUI elements to ignore it, but does
                    //not destroy the event immediately
                    Event.current.Use();
                }
                if (keyEventData != null)
                {
                    view.KeyEvent(keyEventData);
                    Event.current.Use();
                }
                if (keyEventDataChar != null)
                {
                    view.KeyEvent(keyEventDataChar);
                    Event.current.Use();
                }
            }
        }
                #endif
    }
Beispiel #16
0
 public void PushEvent(KeyEventData data, IWidget target)
 {
     InputFlags = data.Flags;
 }
Beispiel #17
0
 public void RunOnKeyEvent(KeyEventData eventData)
 {
     OnKeyEvent(eventData);
 }
Beispiel #18
0
    public virtual void OnGUI()
    {
        if (m_Views == null)
        {
            return;
        }

                #if UNITY_EDITOR || COHERENT_UNITY_STANDALONE
        MouseEventData mouseEventData   = null;
        KeyEventData   keyEventData     = null;
        KeyEventData   keyEventDataChar = null;

        switch (Event.current.type)
        {
        case EventType.MouseDown:
        {
            mouseEventData      = Coherent.UI.InputManager.ProcessMouseEvent(Event.current);
            mouseEventData.Type = MouseEventData.EventType.MouseDown;
        }
        break;

        case EventType.MouseUp:
        {
            mouseEventData      = Coherent.UI.InputManager.ProcessMouseEvent(Event.current);
            mouseEventData.Type = MouseEventData.EventType.MouseUp;
        }
        break;

        case EventType.ScrollWheel:
        {
            if (Event.current.delta.SqrMagnitude() > 0)
            {
                mouseEventData      = Coherent.UI.InputManager.ProcessMouseEvent(Event.current);
                mouseEventData.Type = MouseEventData.EventType.MouseWheel;
            }
        }
        break;

        case EventType.KeyDown:
            if (Event.current.keyCode != KeyCode.None)
            {
                keyEventData      = Coherent.UI.InputManager.ProcessKeyEvent(Event.current);
                keyEventData.Type = KeyEventData.EventType.KeyDown;

                if (keyEventData.KeyCode == 0)
                {
                    keyEventData = null;
                }
            }
            if (Event.current.character != 0)
            {
                keyEventDataChar = Coherent.UI.InputManager.ProcessCharEvent(Event.current);
            }
            break;

        case EventType.KeyUp:
        {
            keyEventData      = Coherent.UI.InputManager.ProcessKeyEvent(Event.current);
            keyEventData.Type = KeyEventData.EventType.KeyUp;

            if (keyEventData.KeyCode == 0)
            {
                keyEventData = null;
            }
        }
        break;
        }

        foreach (var item in m_Views)
        {
            var view = item.View;
            if (item.ReceivesInput && view != null)
            {
                if (mouseEventData != null)
                {
                    if (item.MouseX != -1 && item.MouseY != -1)
                    {
                        mouseEventData.X = item.MouseX;
                        mouseEventData.Y = item.MouseY;
                    }
                    view.MouseEvent(mouseEventData);
                    Event.current.Use();
                }
                if (keyEventData != null)
                {
                    view.KeyEvent(keyEventData);
                    Event.current.Use();
                }
                if (keyEventDataChar != null)
                {
                    view.KeyEvent(keyEventDataChar);
                    Event.current.Use();
                }
            }
        }
                #endif
    }