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