void DrawDebug() { if (debugUnderMouse || debugParentUnderMouse || debugTableUnderMouse != Table.TableDebug.None) { var mousePos = ScreenToStageCoordinates(Input.RawMousePosition.ToVector2()); var element = Hit(mousePos); if (element == null) { DisableDebug(root, null); return; } if (debugParentUnderMouse && element.parent != null) { element = element.parent; } if (debugTableUnderMouse == Table.TableDebug.None) { element.SetDebug(true); } else { while (element != null) { if (element is Table) { break; } element = element.parent; } if (element == null) { return; } ((Table)element).SetTableDebug(debugTableUnderMouse); } if (debugAll && element is Group) { ((Group)element).DebugAll(); } DisableDebug(root, element); } else { if (debugAll) { root.DebugAll(); } } }