using TMPro; using UnityEngine; using UnityEngine.ResourceManagement.AsyncOperations; using UnityEngine.UI; public class ProfileCard : MonoBehaviour { public Image i_girl, i_openbtn; public TextMeshProUGUI[] texts; // 0 이름, 1 카운트 public GameObject go_openbtn, go_viewbtn, go_albumbtn, go_chatbtn; public RectTransform rect; public Material mat_Gray; girltabledata m_Data; AsyncOperationHandle m_Handle; private void Awake() { rect = GetComponent(); } public void Set(int girlid) { if (girlid < 1) girlid = 8; else if (girlid > 8) girlid = 1; m_Data = table_girl.Ins.Get_Data(girlid); i_girl.enabled = false; AddrResourceMgr.Ins.Relese(m_Handle); AddrResourceMgr.Ins.LoadObject(m_Data.s_ProfileImage, handle => { m_Handle = handle; i_girl.enabled = true; i_girl.sprite = handle.Result; }); Set_UI(); } void Set_UI() { var count = SaveMgr.Ins.Get_ImageCount(m_Data.n_GirlID); var maxcount = table_album.Ins.Get_DataList(m_Data.n_GirlID).Count; texts[0].text = m_Data.s_Name; texts[1].text = $"{count}/{maxcount}"; i_girl.material = count == 0 ? mat_Gray : null; go_openbtn.SetActive(count == 0); i_openbtn.sprite = UIAtlasMgr.Ins.Get_Sprite(CanOpen() ? "red btn long" : "black btn"); go_viewbtn.SetActive(count == 0); go_albumbtn.SetActive(count > 0); go_chatbtn.SetActive(count > 0); //go_chatbtn.SetActive(false); // 게등위 테스트 } bool CanOpen() { var pregirl = m_Data.n_GirlID - 1; if (pregirl > 0) { var lst = table_album.Ins.Get_DataList(pregirl); return (lst.Count == SaveMgr.Ins.Get_ImageCount(pregirl) && SaveMgr.Ins.Get_ImageCount(m_Data.n_GirlID) == 0); } return false; } public void OnClick_Profile() { LobbyUI.Ins.Show_Profile(m_Data.n_GirlID); } public void OnClick_Chat() { LobbyUI.Ins.m_ChatUI.Set(m_Data); } public void OnClick_Preview() { // 훔쳐보기 if (SaveMgr.Ins.CanShowPreviewAD()) ADInfo.Ins.Show_AD(false, () => { var lst = table_album.Ins.Get_DataList(m_Data.n_GirlID).FindAll(f=>!f.s_Image.Contains("Heart")); var rdnData = lst[Random.Range(0, lst.Count)]; ShowAlbum.Ins.Show(rdnData, true); SaveMgr.Ins.Add_PreviewADTime(table_GlobalValue.Ins.Get_Int("PreviewADTime")); }); } public void OnClick_Open() { var pregirl = m_Data.n_GirlID - 1; if (pregirl > 0) { if (CanOpen()) { // 열 수 있음 SaveMgr.Ins.Open_Image(); // 최초 한 장 공짜 지급 SaveMgr.Ins.Save(); Set_UI(); } else { var pregirldata = table_girl.Ins.Get_Data(pregirl); LobbyUI.Ins.m_ToastUI.Set($"{pregirldata.s_Name}의 앨범을 모두 오픈해 주세요."); } } } public void OnClick_ChangeGirl() { } public void OnClick_Album() { LobbyUI.Ins.Go_Album(m_Data.n_GirlID); } }