Fixed weird underline on UI text and made text bigger

Made-with: Cursor
This commit is contained in:
Leo Qu
2026-03-08 21:39:00 -04:00
parent 3d3285003f
commit 44fb8276ff
17 changed files with 1064 additions and 3956 deletions

View File

@@ -1,11 +1,11 @@
using UnityEngine;
using UnityEngine.UI;
using TMPro;
using UnityEngine.EventSystems;
public class ServoModuleUISliderController : MonoBehaviour
{
public Slider angleSlider;
public TextMeshProUGUI selectedModuleText;
public Text selectedModuleText;
private bool isDragging = false;
@@ -14,27 +14,38 @@ public class ServoModuleUISliderController : MonoBehaviour
if (angleSlider == null)
angleSlider = GetComponentInChildren<Slider>();
if (angleSlider == null) return;
angleSlider.minValue = 0f;
angleSlider.maxValue = 180f;
angleSlider.onValueChanged.AddListener(OnSliderChanged);
var et = angleSlider.GetComponent<EventTrigger>() ?? angleSlider.gameObject.AddComponent<EventTrigger>();
var begin = new EventTrigger.Entry { eventID = EventTriggerType.BeginDrag };
begin.callback.AddListener(_ => isDragging = true);
et.triggers.Add(begin);
var end = new EventTrigger.Entry { eventID = EventTriggerType.EndDrag };
end.callback.AddListener(_ => isDragging = false);
et.triggers.Add(end);
}
void Update()
{
if (selectedModuleText == null || angleSlider == null) return;
var selected = ServoMotorModule.selectedModule;
if (selected != null)
{
selectedModuleText.text = $"Selected: {selected.name} | Angle: {selected.currentAngle:F1}°";
// Sync slider with angle if not dragging
if (!isDragging)
{
angleSlider.value = selected.currentAngle;
angleSlider.SetValueWithoutNotify(selected.currentAngle);
}
// Make slider visible and interactable
if (!angleSlider.gameObject.activeSelf)
{
angleSlider.gameObject.SetActive(true);
@@ -44,7 +55,6 @@ public class ServoModuleUISliderController : MonoBehaviour
{
selectedModuleText.text = "No module selected";
// Hide slider when no module selected
if (angleSlider.gameObject.activeSelf)
{
angleSlider.gameObject.SetActive(false);
@@ -59,9 +69,4 @@ public class ServoModuleUISliderController : MonoBehaviour
ServoMotorModule.selectedModule.SetAngleAndSendControlLibrary(value);
}
}
public void OnEndDrag()
{
isDragging = false;
}
}