BITKit/Packages/Runtime/UX/Core/UXImage.cs

33 lines
1.1 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UIElements;
using UnityEngine.Events;
using Sirenix.OdinInspector;
using Cysharp.Threading.Tasks;
namespace BITKit.UX
{
public class UXImage : UXElement<VisualElement>
{
private VisualElement icon;
public override void OnStart()
{
base.OnStart();
icon = GetVisualElement().Q(UXConstant.Icon);
}
public async void Set(Sprite sprite)
{
await UniTask.SwitchToMainThread();
var _icon = this.icon ?? visualElement;
_icon.style.backgroundImage =sprite? new StyleBackground(sprite):null;
}
public async void Set(Texture2D texture)
{
await UniTask.SwitchToMainThread();
var _icon = this.icon ?? visualElement;
_icon.style.backgroundImage =texture? new StyleBackground(texture):null;
}
public void SetSprite(Sprite sprite) => Set(sprite);
public void SetTexture(Texture2D texture2D) => Set(texture2D);
}
}