Ejemplo n.º 1
0
    void OnGUI()
    {
        if (Hidden)
        {
            return;
        }
        GUI.DrawTexture(QuickRect(), m_IdleTex);
        if (LMS_GuiBaseUtils.IsConflicting(QuickRect()))
        {
            return;
        }
        Event e = Event.current;

        if (e.type == EventType.MouseDown)
        {
            LMS_GuiBaseCallback cb = LMS_GuiBaseUtils.GetElementAt(e.mousePosition);
            if (cb != null && (cb.Hack || cb is LMS_GuiBaseTouchBar))
            {
                if (QuickRect().Contains(e.mousePosition))
                {
                    loc       = e.mousePosition;
                    mouseDown = true;
                }
            }
        }
        if (e.type == EventType.MouseDrag)
        {
            if (mouseDown)
            {
                newOrigin = e.mousePosition;
            }
        }
        if (e.type == EventType.MouseUp)
        {
            if (mouseDown)
            {
                if (LMS_Main.Instance.LeftBarOverlay.Owner.liveRect.Contains(e.mousePosition) || LMS_Meta.getMetaValue("VERT_SCROLL_DOWN", "0") == "1")
                {
                    return;
                }
                if (newOrigin == Vector2.zero)
                {
                    onSwipe(E_Swipe.IDLE);
                }
                else if (newOrigin.y > loc.y)
                {
                    onSwipe(E_Swipe.DOWN);
                }
                else if (newOrigin.y < loc.y)
                {
                    onSwipe(E_Swipe.UP);
                }
                mouseDown = false;
            }
            loc       = Vector2.zero;
            newOrigin = loc;
        }
    }
    void OnGUI()
    {
        if (GUILayout.Button("MOVE"))
        {
            mode = "move";
        }
        if (GUILayout.Button("RESIZE"))
        {
            mode = "resize";
        }
        Event e = Event.current;

        if (e.type == EventType.MouseDown)
        {
            LMS_GuiBaseCallback callback = LMS_GuiBaseUtils.GetElementAt(e.mousePosition);
            if (callback != null)
            {
                selected  = callback;
                MouseDown = true;
            }
        }
        else if (e.type == EventType.MouseUp)
        {
            if (MouseDown)
            {
                selectedElements.Add(selected.GetType().ToString() + " RECT=" + selected.Config.Rect.ToString());
                MouseDown = false;
            }
        }
        else if (e.type == EventType.MouseDrag)
        {
            if (MouseDown)
            {
                if (mode == "move")
                {
                    selected.Config.Rect.x += e.delta.x;
                    selected.Config.Rect.y += e.delta.y;
                }
                else
                {
                    selected.Config.Rect.width  += e.delta.x;
                    selected.Config.Rect.height += e.delta.y;
                }
            }
        }

        /*if (lastScrollerUpdate + 3f < Time.timeSinceLevelLoad)
         * {
         *  selected = FindObjectsOfType<LMS_GuiBaseVerticalScroller>().Where(c => !c.Hidden).ToArray()[0];
         *  lastScrollerUpdate = Time.timeSinceLevelLoad;
         * }*/
        if (selected != null)
        {
            GLCanvas.DrawBox(selected.QuickRect(), Color.green, 2f);
        }
    }