From af1f70d954c31ecbd4526a7dd1f30de1e1079995 Mon Sep 17 00:00:00 2001 From: Ino Date: Sat, 20 Sep 2025 08:13:04 +0900 Subject: [PATCH] =?UTF-8?q?"=EC=95=84=EC=A7=81=20=EB=AF=B8=EA=B0=9C?= =?UTF-8?q?=EB=B4=89=20=EB=90=9C=20=EC=BA=90=EB=A6=AD=ED=84=B0=EB=8A=94=20?= =?UTF-8?q?=EB=94=A4=EB=93=9C=20=EC=B2=98=EB=A6=AC=ED=95=98=EA=B3=A0,=20?= =?UTF-8?q?=EC=97=BF=EB=B3=B4=EA=B8=B0=20=EA=B8=B0=EB=8A=A5=EC=9D=B4=20?= =?UTF-8?q?=EC=A0=9C=EA=B3=B5=EB=90=98=EC=A7=80=20=EC=95=8A=EC=95=84?= =?UTF-8?q?=EC=95=BC=20=ED=95=A9=EB=8B=88=EB=8B=A4.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 캐릭터 열기 버튼도 딤드처리하고, 혹시 유저가 누를 경우 지금처럼 ""이전 캐릭터를 먼저 개방해야 합니다."" 라는 토스트 메시지를 출력하면 됩니다. (현상 유지)" --- .../UI_Image/Common/black btn.png.meta | 6 ++--- Assets/ResWork/UI_Prefab/ProfileCard.prefab | 9 ++++++-- Assets/Scripts/UI/AlbumCard.cs | 12 +++++++--- Assets/Scripts/UI/AlbumUI.cs | 13 +++++++---- Assets/Scripts/UI/ProfileCard.cs | 22 ++++++++++++++----- 5 files changed, 45 insertions(+), 17 deletions(-) diff --git a/Assets/ResWork/UI_Image/Common/black btn.png.meta b/Assets/ResWork/UI_Image/Common/black btn.png.meta index 7c8b8c5..a8063a1 100644 --- a/Assets/ResWork/UI_Image/Common/black btn.png.meta +++ b/Assets/ResWork/UI_Image/Common/black btn.png.meta @@ -52,7 +52,7 @@ TextureImporter: alignment: 0 spritePivot: {x: 0.5, y: 0.5} spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteBorder: {x: 274, y: 72, z: 109, w: 69} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 alphaIsTransparency: 1 @@ -134,7 +134,7 @@ TextureImporter: width: 393 height: 158 alignment: 0 - pivot: {x: 0, y: 0} + pivot: {x: 0.5, y: 0.5} border: {x: 0, y: 0, z: 0, w: 0} customData: outline: [] @@ -152,7 +152,7 @@ TextureImporter: physicsShape: [] bones: [] spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 + internalID: 1537655665 vertices: [] indices: edges: [] diff --git a/Assets/ResWork/UI_Prefab/ProfileCard.prefab b/Assets/ResWork/UI_Prefab/ProfileCard.prefab index 5f504eb..aa5bbc6 100644 --- a/Assets/ResWork/UI_Prefab/ProfileCard.prefab +++ b/Assets/ResWork/UI_Prefab/ProfileCard.prefab @@ -1127,6 +1127,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 4848326f7db925d4fbcdb35f789b75f5, type: 3} m_Name: m_EditorClassIdentifier: + m_Sound: 0 --- !u!1 &5762353980434385379 GameObject: m_ObjectHideFlags: 0 @@ -1195,8 +1196,8 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 21300000, guid: c31c31fed2044ef48a8cfe96267eeb0e, type: 3} - m_Type: 0 + m_Sprite: {fileID: 21300000, guid: e177b954bb5aa1b4dbb1f46b9598ee42, type: 3} + m_Type: 1 m_PreserveAspect: 0 m_FillCenter: 1 m_FillMethod: 4 @@ -1273,6 +1274,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 4848326f7db925d4fbcdb35f789b75f5, type: 3} m_Name: m_EditorClassIdentifier: + m_Sound: 0 --- !u!1 &6488644166046883144 GameObject: m_ObjectHideFlags: 0 @@ -1420,6 +1422,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 4848326f7db925d4fbcdb35f789b75f5, type: 3} m_Name: m_EditorClassIdentifier: + m_Sound: 0 --- !u!1 &7109581956182980228 GameObject: m_ObjectHideFlags: 0 @@ -1567,6 +1570,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 4848326f7db925d4fbcdb35f789b75f5, type: 3} m_Name: m_EditorClassIdentifier: + m_Sound: 0 --- !u!1 &7329642902270004680 GameObject: m_ObjectHideFlags: 0 @@ -1760,6 +1764,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: i_girl: {fileID: 182698008305147382} + i_openbtn: {fileID: 7026692001064255940} texts: - {fileID: 5855298802571274231} - {fileID: 1655211012379948500} diff --git a/Assets/Scripts/UI/AlbumCard.cs b/Assets/Scripts/UI/AlbumCard.cs index ee7308e..abf2bef 100644 --- a/Assets/Scripts/UI/AlbumCard.cs +++ b/Assets/Scripts/UI/AlbumCard.cs @@ -18,8 +18,7 @@ public class AlbumCard : CardBase base.Set(_base, iLoop, idata); m_Data = _base as albumtabledata; - gos[0].SetActive(m_Data.n_Index == SaveMgr.Ins.Get_UnLockIndex() + 1); - t_price.text = m_Data.n_Price.ToString(); + Set_UI(); i_girl.enabled = false; AddrResourceMgr.Ins.Relese(m_Handle); @@ -32,6 +31,13 @@ public class AlbumCard : CardBase }); } + public override void Set_UI() + { + gos[0].SetActive(m_Data.n_Index == SaveMgr.Ins.Get_UnLockIndex() + 1); + t_price.text = m_Data.n_Price.ToString(); + if (i_girl.enabled) i_girl.material = IsObtain() ? null : mat_blur; + } + public bool IsObtain() { return m_Data.n_Index <= SaveMgr.Ins.Get_UnLockIndex(); } public void OnClick_Buy() @@ -42,7 +48,7 @@ public class AlbumCard : CardBase SaveMgr.Ins.Open_Image(); SaveMgr.Ins.Save(); - LobbyUI.Ins.m_AlbumUI.Set(); + LobbyUI.Ins.m_AlbumUI.Set_UI(); LobbyUI.Ins.m_ToastUI.Set("열린 앨범을 감상해 보세요."); } else diff --git a/Assets/Scripts/UI/AlbumUI.cs b/Assets/Scripts/UI/AlbumUI.cs index bfbe76a..d76236c 100644 --- a/Assets/Scripts/UI/AlbumUI.cs +++ b/Assets/Scripts/UI/AlbumUI.cs @@ -11,19 +11,24 @@ public class AlbumUI : uScrollViewMgr gameObject.SetActive(true); SoundInfo.Ins.Play_BGM(eBGM.b006_Album); - var lst = table_album.Ins.Get_DataList(curGirl); - Set_ScrollView(lst); + Set_ScrollView(table_album.Ins.Get_DataList(curGirl)); texts[0].text = table_girl.Ins.Get_Data(curGirl).s_Name; + Set_UI(); + } + + public void Set_UI() + { var count = 0; for (int i = 0; i < list_CardBase.Count; i++) { if ((list_CardBase[i] as AlbumCard).IsObtain()) ++count; } - texts[1].text = $"{count}/{lst.Count}"; - + texts[1].text = $"{count}/{table_album.Ins.Get_DataList(curGirl).Count}"; texts[2].text = SaveMgr.Ins.Get_Money(eMoney.AlbumOpen).ToString(); + + list_CardBase.ForEach(f => f.Set_UI()); } public void OnClick_Arrow(int add) diff --git a/Assets/Scripts/UI/ProfileCard.cs b/Assets/Scripts/UI/ProfileCard.cs index 38ab5c5..578f98c 100644 --- a/Assets/Scripts/UI/ProfileCard.cs +++ b/Assets/Scripts/UI/ProfileCard.cs @@ -5,7 +5,7 @@ using UnityEngine.UI; public class ProfileCard : MonoBehaviour { - public Image i_girl; + public Image i_girl, i_openbtn; public TextMeshProUGUI[] texts; // 0 이름, 1 카운트 public GameObject go_lock, go_openbtn, go_viewbtn; @@ -31,11 +31,24 @@ public class ProfileCard : MonoBehaviour 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}/{table_album.Ins.Get_DataList(m_Data.n_GirlID).Count}"; + texts[1].text = $"{count}/{maxcount}"; go_lock.SetActive(count == 0); go_openbtn.SetActive(count == 0); - go_viewbtn.SetActive(count == 0); + i_openbtn.sprite = UIAtlasMgr.Ins.Get_Sprite(CanOpen() ? "red btn long" : "black btn"); + go_viewbtn.SetActive(count > 0 && count < maxcount); + } + + 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() @@ -63,8 +76,7 @@ public class ProfileCard : MonoBehaviour var pregirl = m_Data.n_GirlID - 1; if (pregirl > 0) { - var lst = table_album.Ins.Get_DataList(pregirl); - if (lst.Count == SaveMgr.Ins.Get_ImageCount(pregirl)) + if (CanOpen()) { // 열 수 있음 SaveMgr.Ins.Open_Image(); // 최초 한 장 공짜 지급 SaveMgr.Ins.Save();