앨범 구매

This commit is contained in:
Ino 2025-09-19 13:31:12 +09:00
parent e783e3fd62
commit f42db26bc2
14 changed files with 337 additions and 24 deletions

File diff suppressed because one or more lines are too long

View File

@ -4,46 +4,46 @@
: 00kg
: 00in
: 00in
: 00in"}, {"n_GirlID": "2", "s_Name": " ", "s_Profile": ": 00
: 00in", "s_ProfileImage": "Girl/1/Coin/01.png"}, {"n_GirlID": "2", "s_Name": " ", "s_Profile": ": 00
: 000cm
: 00kg
: 00in
: 00in
: 00in"}, {"n_GirlID": "3", "s_Name": "", "s_Profile": ": 00
: 00in", "s_ProfileImage": "Girl/2/Coin/01.png"}, {"n_GirlID": "3", "s_Name": "", "s_Profile": ": 00
: 000cm
: 00kg
: 00in
: 00in
: 00in"}, {"n_GirlID": "4", "s_Name": "", "s_Profile": ": 00
: 00in", "s_ProfileImage": "Girl/3/Coin/01.png"}, {"n_GirlID": "4", "s_Name": "", "s_Profile": ": 00
: 000cm
: 00kg
: 00in
: 00in
: 00in"}, {"n_GirlID": "5", "s_Name": " ", "s_Profile": ": 00
: 00in", "s_ProfileImage": "Girl/4/Coin/01.png"}, {"n_GirlID": "5", "s_Name": " ", "s_Profile": ": 00
: 000cm
: 00kg
: 00in
: 00in
: 00in"}, {"n_GirlID": "6", "s_Name": " ", "s_Profile": ": 00
: 00in", "s_ProfileImage": "Girl/5/Coin/01.png"}, {"n_GirlID": "6", "s_Name": " ", "s_Profile": ": 00
: 000cm
: 00kg
: 00in
: 00in
: 00in"}, {"n_GirlID": "7", "s_Name": "", "s_Profile": ": 00
: 00in", "s_ProfileImage": "Girl/6/Coin/01.png"}, {"n_GirlID": "7", "s_Name": "", "s_Profile": ": 00
: 000cm
: 00kg
: 00in
: 00in
: 00in"}, {"n_GirlID": "8", "s_Name": " ", "s_Profile": ": 00
: 00in", "s_ProfileImage": "Girl/7/Coin/01.png"}, {"n_GirlID": "8", "s_Name": " ", "s_Profile": ": 00
: 000cm
: 00kg
: 00in
: 00in
: 00in"}]
: 00in", "s_ProfileImage": "Girl/8/Coin/01.png"}]

Binary file not shown.

View File

@ -6,9 +6,7 @@ public class albumtabledata : ShowAlbumBase
{
public int n_Index;
ProtectedInt32 _GirlID; public int n_GirlID { get { return _GirlID; } set { _GirlID = value; _GirlID.Obfuscate(); } }
ProtectedInt32 _Coin; public int n_Coin { get { return _Coin; } set { _Coin = value; _Coin.Obfuscate(); } }
ProtectedInt32 _Gem; public int n_Gem { get { return _Gem; } set { _Gem = value; _Gem.Obfuscate(); } }
ProtectedInt32 _Heart; public int n_Heart { get { return _Heart; } set { _Heart = value; _Heart.Obfuscate(); } }
ProtectedInt32 _Price; public int n_Price { get { return _Price; } set { _Price = value; _Price.Obfuscate(); } }
}
public class table_album : table_base

View File

@ -4,7 +4,7 @@ using System.Collections.Generic;
public class girltabledata
{
public int n_GirlID;
public string s_Name, s_Profile;
public string s_Name, s_Profile, s_ProfileImage;
}

View File

@ -352,7 +352,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
i_girl: {fileID: 4409227361096382540}
t_price: {fileID: 0}
t_price: {fileID: 3612782733089240175}
mat_blur: {fileID: 2100000, guid: edc74ead8b0531c4f8bbb7f145978360, type: 2}
gos:
- {fileID: 8113042082887579480}
@ -417,7 +417,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_Color: {r: 1, g: 1, b: 1, a: 0}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1

View File

