"아직 미개봉 된 캐릭터는 딤드 처리하고, 엿보기 기능이 제공되지 않아야 합니다.

캐릭터 열기 버튼도 딤드처리하고, 혹시 유저가 누를 경우 지금처럼 ""이전 캐릭터를 먼저 개방해야 합니다."" 라는 토스트 메시지를 출력하면 됩니다. (현상 유지)"
This commit is contained in:
Ino 2025-09-20 08:13:04 +09:00
parent d5d713c791
commit af1f70d954
5 changed files with 45 additions and 17 deletions

View File

@ -52,7 +52,7 @@ TextureImporter:
alignment: 0 alignment: 0
spritePivot: {x: 0.5, y: 0.5} spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100 spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteBorder: {x: 274, y: 72, z: 109, w: 69}
spriteGenerateFallbackPhysicsShape: 1 spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1 alphaUsage: 1
alphaIsTransparency: 1 alphaIsTransparency: 1
@ -134,7 +134,7 @@ TextureImporter:
width: 393 width: 393
height: 158 height: 158
alignment: 0 alignment: 0
pivot: {x: 0, y: 0} pivot: {x: 0.5, y: 0.5}
border: {x: 0, y: 0, z: 0, w: 0} border: {x: 0, y: 0, z: 0, w: 0}
customData: customData:
outline: [] outline: []
@ -152,7 +152,7 @@ TextureImporter:
physicsShape: [] physicsShape: []
bones: [] bones: []
spriteID: 5e97eb03825dee720800000000000000 spriteID: 5e97eb03825dee720800000000000000
internalID: 0 internalID: 1537655665
vertices: [] vertices: []
indices: indices:
edges: [] edges: []

View File

@ -1127,6 +1127,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 4848326f7db925d4fbcdb35f789b75f5, type: 3} m_Script: {fileID: 11500000, guid: 4848326f7db925d4fbcdb35f789b75f5, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Sound: 0
--- !u!1 &5762353980434385379 --- !u!1 &5762353980434385379
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -1195,8 +1196,8 @@ MonoBehaviour:
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_Sprite: {fileID: 21300000, guid: c31c31fed2044ef48a8cfe96267eeb0e, type: 3} m_Sprite: {fileID: 21300000, guid: e177b954bb5aa1b4dbb1f46b9598ee42, type: 3}
m_Type: 0 m_Type: 1
m_PreserveAspect: 0 m_PreserveAspect: 0
m_FillCenter: 1 m_FillCenter: 1
m_FillMethod: 4 m_FillMethod: 4
@ -1273,6 +1274,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 4848326f7db925d4fbcdb35f789b75f5, type: 3} m_Script: {fileID: 11500000, guid: 4848326f7db925d4fbcdb35f789b75f5, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Sound: 0
--- !u!1 &6488644166046883144 --- !u!1 &6488644166046883144
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -1420,6 +1422,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 4848326f7db925d4fbcdb35f789b75f5, type: 3} m_Script: {fileID: 11500000, guid: 4848326f7db925d4fbcdb35f789b75f5, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Sound: 0
--- !u!1 &7109581956182980228 --- !u!1 &7109581956182980228
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -1567,6 +1570,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 4848326f7db925d4fbcdb35f789b75f5, type: 3} m_Script: {fileID: 11500000, guid: 4848326f7db925d4fbcdb35f789b75f5, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_Sound: 0
--- !u!1 &7329642902270004680 --- !u!1 &7329642902270004680
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -1760,6 +1764,7 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
i_girl: {fileID: 182698008305147382} i_girl: {fileID: 182698008305147382}
i_openbtn: {fileID: 7026692001064255940}
texts: texts:
- {fileID: 5855298802571274231} - {fileID: 5855298802571274231}
- {fileID: 1655211012379948500} - {fileID: 1655211012379948500}

View File

@ -18,8 +18,7 @@ public class AlbumCard : CardBase
base.Set(_base, iLoop, idata); base.Set(_base, iLoop, idata);
m_Data = _base as albumtabledata; m_Data = _base as albumtabledata;
gos[0].SetActive(m_Data.n_Index == SaveMgr.Ins.Get_UnLockIndex() + 1); Set_UI();
t_price.text = m_Data.n_Price.ToString();
i_girl.enabled = false; i_girl.enabled = false;
AddrResourceMgr.Ins.Relese(m_Handle); 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 bool IsObtain() { return m_Data.n_Index <= SaveMgr.Ins.Get_UnLockIndex(); }
public void OnClick_Buy() public void OnClick_Buy()
@ -42,7 +48,7 @@ public class AlbumCard : CardBase
SaveMgr.Ins.Open_Image(); SaveMgr.Ins.Open_Image();
SaveMgr.Ins.Save(); SaveMgr.Ins.Save();
LobbyUI.Ins.m_AlbumUI.Set(); LobbyUI.Ins.m_AlbumUI.Set_UI();
LobbyUI.Ins.m_ToastUI.Set("열린 앨범을 감상해 보세요."); LobbyUI.Ins.m_ToastUI.Set("열린 앨범을 감상해 보세요.");
} }
else else

