mirror of
https://github.com/Alex-Rachel/TEngine.git
synced 2025-08-14 16:51:28 +00:00
SetSpriteExtension 回调
This commit is contained in:
@@ -12,10 +12,11 @@ public static class SetSpriteExtensions
|
|||||||
/// <param name="image">UI/Image。</param>
|
/// <param name="image">UI/Image。</param>
|
||||||
/// <param name="location">资源定位地址。</param>
|
/// <param name="location">资源定位地址。</param>
|
||||||
/// <param name="setNativeSize">是否使用原始分辨率。</param>
|
/// <param name="setNativeSize">是否使用原始分辨率。</param>
|
||||||
|
/// <param name="callback">设置完Sprite的回调</param>
|
||||||
/// <param name="cancellationToken">取消设置资源的Token。</param>
|
/// <param name="cancellationToken">取消设置资源的Token。</param>
|
||||||
public static void SetSprite(this Image image, string location, bool setNativeSize = false, CancellationToken cancellationToken = default)
|
public static void SetSprite(this Image image, string location, bool setNativeSize = false, Action<Image> callback = null, CancellationToken cancellationToken = default)
|
||||||
{
|
{
|
||||||
ResourceExtComponent.Instance.SetAssetByResources<Sprite>(SetSpriteObject.Create(image, location, setNativeSize, cancellationToken)).Forget();
|
ResourceExtComponent.Instance.SetAssetByResources<Sprite>(SetSpriteObject.Create(image, location, setNativeSize, callback, cancellationToken)).Forget();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -23,10 +24,11 @@ public static class SetSpriteExtensions
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="spriteRenderer">2D/SpriteRender。</param>
|
/// <param name="spriteRenderer">2D/SpriteRender。</param>
|
||||||
/// <param name="location">资源定位地址。</param>
|
/// <param name="location">资源定位地址。</param>
|
||||||
|
/// <param name="callback">设置完Sprite的回调</param>
|
||||||
/// <param name="cancellationToken">取消设置资源的Token。</param>
|
/// <param name="cancellationToken">取消设置资源的Token。</param>
|
||||||
public static void SetSprite(this SpriteRenderer spriteRenderer, string location, CancellationToken cancellationToken = default)
|
public static void SetSprite(this SpriteRenderer spriteRenderer, string location, Action<SpriteRenderer> callback = null, CancellationToken cancellationToken = default)
|
||||||
{
|
{
|
||||||
ResourceExtComponent.Instance.SetAssetByResources<Sprite>(SetSpriteObject.Create(spriteRenderer, location, cancellationToken)).Forget();
|
ResourceExtComponent.Instance.SetAssetByResources<Sprite>(SetSpriteObject.Create(spriteRenderer, location, callback, cancellationToken)).Forget();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@@ -41,6 +41,8 @@ namespace TEngine
|
|||||||
public string Location { get; private set; }
|
public string Location { get; private set; }
|
||||||
|
|
||||||
private bool _setNativeSize = false;
|
private bool _setNativeSize = false;
|
||||||
|
Action<Image> _imageCallback;
|
||||||
|
Action<SpriteRenderer> _spriteCallback;
|
||||||
|
|
||||||
private CancellationToken _cancellationToken;
|
private CancellationToken _cancellationToken;
|
||||||
|
|
||||||
@@ -58,10 +60,12 @@ namespace TEngine
|
|||||||
{
|
{
|
||||||
_image.SetNativeSize();
|
_image.SetNativeSize();
|
||||||
}
|
}
|
||||||
|
_imageCallback?.Invoke(_image);
|
||||||
}
|
}
|
||||||
else if (_spriteRenderer != null)
|
else if (_spriteRenderer != null)
|
||||||
{
|
{
|
||||||
_spriteRenderer.sprite = _sprite;
|
_spriteRenderer.sprite = _sprite;
|
||||||
|
_spriteCallback?.Invoke(_spriteRenderer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -90,7 +94,7 @@ namespace TEngine
|
|||||||
_setNativeSize = false;
|
_setNativeSize = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static SetSpriteObject Create(Image image, string location, bool setNativeSize = false, CancellationToken cancellationToken = default)
|
public static SetSpriteObject Create(Image image, string location, bool setNativeSize = false, Action<Image> callback = null, CancellationToken cancellationToken = default)
|
||||||
{
|
{
|
||||||
SetSpriteObject item = MemoryPool.Acquire<SetSpriteObject>();
|
SetSpriteObject item = MemoryPool.Acquire<SetSpriteObject>();
|
||||||
item._image = image;
|
item._image = image;
|
||||||
@@ -98,16 +102,18 @@ namespace TEngine
|
|||||||
item.Location = location;
|
item.Location = location;
|
||||||
item._cancellationToken = cancellationToken;
|
item._cancellationToken = cancellationToken;
|
||||||
item._setType = SetType.Image;
|
item._setType = SetType.Image;
|
||||||
|
item._imageCallback = callback;
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static SetSpriteObject Create(SpriteRenderer spriteRenderer, string location, CancellationToken cancellationToken = default)
|
public static SetSpriteObject Create(SpriteRenderer spriteRenderer, string location, Action<SpriteRenderer> callback = null, CancellationToken cancellationToken = default)
|
||||||
{
|
{
|
||||||
SetSpriteObject item = MemoryPool.Acquire<SetSpriteObject>();
|
SetSpriteObject item = MemoryPool.Acquire<SetSpriteObject>();
|
||||||
item._spriteRenderer = spriteRenderer;
|
item._spriteRenderer = spriteRenderer;
|
||||||
item.Location = location;
|
item.Location = location;
|
||||||
item._cancellationToken = cancellationToken;
|
item._cancellationToken = cancellationToken;
|
||||||
item._setType = SetType.SpriteRender;
|
item._setType = SetType.SpriteRender;
|
||||||
|
item._spriteCallback = callback;
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user