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