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