CapersProject/Assets/02.Scripts/Ui/ItemLootInfoUi.cs
2024-06-04 03:26:03 +09:00

71 lines
1.9 KiB
C#

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<RectTransform>();
}
[Button("컴포넌트 초기화")]
private void InitializeComponents()
{
_itemImage = transform.Find("Image").GetComponent<Image>();
_itemNameText = transform.Find("NameText").GetComponent<TMP_Text>();
_totalItemCountText = transform.Find("TotalCountText").GetComponent<TMP_Text>();
}
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);
}
}
}