using Cysharp.Threading.Tasks; using DG.Tweening; using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI; /// /// 工具类 /// public static class ToolManager { /// /// 刷新右侧的滑动条 /// /// public static async UniTask RefreshScrollView(RectTransform content, ScrollRect scrollRect) { await UniTask.Delay(1); LayoutRebuilder.ForceRebuildLayoutImmediate(content as RectTransform); scrollRect.verticalNormalizedPosition = 1; // 回到顶部 } /// /// 根据文字数量改变 背景 大小 /// /// public static void justImageWidth(TextMeshProUGUI contentText, RectTransform _bg, float width, float height) { float preferredWidth = contentText.preferredWidth; _bg.sizeDelta = new Vector2(preferredWidth + (contentText.text == "" ? 0 : width), _bg.sizeDelta.y); contentText.GetComponent().sizeDelta = new Vector2(preferredWidth + (contentText.text == "" ? 0 : width), height); } /// /// UI面板实现渐显 /// /// /// 速度 public static async UniTask CanvasFadeIn(CanvasGroup canvasGroup , float fadeDuration) { //canvasGroup.alpha = 0; await UniTask.Delay(1); canvasGroup.DOFade(1f, fadeDuration); } /// /// UI面板实现渐隐 /// /// /// 速度 public static async UniTask CanvasFadeOut(CanvasGroup canvasGroup, float fadeDuration) { await UniTask.Delay(1); canvasGroup.DOFade(0f, fadeDuration); } }