protected void DoKeyLeft() { if (timer > 0) { return; } timer = keyTimeOut; if (keyTimeOut > 0.2f) { keyTimeOut -= 0.1f; } UIElement selected = layer.GetSelected(player); if (selected != null && selected.Left != null) { UIElement current = selected; selected = selected.Left; while (selected.Left != null && !selected.CanUse(player) && selected != current) { selected = selected.Left; } if (!selected.Enabled) { selected = current; } layer.SetSelected(player, selected); } else if (selected != null && selected.CanUse(player)) { selected.PreviousOption(); } else { layer.SetSelected(player, layer.GetFirstControl(player)); } }