using TMPro; using UnityEngine; using UnityEngine.UI; using DG.Tweening; using Sirenix.OdinInspector; namespace BlueWater.Uis { public class ItemLootInfoUi : MonoBehaviour { [SerializeField] private Image _itemImage; [SerializeField] private TMP_Text _itemNameText; [SerializeField] private TMP_Text _totalItemCountText; [SerializeField] private float _moveDuration = 0.5f; [SerializeField] private float _showDuration = 2f; private RectTransform _rectTransform; private void Awake() { _rectTransform = GetComponent(); } [Button("컴포넌트 초기화")] private void InitializeComponents() { _itemImage = transform.Find("Image").GetComponent(); _itemNameText = transform.Find("NameText").GetComponent(); _totalItemCountText = transform.Find("TotalCountText").GetComponent(); } public void Initialize() { _rectTransform.DOAnchorPosX(-400f, 0f).OnComplete(() => { gameObject.SetActive(false); }); } public void SetInfo(Sprite sprite, string itemNameText, string totalItemCountText) { _itemImage.sprite = sprite; _itemNameText.text = itemNameText; _totalItemCountText.text = totalItemCountText; } public void ShowUi() { transform.SetAsLastSibling(); gameObject.SetActive(true); _rectTransform.DOAnchorPosX(0f, _moveDuration).OnComplete(() => { Invoke(nameof(HideUi), _showDuration); }); } public void HideUi() { _rectTransform.DOAnchorPosX(-400f, _moveDuration); } } }