Ejemplo n.º 1
0
    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;
        }
    }