View File

@ -11,19 +11,24 @@ public class AlbumUI : uScrollViewMgr
gameObject.SetActive(true); gameObject.SetActive(true);
SoundInfo.Ins.Play_BGM(eBGM.b006_Album); SoundInfo.Ins.Play_BGM(eBGM.b006_Album);
var lst = table_album.Ins.Get_DataList(curGirl); Set_ScrollView(table_album.Ins.Get_DataList(curGirl));
Set_ScrollView(lst);
texts[0].text = table_girl.Ins.Get_Data(curGirl).s_Name; texts[0].text = table_girl.Ins.Get_Data(curGirl).s_Name;
Set_UI();
}
public void Set_UI()
{
var count = 0; var count = 0;
for (int i = 0; i < list_CardBase.Count; i++) for (int i = 0; i < list_CardBase.Count; i++)
{ {
if ((list_CardBase[i] as AlbumCard).IsObtain()) if ((list_CardBase[i] as AlbumCard).IsObtain())
++count; ++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(); texts[2].text = SaveMgr.Ins.Get_Money(eMoney.AlbumOpen).ToString();
list_CardBase.ForEach(f => f.Set_UI());
} }
public void OnClick_Arrow(int add) public void OnClick_Arrow(int add)

View File

@ -5,7 +5,7 @@ using UnityEngine.UI;
public class ProfileCard : MonoBehaviour public class ProfileCard : MonoBehaviour
{ {
public Image i_girl; public Image i_girl, i_openbtn;
public TextMeshProUGUI[] texts; // 0 이름, 1 카운트 public TextMeshProUGUI[] texts; // 0 이름, 1 카운트
public GameObject go_lock, go_openbtn, go_viewbtn; public GameObject go_lock, go_openbtn, go_viewbtn;
@ -31,11 +31,24 @@ public class ProfileCard : MonoBehaviour
void Set_UI() void Set_UI()
{ {
var count = SaveMgr.Ins.Get_ImageCount(m_Data.n_GirlID); 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[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_lock.SetActive(count == 0);
go_openbtn.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() public void OnClick_Profile()
@ -63,8 +76,7 @@ public class ProfileCard : MonoBehaviour
var pregirl = m_Data.n_GirlID - 1; var pregirl = m_Data.n_GirlID - 1;
if (pregirl > 0) if (pregirl > 0)
{ {
var lst = table_album.Ins.Get_DataList(pregirl); if (CanOpen())
if (lst.Count == SaveMgr.Ins.Get_ImageCount(pregirl))
{ // 열 수 있음 { // 열 수 있음
SaveMgr.Ins.Open_Image(); // 최초 한 장 공짜 지급 SaveMgr.Ins.Open_Image(); // 최초 한 장 공짜 지급
SaveMgr.Ins.Save(); SaveMgr.Ins.Save();