@ -9930,6 +9930,7 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 2030797965}
- {fileID: 882171496}
m_Father: {fileID: 476355706}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 180}
m_AnchorMin: {x: 0, y: 1}
@ -12324,6 +12325,7 @@ MonoBehaviour:
texts:
- {fileID: 1512606839}
- {fileID: 295860788}
- {fileID: 1983087532}
--- !u!1 &482081050
GameObject:
m_ObjectHideFlags: 0
@ -20456,6 +20458,83 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 872571913}
m_CullTransparentMesh: 1
--- !u!1 &882171495
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 882171496}
- component: {fileID: 882171498}
- component: {fileID: 882171497}
m_Layer: 5
m_Name: btn_heart
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &882171496
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 882171495}
m_LocalRotation: {x: 0, y: 0, z: 1, w: 0}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1983087534}
- {fileID: 1222849083}
m_Father: {fileID: 371721585}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 180}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 195, y: 0.0000019073486}
m_SizeDelta: {x: 315, y: 80}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &882171497
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 882171495}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: b839469401ee8ae43b315c709f1c2c1e, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &882171498
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 882171495}
m_CullTransparentMesh: 1
--- !u!1 &883208434
GameObject:
m_ObjectHideFlags: 0
@ -29129,6 +29208,81 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1221429258}
m_CullTransparentMesh: 1
--- !u!1 &1222849082
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1222849083}
- component: {fileID: 1222849085}
- component: {fileID: 1222849084}
m_Layer: 5
m_Name: New Image
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1222849083
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1222849082}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 882171496}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 50, y: 0}
m_SizeDelta: {x: 65, y: 65}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1222849084
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1222849082}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: af3bdea9ab9e8d4449e22d0d23d27f92, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &1222849085
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1222849082}
m_CullTransparentMesh: 1
--- !u!1 &1226172727
GameObject:
m_ObjectHideFlags: 0
@ -46855,6 +47009,142 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 418.31}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &1983087531
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1983087534}
- component: {fileID: 1983087533}
- component: {fileID: 1983087532}
m_Layer: 5
m_Name: t_amount_heart
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1983087532
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1983087531}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: 0000
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 3055b5c28f94e6c4ea6b9a379bb315a5, type: 2}
m_sharedMaterial: {fileID: -3574565475228871172, guid: 3055b5c28f94e6c4ea6b9a379bb315a5, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4293256191
m_fontColor: {r: 1, g: 0.8901961, b: 0.8980392, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 40
m_fontSizeBase: 40
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 20
m_fontSizeMax: 80
m_fontStyle: 0
m_HorizontalAlignment: 4
m_VerticalAlignment: 4096
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_TextWrappingMode: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 0
m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_EmojiFallbackSupport: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!222 &1983087533
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1983087531}
m_CullTransparentMesh: 1
--- !u!224 &1983087534
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1983087531}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 882171496}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -19, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &1985894236
GameObject:
m_ObjectHideFlags: 0

View File

@ -188,6 +188,7 @@ public class SaveMgr : MonoBehaviourSingletonTemplate<SaveMgr>
Save();
}
public void Open_Image() { ++m_SaveData.GirlUnLockIndex; }
public int Get_UnLockIndex() { return m_SaveData.GirlUnLockIndex; }
public int Get_SelectGirlID() { return m_SaveData.SelectGirlID; }

View File

@ -19,6 +19,7 @@ public class AlbumCard : CardBase
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();
i_girl.enabled = false;
AddrResourceMgr.Ins.Relese(m_Handle);
@ -35,7 +36,16 @@ public class AlbumCard : CardBase
public void OnClick_Buy()
{
LobbyUI.Ins.m_ToastUI.Set("구매 방식 필요");
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_AlbumUI.Set();
}
else
LobbyUI.Ins.m_ToastUI.Set("재화가 부족합니다.");
}
public void OnClick_Show()

View File

@ -2,18 +2,13 @@ using TMPro;
public class AlbumUI : uScrollViewMgr
{
public TextMeshProUGUI[] texts; // 0 이름, 1 카운팅
public TextMeshProUGUI[] texts; // 0 이름, 1 카운팅, 2 보유 하트
int curGirl = 1;
public void Set()
{
gameObject.SetActive(true);
Set_UI();
}
void Set_UI()
{
var lst = table_album.Ins.Get_DataList(curGirl);
Set_ScrollView(lst);
texts[0].text = table_girl.Ins.Get_Data(curGirl).s_Name;
@ -25,6 +20,8 @@ public class AlbumUI : uScrollViewMgr
++count;
}
texts[1].text = $"{count}/{lst.Count}";
texts[2].text = SaveMgr.Ins.Get_Money(eMoney.AlbumOpen).ToString();
}
public void OnClick_Arrow(int add)
@ -32,6 +29,6 @@ public class AlbumUI : uScrollViewMgr
curGirl += add;
if (curGirl > 8) curGirl = 1;
else if (curGirl < 1) curGirl = 8;
Set_UI();
Set();
}
}

View File

@ -0,0 +1,12 @@
using UnityEngine;
public class LobbyCenterProfileUI : uScrollViewMgr
{
// 카드는 3개만 있으면 됨
// 움직이는 연출 후 UI 갱신하면 될 듯
public void Set()
{
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 47a841eb82f38f245b3986ab80185b77

View File

@ -13,7 +13,7 @@ public class LobbyUI : MonoBehaviourSingletonTemplate<LobbyUI>
public ToastUI m_ToastUI;
[Header("Center UI")]
[SerializeField] AlbumUI m_AlbumUI;
public AlbumUI m_AlbumUI;
[SerializeField] GachaUI m_GachaUI;
[Header("Bot UI")]

View File

@ -1,5 +1,8 @@
사운드 및 BGM 요청
럭키 포인트는 따로 로그 안뜨고 그냥 게이지만 올라가도록 수정 부탁드리겠습니다.
어차피 무조건 럭키 포인트는 쌓이기 때문에 로그 안보이고 게이지쪽에 증가 연출이 들어가는게 좋을거 같아요
훔쳐보기
프로필 카드
광고 제거권