using System.Threading;
using AlicizaX.Resource.Runtime;
using Cysharp.Threading.Tasks;
using UnityEngine;
using UnityEngine.UI;
public static class SetSpriteExtensions
{
///
/// 设置图片。
///
/// UI/Image。
/// 资源定位地址。
/// 是否使用原始分辨率。
/// 取消设置资源的Token。
public static void SetSprite(this Image image, string location, bool setNativeSize = false, CancellationToken cancellationToken = default)
{
ResourceExtComponent.Instance.SetAssetByResources(SetSpriteObject.Create(image, location, setNativeSize, cancellationToken)).Forget();
}
///
/// 设置图片。
///
/// 2D/SpriteRender。
/// 资源定位地址。
/// 取消设置资源的Token。
public static void SetSprite(this SpriteRenderer spriteRenderer, string location, CancellationToken cancellationToken = default)
{
ResourceExtComponent.Instance.SetAssetByResources(SetSpriteObject.Create(spriteRenderer, location, cancellationToken)).Forget();
}
///
/// 设置子图片。
///
/// UI/Image。
/// 资源定位地址。
/// 子图片名称。
/// 是否使用原始分辨率。
/// 取消设置资源的Token。
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();
}
///
/// 设置子图片。
///
/// 2D/SpriteRender。
/// 资源定位地址。
/// 子图片名称。
/// 取消设置资源的Token。
public static void SetSubSprite(this SpriteRenderer spriteRenderer, string location, string spriteName, CancellationToken cancellationToken = default)
{
ResourceExtComponent.Instance.SetSubSprite(spriteRenderer, location, spriteName, cancellationToken).Forget();
}
}