////////////////// // Widget management ////////////////// public void UpdateWidgets() { if (currentPage == null) { return; } mouseOver.Clear(); // Update widget lists widgets = GetCurrentWidgets(); for (int i = 0; i < widgets.Length; i++) { OGWidget w = widgets[i]; if (w == null || !w.isDrawn || w.isDisabled) { continue; } // Check mouse if (w.CheckMouseOver()) { w.OnMouseOver(); mouseOver.Add(w); } // Check scroll offset if (!w.clipTo) { w.scrollOffset.x = 0; w.scrollOffset.y = 0; } w.root = this; w.gameObject.layer = this.gameObject.layer; w.UpdateWidget(); w.Recalculate(); // Cleanup from previous OpenGUI versions if (w.hidden) { DestroyImmediate(w.gameObject); } } // Is mouse over anything? isMouseOver = mouseOver.Count > 0; }