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);
}
}