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); } }
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; } }
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(); } } }