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