nightward/Assets/Scripts/UI/AlbumCard.cs

63 lines
1.8 KiB
C#

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>(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<Sprite>(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(!SaveMgr.Ins.IsOpenAlbum(m_Data));
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 SaveMgr.Ins.IsOpenAlbum(m_Data); }
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_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("재화가 부족합니다.");
}
public void OnClick_Show()
{
if (IsObtain()) ShowAlbum.Ins.Show(m_Data, false);
else SoundInfo.Ins.Play_OneShot(eSound.s003_SelectAlbum);
}
}