From f74c1b5ada5bff50626bca3bab890ac6d8e019e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=80=9D=E6=B5=B7?= <1464576565@qq.com> Date: Mon, 22 Dec 2025 11:30:24 +0800 Subject: [PATCH] remove uxslider --- Runtime/UXComponent/UXSlider.meta | 8 - Runtime/UXComponent/UXSlider/UXSlider.cs | 603 ------------------ Runtime/UXComponent/UXSlider/UXSlider.cs.meta | 11 - 3 files changed, 622 deletions(-) delete mode 100644 Runtime/UXComponent/UXSlider.meta delete mode 100644 Runtime/UXComponent/UXSlider/UXSlider.cs delete mode 100644 Runtime/UXComponent/UXSlider/UXSlider.cs.meta diff --git a/Runtime/UXComponent/UXSlider.meta b/Runtime/UXComponent/UXSlider.meta deleted file mode 100644 index 104c9fd..0000000 --- a/Runtime/UXComponent/UXSlider.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b940f76ec6e9b0a45a47464a6f3d9616 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/UXComponent/UXSlider/UXSlider.cs b/Runtime/UXComponent/UXSlider/UXSlider.cs deleted file mode 100644 index e37c96e..0000000 --- a/Runtime/UXComponent/UXSlider/UXSlider.cs +++ /dev/null @@ -1,603 +0,0 @@ -// using AlicizaX.UI.Extension; -// using UnityEngine.EventSystems; -// using Direction = UnityEngine.UI.Slider.Direction; -// -// namespace UnityEngine.UI -// { -// [ExecuteAlways] -// [RequireComponent(typeof(RectTransform))] -// public class UXSlider : UXSelectable, IDragHandler, IInitializePotentialDragHandler, ICanvasElement -// { -// [SerializeField] private RectTransform m_FillRect; -// -// public RectTransform fillRect -// { -// get { return m_FillRect; } -// set -// { -// if (SetPropertyUtility.SetClass(ref m_FillRect, value)) -// { -// UpdateCachedReferences(); -// UpdateVisuals(); -// } -// } -// } -// -// [SerializeField] private RectTransform m_HandleRect; -// -// public RectTransform handleRect -// { -// get { return m_HandleRect; } -// set -// { -// if (SetPropertyUtility.SetClass(ref m_HandleRect, value)) -// { -// UpdateCachedReferences(); -// UpdateVisuals(); -// } -// } -// } -// -// [Space] [SerializeField] private Slider.Direction m_Direction = Slider.Direction.LeftToRight; -// -// public Slider.Direction direction -// { -// get { return m_Direction; } -// set -// { -// if (SetPropertyUtility.SetStruct(ref m_Direction, value)) UpdateVisuals(); -// } -// } -// -// [SerializeField] private float m_MinValue = 0; -// -// public float minValue -// { -// get { return m_MinValue; } -// set -// { -// if (SetPropertyUtility.SetStruct(ref m_MinValue, value)) -// { -// Set(m_Value); -// UpdateVisuals(); -// } -// } -// } -// -// [SerializeField] private float m_MaxValue = 1; -// -// public float maxValue -// { -// get { return m_MaxValue; } -// set -// { -// if (SetPropertyUtility.SetStruct(ref m_MaxValue, value)) -// { -// Set(m_Value); -// UpdateVisuals(); -// } -// } -// } -// -// [SerializeField] private bool m_WholeNumbers = false; -// -// public bool wholeNumbers -// { -// get { return m_WholeNumbers; } -// set -// { -// if (SetPropertyUtility.SetStruct(ref m_WholeNumbers, value)) -// { -// Set(m_Value); -// UpdateVisuals(); -// } -// } -// } -// -// [Space] [SerializeField] protected float m_Value; -// -// public virtual float value -// { -// get { return wholeNumbers ? Mathf.Round(m_Value) : m_Value; } -// set { Set(value); } -// } -// -// public virtual void SetValueWithoutNotify(float input) -// { -// Set(input, false); -// } -// -// public float normalizedValue -// { -// get -// { -// if (Mathf.Approximately(minValue, maxValue)) -// return 0; -// return Mathf.InverseLerp(minValue, maxValue, value); -// } -// set { this.value = Mathf.Lerp(minValue, maxValue, value); } -// } -// -// [Space] [SerializeField] private Slider.SliderEvent m_OnValueChanged = new Slider.SliderEvent(); -// -// public Slider.SliderEvent onValueChanged -// { -// get { return m_OnValueChanged; } -// set { m_OnValueChanged = value; } -// } -// -// // --- SMOOTHING FIELDS --- -// [Space] -// [SerializeField] private bool m_SmoothMovement = false; -// [SerializeField] private float m_SmoothSpeed = 8f; // value-per-second, larger=faster -// -// public bool smoothMovement -// { -// get { return m_SmoothMovement; } -// set { m_SmoothMovement = value; } -// } -// -// /// -// /// 平滑移动目标值(只有当 smoothMovement && !wholeNumbers 时生效) -// /// -// protected float m_TargetValue; -// protected bool m_IsSmoothMoving = false; -// // ------------------------ -// -// private Image m_FillImage; -// private Transform m_FillTransform; -// private RectTransform m_FillContainerRect; -// private Transform m_HandleTransform; -// private RectTransform m_HandleContainerRect; -// -// private Vector2 m_Offset = Vector2.zero; -// -// #pragma warning disable 649 -// private DrivenRectTransformTracker m_Tracker; -// #pragma warning restore 649 -// -// private bool m_DelayedUpdateVisuals = false; -// -// float stepSize -// { -// get { return wholeNumbers ? 1 : (maxValue - minValue) * 0.1f; } -// } -// -// protected UXSlider() -// { -// } -// #if UNITY_EDITOR -// protected override void OnValidate() -// { -// base.OnValidate(); -// if (wholeNumbers) -// { -// m_MinValue = Mathf.Round(m_MinValue); -// m_MaxValue = Mathf.Round(m_MaxValue); -// } -// -// //Onvalidate is called before OnEnabled. We need to make sure not to touch any other objects before OnEnable is run. -// if (IsActive()) -// { -// UpdateCachedReferences(); -// // Update rects in next update since other things might affect them even if value didn't change. -// m_DelayedUpdateVisuals = true; -// } -// -// if (!UnityEditor.PrefabUtility.IsPartOfPrefabAsset(this) && !Application.isPlaying) -// CanvasUpdateRegistry.RegisterCanvasElementForLayoutRebuild(this); -// } -// #endif -// -// protected override void OnEnable() -// { -// base.OnEnable(); -// UpdateCachedReferences(); -// Set(m_Value, false); -// // Update rects since they need to be initialized correctly. -// UpdateVisuals(); -// // 初始化 target -// m_TargetValue = m_Value; -// m_IsSmoothMoving = false; -// } -// -// protected override void OnDisable() -// { -// m_Tracker.Clear(); -// base.OnDisable(); -// } -// -// protected virtual void Update() -// { -// if (m_DelayedUpdateVisuals) -// { -// m_DelayedUpdateVisuals = false; -// Set(m_Value, false); -// UpdateVisuals(); -// } -// -// // 处理平滑移动(仅当开启时) -// if (m_IsSmoothMoving) -// { -// // 如果 wholeNumbers 为 true,则取消平滑,直接设置最终值(避免小数) -// if (wholeNumbers) -// { -// m_IsSmoothMoving = false; -// Set(m_TargetValue); -// } -// else -// { -// float maxDelta = m_SmoothSpeed * Time.unscaledDeltaTime; -// float newValue = Mathf.MoveTowards(m_Value, m_TargetValue, maxDelta); -// // 使用 Set 来保持更新视觉并触发回调(会在数值改变时触发) -// Set(newValue); -// if (Mathf.Approximately(newValue, m_TargetValue)) -// { -// m_IsSmoothMoving = false; -// // 确保最终值精确到目标(避免浮点残留) -// Set(m_TargetValue); -// } -// } -// } -// } -// -// protected override void OnDidApplyAnimationProperties() -// { -// m_Value = ClampValue(m_Value); -// float oldNormalizedValue = normalizedValue; -// if (m_FillContainerRect != null) -// { -// if (m_FillImage != null && m_FillImage.type == Image.Type.Filled) -// oldNormalizedValue = m_FillImage.fillAmount; -// else -// oldNormalizedValue = (reverseValue ? 1 - m_FillRect.anchorMin[(int)axis] : m_FillRect.anchorMax[(int)axis]); -// } -// else if (m_HandleContainerRect != null) -// oldNormalizedValue = (reverseValue ? 1 - m_HandleRect.anchorMin[(int)axis] : m_HandleRect.anchorMin[(int)axis]); -// -// UpdateVisuals(); -// -// if (oldNormalizedValue != normalizedValue) -// { -// UISystemProfilerApi.AddMarker("Slider.value", this); -// onValueChanged.Invoke(m_Value); -// } -// -// // UUM-34170 Apparently, some properties on slider such as IsInteractable and Normalcolor Animation is broken. -// // We need to call base here to render the animation on Scene -// base.OnDidApplyAnimationProperties(); -// } -// -// void UpdateCachedReferences() -// { -// if (m_FillRect && m_FillRect != (RectTransform)transform) -// { -// m_FillTransform = m_FillRect.transform; -// m_FillImage = m_FillRect.GetComponent(); -// if (m_FillTransform.parent != null) -// m_FillContainerRect = m_FillTransform.parent.GetComponent(); -// } -// else -// { -// m_FillRect = null; -// m_FillContainerRect = null; -// m_FillImage = null; -// } -// -// if (m_HandleRect && m_HandleRect != (RectTransform)transform) -// { -// m_HandleTransform = m_HandleRect.transform; -// if (m_HandleTransform.parent != null) -// m_HandleContainerRect = m_HandleTransform.parent.GetComponent(); -// } -// else -// { -// m_HandleRect = null; -// m_HandleContainerRect = null; -// } -// } -// -// float ClampValue(float input) -// { -// float newValue = Mathf.Clamp(input, minValue, maxValue); -// if (wholeNumbers) -// newValue = Mathf.Round(newValue); -// return newValue; -// } -// -// protected virtual void Set(float input, bool sendCallback = true) -// { -// // Clamp the input -// float newValue = ClampValue(input); -// -// // If the stepped value doesn't match the last one, it's time to update -// if (m_Value == newValue) -// return; -// -// m_Value = newValue; -// UpdateVisuals(); -// if (sendCallback) -// { -// UISystemProfilerApi.AddMarker("Slider.value", this); -// m_OnValueChanged.Invoke(newValue); -// } -// } -// -// protected override void OnRectTransformDimensionsChange() -// { -// base.OnRectTransformDimensionsChange(); -// if (!IsActive()) -// return; -// -// UpdateVisuals(); -// } -// -// enum Axis -// { -// Horizontal = 0, -// Vertical = 1 -// } -// -// Axis axis -// { -// get { return (m_Direction == Direction.LeftToRight || m_Direction == Direction.RightToLeft) ? Axis.Horizontal : Axis.Vertical; } -// } -// -// bool reverseValue -// { -// get { return m_Direction == Direction.RightToLeft || m_Direction == Direction.TopToBottom; } -// } -// -// -// private void UpdateVisuals() -// { -// #if UNITY_EDITOR -// if (!Application.isPlaying) -// UpdateCachedReferences(); -// #endif -// -// m_Tracker.Clear(); -// -// if (m_FillContainerRect != null) -// { -// m_Tracker.Add(this, m_FillRect, DrivenTransformProperties.Anchors); -// Vector2 anchorMin = Vector2.zero; -// Vector2 anchorMax = Vector2.one; -// -// if (m_FillImage != null && m_FillImage.type == Image.Type.Filled) -// { -// m_FillImage.fillAmount = normalizedValue; -// } -// else -// { -// if (reverseValue) -// anchorMin[(int)axis] = 1 - normalizedValue; -// else -// anchorMax[(int)axis] = normalizedValue; -// } -// -// m_FillRect.anchorMin = anchorMin; -// m_FillRect.anchorMax = anchorMax; -// } -// -// if (m_HandleContainerRect != null) -// { -// m_Tracker.Add(this, m_HandleRect, DrivenTransformProperties.Anchors); -// Vector2 anchorMin = Vector2.zero; -// Vector2 anchorMax = Vector2.one; -// anchorMin[(int)axis] = anchorMax[(int)axis] = (reverseValue ? (1 - normalizedValue) : normalizedValue); -// m_HandleRect.anchorMin = anchorMin; -// m_HandleRect.anchorMax = anchorMax; -// } -// } -// -// void UpdateDrag(PointerEventData eventData, Camera cam) -// { -// RectTransform clickRect = m_HandleContainerRect ?? m_FillContainerRect; -// if (clickRect != null && clickRect.rect.size[(int)axis] > 0) -// { -// Vector2 position = Vector2.zero; -// if (!MultipleDisplayUtilities.GetRelativeMousePositionForDrag(eventData, ref position)) -// return; -// -// Vector2 localCursor; -// if (!RectTransformUtility.ScreenPointToLocalPointInRectangle(clickRect, position, cam, out localCursor)) -// return; -// localCursor -= clickRect.rect.position; -// -// float val = Mathf.Clamp01((localCursor - m_Offset)[(int)axis] / clickRect.rect.size[(int)axis]); -// normalizedValue = (reverseValue ? 1f - val : val); -// } -// } -// -// private bool MayDrag(PointerEventData eventData) -// { -// return IsActive() && IsInteractable() && eventData.button == PointerEventData.InputButton.Left; -// } -// -// public override void OnPointerDown(PointerEventData eventData) -// { -// if (!MayDrag(eventData)) -// return; -// -// base.OnPointerDown(eventData); -// -// // 取消任何平滑移动(开始拖拽时) -// m_IsSmoothMoving = false; -// m_TargetValue = m_Value; -// -// m_Offset = Vector2.zero; -// if (m_HandleContainerRect != null && RectTransformUtility.RectangleContainsScreenPoint(m_HandleRect, eventData.pointerPressRaycast.screenPosition, eventData.enterEventCamera)) -// { -// Vector2 localMousePos; -// if (RectTransformUtility.ScreenPointToLocalPointInRectangle(m_HandleRect, eventData.pointerPressRaycast.screenPosition, eventData.pressEventCamera, out localMousePos)) -// m_Offset = localMousePos; -// } -// else -// { -// // Outside the slider handle - jump to this point instead -// UpdateDrag(eventData, eventData.pressEventCamera); -// } -// } -// -// public void OnDrag(PointerEventData eventData) -// { -// if (!MayDrag(eventData)) -// return; -// // 拖拽也取消平滑 -// m_IsSmoothMoving = false; -// m_TargetValue = m_Value; -// UpdateDrag(eventData, eventData.pressEventCamera); -// } -// -// public override void OnMove(AxisEventData eventData) -// { -// if (!IsActive() || !IsInteractable()) -// { -// base.OnMove(eventData); -// return; -// } -// -// // 基准值:如果当前已经在平滑移动中,累加到 target 上;否则从当前 value 开始。 -// float currentBase = m_IsSmoothMoving ? m_TargetValue : value; -// -// switch (eventData.moveDir) -// { -// case MoveDirection.Left: -// if (axis == Axis.Horizontal && FindSelectableOnLeft() == null) -// { -// float dest = ClampValue(reverseValue ? currentBase + stepSize : currentBase - stepSize); -// if (m_SmoothMovement && !wholeNumbers) -// { -// m_TargetValue = dest; -// m_IsSmoothMoving = true; -// } -// else -// { -// Set(dest); -// } -// } -// else -// base.OnMove(eventData); -// break; -// case MoveDirection.Right: -// if (axis == Axis.Horizontal && FindSelectableOnRight() == null) -// { -// float dest = ClampValue(reverseValue ? currentBase - stepSize : currentBase + stepSize); -// if (m_SmoothMovement && !wholeNumbers) -// { -// m_TargetValue = dest; -// m_IsSmoothMoving = true; -// } -// else -// { -// Set(dest); -// } -// } -// else -// base.OnMove(eventData); -// break; -// case MoveDirection.Up: -// if (axis == Axis.Vertical && FindSelectableOnUp() == null) -// { -// float dest = ClampValue(reverseValue ? currentBase - stepSize : currentBase + stepSize); -// if (m_SmoothMovement && !wholeNumbers) -// { -// m_TargetValue = dest; -// m_IsSmoothMoving = true; -// } -// else -// { -// Set(dest); -// } -// } -// else -// base.OnMove(eventData); -// break; -// case MoveDirection.Down: -// if (axis == Axis.Vertical && FindSelectableOnDown() == null) -// { -// float dest = ClampValue(reverseValue ? currentBase + stepSize : currentBase - stepSize); -// if (m_SmoothMovement && !wholeNumbers) -// { -// m_TargetValue = dest; -// m_IsSmoothMoving = true; -// } -// else -// { -// Set(dest); -// } -// } -// else -// base.OnMove(eventData); -// break; -// } -// } -// -// public override UXSelectable FindSelectableOnLeft() -// { -// if (navigation.mode == UXNavigation.Mode.Automatic && axis == Axis.Horizontal) -// return null; -// return base.FindSelectableOnLeft(); -// } -// -// public override UXSelectable FindSelectableOnRight() -// { -// if (navigation.mode == UXNavigation.Mode.Automatic && axis == Axis.Horizontal) -// return null; -// return base.FindSelectableOnRight(); -// } -// -// public override UXSelectable FindSelectableOnUp() -// { -// if (navigation.mode == UXNavigation.Mode.Automatic && axis == Axis.Vertical) -// return null; -// return base.FindSelectableOnUp(); -// } -// -// public override UXSelectable FindSelectableOnDown() -// { -// if (navigation.mode == UXNavigation.Mode.Automatic && axis == Axis.Vertical) -// return null; -// return base.FindSelectableOnDown(); -// } -// -// -// public void OnInitializePotentialDrag(PointerEventData eventData) -// { -// eventData.useDragThreshold = false; -// } -// -// public void SetDirection(Direction direction, bool includeRectLayouts) -// { -// Axis oldAxis = axis; -// bool oldReverse = reverseValue; -// this.direction = direction; -// -// if (!includeRectLayouts) -// return; -// -// if (axis != oldAxis) -// RectTransformUtility.FlipLayoutAxes(transform as RectTransform, true, true); -// -// if (reverseValue != oldReverse) -// RectTransformUtility.FlipLayoutOnAxis(transform as RectTransform, (int)axis, true, true); -// } -// -// public void Rebuild(CanvasUpdate executing) -// { -// #if UNITY_EDITOR -// if (executing == CanvasUpdate.Prelayout) -// onValueChanged.Invoke(value); -// #endif -// } -// -// public void LayoutComplete() -// { -// } -// -// public void GraphicUpdateComplete() -// { -// } -// } -// } diff --git a/Runtime/UXComponent/UXSlider/UXSlider.cs.meta b/Runtime/UXComponent/UXSlider/UXSlider.cs.meta deleted file mode 100644 index 33e649a..0000000 --- a/Runtime/UXComponent/UXSlider/UXSlider.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 000a654558f849878601d3b0ed350623 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {fileID: 2800000, guid: dfe8ade815753dc4d9ca3ce5d981cb91, type: 3} - userData: - assetBundleName: - assetBundleVariant: