using TMPro; using UnityEngine; using UnityEngine.ResourceManagement.AsyncOperations; using UnityEngine.UI; public class AlbumCard : CardBase { public Image i_girl; public TextMeshProUGUI t_price; public GameObject[] gos; // 0 열기 버튼, 1 잠금 버튼 albumtabledata m_Data; AsyncOperationHandle m_Handle; public override void Set(T _base, int iLoop = -1, int idata = -1) { base.Set(_base, iLoop, idata); m_Data = _base as albumtabledata; Set_UI(); i_girl.enabled = false; AddrResourceMgr.Ins.Relese(m_Handle); AddrResourceMgr.Ins.LoadObject(m_Data.s_Image, handle => { m_Handle = handle; i_girl.enabled = true; i_girl.sprite = handle.Result; }); } public override void Set_UI() { gos[0].SetActive(m_Data.n_Index == SaveMgr.Ins.Get_UnLockIndex() + 1 && m_Data.n_Price > 0); t_price.text = m_Data.n_Price.ToString(); //if (i_girl.enabled) i_girl.material = IsObtain() ? null : mat_blur; gos[1].SetActive(!IsObtain()); } public bool IsObtain() { return m_Data.n_Index <= SaveMgr.Ins.Get_UnLockIndex(); } public void OnClick_Buy() { 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_LobbyCenterProfileUI.Set(false); LobbyUI.Ins.m_AlbumUI.Set_UI(); LobbyUI.Ins.m_ToastUI.Set("열린 앨범을 감상해 보세요."); } else LobbyUI.Ins.m_ToastUI.Set("재화가 부족합니다."); } public void OnClick_Show() { if (IsObtain()) ShowAlbum.Ins.Show(m_Data, false); else SoundInfo.Ins.Play_OneShot(eSound.s003_SelectAlbum); } }