示例#1
0
    public static OGWidgetType GetWidgetEnum(OGWidget w)
    {
        if (widgetEnums.Count < 1)
        {
            widgetEnums.Add(typeof(OGButton), OGWidgetType.Button);
            widgetEnums.Add(typeof(OGDropDown), OGWidgetType.DropDown);
            widgetEnums.Add(typeof(OGDropContainer), OGWidgetType.DropContainer);
            widgetEnums.Add(typeof(OGLabel), OGWidgetType.Label);
            widgetEnums.Add(typeof(OGListItem), OGWidgetType.ListItem);
            widgetEnums.Add(typeof(OGPopUp), OGWidgetType.PopUp);
            widgetEnums.Add(typeof(OGProgressBar), OGWidgetType.ProgressBar);
            widgetEnums.Add(typeof(OGScrollView), OGWidgetType.ScrollView);
            widgetEnums.Add(typeof(OGSlider), OGWidgetType.Slider);
            widgetEnums.Add(typeof(OGSlicedSprite), OGWidgetType.SlicedSprite);
            widgetEnums.Add(typeof(OGSprite), OGWidgetType.Sprite);
            widgetEnums.Add(typeof(OGTabs), OGWidgetType.Tabs);
            widgetEnums.Add(typeof(OGTextField), OGWidgetType.TextField);
            widgetEnums.Add(typeof(OGTickBox), OGWidgetType.TickBox);
        }

        if (widgetEnums.ContainsKey(w.GetType()))
        {
            return(widgetEnums [w.GetType()]);
        }
        else
        {
            return(OGWidgetType.NONE);
        }
    }
示例#2
0
	public static OGWidgetType GetWidgetEnum ( OGWidget w ) {
		if ( widgetEnums.Count < 1 ) {
			widgetEnums.Add ( typeof(OGButton), OGWidgetType.Button );
			widgetEnums.Add ( typeof(OGDropDown), OGWidgetType.DropDown );
			widgetEnums.Add ( typeof(OGDropContainer), OGWidgetType.DropContainer );
			widgetEnums.Add ( typeof(OGLabel), OGWidgetType.Label );
			widgetEnums.Add ( typeof(OGListItem), OGWidgetType.ListItem );
			widgetEnums.Add ( typeof(OGPopUp), OGWidgetType.PopUp );
			widgetEnums.Add ( typeof(OGProgressBar), OGWidgetType.ProgressBar );
			widgetEnums.Add ( typeof(OGScrollView), OGWidgetType.ScrollView );
			widgetEnums.Add ( typeof(OGSlider), OGWidgetType.Slider );
			widgetEnums.Add ( typeof(OGSlicedSprite), OGWidgetType.SlicedSprite );
			widgetEnums.Add ( typeof(OGSprite), OGWidgetType.Sprite );
			widgetEnums.Add ( typeof(OGTabs), OGWidgetType.Tabs );
			widgetEnums.Add ( typeof(OGTextField), OGWidgetType.TextField );
			widgetEnums.Add ( typeof(OGTickBox), OGWidgetType.TickBox );
		}

		if ( widgetEnums.ContainsKey ( w.GetType() ) ) {
			return widgetEnums [ w.GetType() ];
		} else {
			return OGWidgetType.NONE;
		}
	}
示例#3
0
    public void UpdateMouse()
    {
        if (widgets == null)
        {
            return;
        }

        int      i = 0;
        OGWidget w;

        // Click
        if (Input.GetMouseButtonDown(0) || Input.GetMouseButtonDown(2) || GetTouch() == TouchPhase.Began)
        {
            OGWidget topWidget = null;

            for (i = 0; i < mouseOver.Count; i++)
            {
                w = mouseOver[i];

                if ((w.GetType() != typeof(OGScrollView) || (w as OGScrollView).touchControl) && (topWidget == null || w.transform.position.z < topWidget.transform.position.z) && w.isSelectable)
                {
                    topWidget = w;
                }
            }

            if (downWidget && downWidget != topWidget)
            {
                downWidget.OnMouseCancel();
            }

            if (topWidget != null && topWidget.CheckMouseOver() && !topWidget.isDisabled)
            {
                topWidget.OnMouseDown();
                downWidget = topWidget;
            }

            // Release
        }
        else if (Input.GetMouseButtonUp(0) || Input.GetMouseButtonUp(2) || GetTouch() == TouchPhase.Ended || GetTouch() == TouchPhase.Canceled)
        {
            if (downWidget)
            {
                // Draggable
                if (downWidget.resetAfterDrag && downWidget.GetType() != typeof(OGScrollView))
                {
                    downWidget.transform.position = downWidget.dragOrigPos;
                    downWidget.dragOffset         = Vector3.zero;
                    downWidget.dragOrigPos        = Vector3.zero;
                }

                // Mouse over
                if ((downWidget.CheckMouseOver() || GetTouch() == TouchPhase.Ended) && !downWidget.isDisabled && downWidget.CheckMouseOver())
                {
                    downWidget.OnMouseUp();

                    // Mouse out
                }
                else
                {
                    downWidget.OnMouseCancel();
                }
            }

            // Dragging
        }
        else if (GetDragging() != Vector2.zero)
        {
            if (downWidget != null && !downWidget.isDisabled)
            {
                if (downWidget.clipTo && downWidget.clipTo.GetType() == typeof(OGScrollView) && (downWidget.clipTo as OGScrollView).touchControl)
                {
                    OGWidget thisWidget = downWidget;
                    thisWidget.OnMouseCancel();
                    downWidget = thisWidget.clipTo;
                }

                downWidget.OnMouseDrag();

                if (downWidget.isDraggable && downWidget.GetType() != typeof(OGScrollView))
                {
                    Vector3 mousePos = Input.mousePosition;
                    mousePos.y = screenHeight - mousePos.y;

                    if (downWidget.dragOffset == Vector3.zero)
                    {
                        if (downWidget.resetAfterDrag)
                        {
                            downWidget.dragOrigPos = downWidget.transform.position;
                        }

                        downWidget.dragOffset = downWidget.transform.position - mousePos;
                    }

                    Vector3 newPos = downWidget.transform.position;
                    newPos = mousePos + downWidget.dragOffset;
                    downWidget.transform.position = newPos;
                }
            }
        }

        // Escape key
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            if (downWidget != null)
            {
                downWidget.OnMouseCancel();
                ReleaseWidget();
            }
        }
    }