nightward/Assets/Scripts/UI/AlbumCard.cs

78 lines
2.4 KiB
C#
Raw Normal View History

2025-11-25 19:58:58 +00:00
using TMPro;
2025-12-16 03:35:43 +00:00
using TreeEditor;
2025-11-25 19:58:58 +00:00
using UnityEngine;
using UnityEngine.UI;
public class AlbumCard : CardBase
{
public Image i_girl;
public TextMeshProUGUI t_price;
2025-12-16 03:57:53 +00:00
public GameObject[] gos; // 0 열기 버튼, 1 잠금 버튼, 2 스페셜 앨범 즉시개방 버튼
2025-11-25 19:58:58 +00:00
albumtabledata m_Data;
public override void Set<T>(T _base, int iLoop = -1, int idata = -1)
{
base.Set(_base, iLoop, idata);
m_Data = _base as albumtabledata;
Set_UI();
2025-12-15 07:14:11 +00:00
Load_Image(i_girl, m_Data.s_Image);
2025-11-25 19:58:58 +00:00
}
public override void Set_UI()
{
2025-12-16 03:03:15 +00:00
if (m_Data.e_CollectionMethod == eCollectionMethod.Normal)
{
2025-12-16 03:35:43 +00:00
var preDatas = table_album.Ins.Get_PreDatas(m_Data);
var existnotopen = false;
for (int i = 0; i < preDatas.Count; i++)
{
if (!SaveMgr.Ins.IsOpenAlbum(preDatas[i]))
{
existnotopen = true;
break;
}
}
gos[0].SetActive(SaveMgr.Ins.IsObtainGirl(m_Data.n_GirlID) && !SaveMgr.Ins.IsOpenAlbum(m_Data) && !existnotopen);
2025-12-16 03:57:53 +00:00
gos[2].SetActive(false);
2025-12-16 03:03:15 +00:00
}
else
{
2025-12-16 03:57:53 +00:00
gos[0].SetActive(false);
gos[2].SetActive(SaveMgr.Ins.IsObtainGirl(m_Data.n_GirlID) && !SaveMgr.Ins.IsOpenAlbum(m_Data));
2025-12-16 03:03:15 +00:00
}
2025-11-25 19:58:58 +00:00
t_price.text = m_Data.n_Price.ToString();
gos[1].SetActive(!IsObtain());
}
public bool IsObtain() { return SaveMgr.Ins.IsOpenAlbum(m_Data); }
2025-11-25 19:58:58 +00:00
public void OnClick_Buy()
{
2025-12-16 03:57:53 +00:00
if (m_Data.e_CollectionMethod == eCollectionMethod.Normal)
2025-11-25 19:58:58 +00:00
{
2025-12-16 03:57:53 +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_Album(m_Data);
SaveMgr.Ins.Save();
2025-11-25 19:58:58 +00:00
2025-12-16 03:57:53 +00:00
LobbyUI.Ins.m_LobbyCenterProfileUI.Set(false);
LobbyUI.Ins.m_AlbumUI.Set_UI();
LobbyUI.Ins.m_ToastUI.Set("열린 앨범을 감상해 보세요.");
}
else
LobbyUI.Ins.m_ToastUI.Set("재화가 부족합니다.");
2025-11-25 19:58:58 +00:00
}
else
2025-12-16 03:57:53 +00:00
{
LobbyUI.Ins.m_AlbumUI.m_SpecialAlbumOpen.Set(m_Data);
}
2025-11-25 19:58:58 +00:00
}
public void OnClick_Show()
{
if (IsObtain()) ShowAlbum.Ins.Show(m_Data, false);
else SoundInfo.Ins.Play_OneShot(eSound.s003_SelectAlbum);
}
}