Shegotwet/Assets/Scripts/UI/AlbumCard.cs

56 lines
1.6 KiB
C#
Raw Normal View History

using TMPro;
using UnityEngine;
2025-09-11 20:21:50 +00:00
using UnityEngine.ResourceManagement.AsyncOperations;
using UnityEngine.UI;
public class AlbumCard : CardBase
{
public Image i_girl;
public TextMeshProUGUI t_price;
2025-09-11 20:34:40 +00:00
public Material mat_blur;
2025-09-11 20:38:25 +00:00
public GameObject[] gos; // 0 열기 버튼
albumtabledata m_Data;
2025-09-11 20:21:50 +00:00
AsyncOperationHandle m_Handle;
public override void Set<T>(T _base, int iLoop = -1, int idata = -1)
{
base.Set(_base, iLoop, idata);
m_Data = _base as albumtabledata;
2025-09-11 20:38:25 +00:00
gos[0].SetActive(m_Data.n_Index == SaveMgr.Ins.Get_UnLockIndex() + 1);
2025-09-19 04:31:12 +00:00
t_price.text = m_Data.n_Price.ToString();
2025-09-11 20:38:25 +00:00
i_girl.enabled = false;
2025-09-19 03:21:14 +00:00
AddrResourceMgr.Ins.Relese(m_Handle);
2025-09-11 20:21:50 +00:00
AddrResourceMgr.Ins.LoadObject<Sprite>(m_Data.s_Image, handle =>
{
2025-09-11 20:21:50 +00:00
m_Handle = handle;
i_girl.enabled = true;
2025-09-11 20:21:50 +00:00
i_girl.sprite = handle.Result;
2025-09-19 03:21:14 +00:00
i_girl.material = IsObtain() ? null : mat_blur;
});
}
2025-09-19 03:21:14 +00:00
public bool IsObtain() { return m_Data.n_Index <= SaveMgr.Ins.Get_UnLockIndex(); }
public void OnClick_Buy()
{
2025-09-19 04:31:12 +00:00
if (SaveMgr.Ins.Check_Money(eMoney.AlbumOpen, m_Data.n_Price))
{
SaveMgr.Ins.Add_Money(eMoney.AlbumOpen, -m_Data.n_Price);
SaveMgr.Ins.Open_Image();
SaveMgr.Ins.Save();
LobbyUI.Ins.m_AlbumUI.Set();
2025-09-19 04:32:37 +00:00
LobbyUI.Ins.m_ToastUI.Set("열린 앨범을 감상해 보세요.");
2025-09-19 04:31:12 +00:00
}
else
LobbyUI.Ins.m_ToastUI.Set("재화가 부족합니다.");
}
2025-09-12 03:38:36 +00:00
public void OnClick_Show()
{
2025-09-19 04:07:31 +00:00
if (IsObtain()) ShowAlbum.Ins.Show(m_Data);
2025-09-12 03:38:36 +00:00
}
}