AlicizaX/Client/Packages/com.alicizax.unity.resource/Runtime/Resource/Extension/Implement/SetSpriteExtensions.cs

57 lines
2.6 KiB
C#
Raw Normal View History

2025-04-28 19:45:45 +08:00
using System.Threading;
using AlicizaX.Resource.Runtime;
2025-07-11 21:00:00 +08:00
using Cysharp.Threading.Tasks;
2025-01-23 19:06:48 +08:00
using UnityEngine;
using UnityEngine.UI;
public static class SetSpriteExtensions
{
/// <summary>
/// 设置图片。
/// </summary>
/// <param name="image">UI/Image。</param>
/// <param name="location">资源定位地址。</param>
/// <param name="setNativeSize">是否使用原始分辨率。</param>
2025-04-28 19:45:45 +08:00
/// <param name="cancellationToken">取消设置资源的Token。</param>
public static void SetSprite(this Image image, string location, bool setNativeSize = false, CancellationToken cancellationToken = default)
2025-01-23 19:06:48 +08:00
{
2025-04-28 19:45:45 +08:00
ResourceExtComponent.Instance.SetAssetByResources<Sprite>(SetSpriteObject.Create(image, location, setNativeSize, cancellationToken)).Forget();
2025-01-23 19:06:48 +08:00
}
/// <summary>
/// 设置图片。
/// </summary>
/// <param name="spriteRenderer">2D/SpriteRender。</param>
/// <param name="location">资源定位地址。</param>
2025-04-28 19:45:45 +08:00
/// <param name="cancellationToken">取消设置资源的Token。</param>
public static void SetSprite(this SpriteRenderer spriteRenderer, string location, CancellationToken cancellationToken = default)
2025-01-23 19:06:48 +08:00
{
2025-04-28 19:45:45 +08:00
ResourceExtComponent.Instance.SetAssetByResources<Sprite>(SetSpriteObject.Create(spriteRenderer, location, cancellationToken)).Forget();
2025-01-23 19:06:48 +08:00
}
2025-07-11 21:00:00 +08:00
/// <summary>
/// 设置子图片。
/// </summary>
/// <param name="image">UI/Image。</param>
/// <param name="location">资源定位地址。</param>
/// <param name="spriteName">子图片名称。</param>
/// <param name="setNativeSize">是否使用原始分辨率。</param>
/// <param name="cancellationToken">取消设置资源的Token。</param>
public static void SetSubSprite(this Image image, string location, string spriteName, bool setNativeSize = false, CancellationToken cancellationToken = default)
{
ResourceExtComponent.Instance.SetSubSprite(image, location, spriteName, setNativeSize, cancellationToken).Forget();
}
/// <summary>
/// 设置子图片。
/// </summary>
/// <param name="spriteRenderer">2D/SpriteRender。</param>
/// <param name="location">资源定位地址。</param>
/// <param name="spriteName">子图片名称。</param>
/// <param name="cancellationToken">取消设置资源的Token。</param>
public static void SetSubSprite(this SpriteRenderer spriteRenderer, string location, string spriteName, CancellationToken cancellationToken = default)
{
ResourceExtComponent.Instance.SetSubSprite(spriteRenderer, location, spriteName, cancellationToken).Forget();
}
2025-04-28 19:45:45 +08:00
}