상점 패키지 작업 중...

This commit is contained in:
Ino 2025-04-22 15:18:49 +09:00
parent 00f7336572
commit 206eb1dc5a
9 changed files with 431 additions and 13 deletions

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -9,6 +9,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 1200175685615469374}
- component: {fileID: -7217776635536932958}
m_Layer: 5
m_Name: ShopCard
m_TagString: Untagged
@ -40,6 +41,18 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 360, y: 410}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &-7217776635536932958
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 119862886949005768}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 50d83b85ec6cabf4bbedd7b7b86dd63d, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &238730587393955628
GameObject:
m_ObjectHideFlags: 0

View File

@ -7655,6 +7655,81 @@ MonoBehaviour:
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &597404944635992037
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8251428422656517467}
- component: {fileID: 7878093561182033450}
- component: {fileID: 8707906087741012494}
m_Layer: 5
m_Name: Content
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8251428422656517467
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 597404944635992037}
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: 2802971810959098556}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: -1561.7, y: 0}
m_Pivot: {x: 0, y: 1}
--- !u!114 &7878093561182033450
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 597404944635992037}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalFit: 2
m_VerticalFit: 0
--- !u!114 &8707906087741012494
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 597404944635992037}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 8a8695521f0d02e499659fee002a26c2, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 5
m_Right: 0
m_Top: 2
m_Bottom: 0
m_ChildAlignment: 0
m_StartCorner: 0
m_StartAxis: 0
m_CellSize: {x: 360, y: 410}
m_Spacing: {x: 10, y: 10}
m_Constraint: 2
m_ConstraintCount: 1
--- !u!1 &614128750645687069
GameObject:
m_ObjectHideFlags: 0
@ -15166,6 +15241,7 @@ RectTransform:
- {fileID: 3241167438360758900}
- {fileID: 8263171269283795704}
- {fileID: 8346797560638034965}
- {fileID: 6469088889267929710}
m_Father: {fileID: 6291925347982253742}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
@ -15193,6 +15269,9 @@ MonoBehaviour:
- {fileID: 5347853226888182770}
Tab_Main: {fileID: 4425228685122679352}
Tab_Sub: {fileID: 6394690042655658315}
shopContents:
- {fileID: 4751763833754436815}
- {fileID: 4262456723639236188}
--- !u!1 &1145784816424712090
GameObject:
m_ObjectHideFlags: 0
@ -30363,6 +30442,98 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_localtextKey: 296
--- !u!1 &2088215860123444157
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6469088889267929710}
- component: {fileID: 4262456723639236188}
- component: {fileID: 7909704444604148524}
- component: {fileID: 8294827342354674348}
m_Layer: 5
m_Name: shop_pass
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6469088889267929710
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2088215860123444157}
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:
- {fileID: 1674737735668229953}
m_Father: {fileID: 6816744240132360706}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: -780.86, y: -114.999954}
m_SizeDelta: {x: 1561.72, y: 850}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &4262456723639236188
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2088215860123444157}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e4ccd00fcfbf7c04291805504687cc39, type: 3}
m_Name:
m_EditorClassIdentifier:
m_ScrollRect: {fileID: 9201499458999383001}
m_Content: {fileID: 0}
go_card: {fileID: 0}
--- !u!222 &7909704444604148524
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2088215860123444157}
m_CullTransparentMesh: 1
--- !u!114 &8294827342354674348
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2088215860123444157}
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: 0.89019614, g: 0.6313726, b: 0.4156863, 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: 65f581562538e304cbbfe8ee3beab09c, 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!1 &2088811925445685512
GameObject:
m_ObjectHideFlags: 0
@ -38969,7 +39140,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &8346797560638034965
RectTransform:
m_ObjectHideFlags: 0
@ -39004,7 +39175,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_ScrollRect: {fileID: 9184815440441036218}
m_Content: {fileID: 0}
m_Content: {fileID: 1708297075324637377}
go_card: {fileID: 119862886949005768, guid: 51c8989da5791a448a4f0d3986a6c8cc, type: 3}
ri_banner: {fileID: 414879904619606227}
--- !u!222 &5445136990847351717
@ -40682,8 +40853,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: -197.51}
m_SizeDelta: {x: 1561.7, y: 454.98}
m_AnchoredPosition: {x: 0, y: -0.0024567}
m_SizeDelta: {x: 1561.7, y: 850}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7853552146248886256
CanvasRenderer:
@ -59386,6 +59557,96 @@ MonoBehaviour:
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 1
--- !u!1 &4112671441212774444
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2802971810959098556}
- component: {fileID: 4842106403283127980}
- component: {fileID: 1397312276683330478}
- component: {fileID: 1375048546870340414}
m_Layer: 5
m_Name: Viewport
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2802971810959098556
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4112671441212774444}
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:
- {fileID: 8251428422656517467}
m_Father: {fileID: 1674737735668229953}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 1}
--- !u!222 &4842106403283127980
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4112671441212774444}
m_CullTransparentMesh: 1
--- !u!114 &1397312276683330478
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4112671441212774444}
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: 65f581562538e304cbbfe8ee3beab09c, 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!114 &1375048546870340414
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4112671441212774444}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_ShowMaskGraphic: 0
--- !u!1 &4119744140244452738
GameObject:
m_ObjectHideFlags: 0
@ -84054,6 +84315,82 @@ MonoBehaviour:
- {fileID: 2359964792895164501}
- {fileID: 8674532541075057407}
go_noti: {fileID: 8937677757188368109}
--- !u!1 &6080789175061639202
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1674737735668229953}
- component: {fileID: 4373966669695845335}
- component: {fileID: 9201499458999383001}
m_Layer: 5
m_Name: scrollview_
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1674737735668229953
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6080789175061639202}
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:
- {fileID: 2802971810959098556}
m_Father: {fileID: 6469088889267929710}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: -0.0024567}
m_SizeDelta: {x: 1561.7, y: 850}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4373966669695845335
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6080789175061639202}
m_CullTransparentMesh: 1
--- !u!114 &9201499458999383001
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6080789175061639202}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Content: {fileID: 8251428422656517467}
m_Horizontal: 1
m_Vertical: 0
m_MovementType: 1
m_Elasticity: 0.1
m_Inertia: 1
m_DecelerationRate: 0.135
m_ScrollSensitivity: 1
m_Viewport: {fileID: 2802971810959098556}
m_HorizontalScrollbar: {fileID: 0}
m_VerticalScrollbar: {fileID: 0}
m_HorizontalScrollbarVisibility: 0
m_VerticalScrollbarVisibility: 0
m_HorizontalScrollbarSpacing: 0
m_VerticalScrollbarSpacing: 0
m_OnValueChanged:
m_PersistentCalls:
m_Calls: []
--- !u!1 &6087577575337862780
GameObject:
m_ObjectHideFlags: 0

View File

@ -113,25 +113,30 @@ public class table_shopitemlist : table_missionbase
if (!dic_shop.ContainsKey((temp.n_ShopTab, temp.n_ShopSubTab)))
dic_shop.Add((temp.n_ShopTab, temp.n_ShopSubTab), new List<ShopItemListTableData>());
dic_shop[(temp.n_ShopTab, temp.n_ShopSubTab)].Add(temp);
if (maintab < temp.n_ShopTab)
if (maintab != temp.n_ShopTab)
{
maintab = temp.n_ShopTab;
subtab = -1;
MainTabDatas.Add(new TabUIData { n_btnName = temp.n_TabName });
MainTabDatas.Add(new TabUIData { m_Index = maintab, n_btnName = temp.n_TabName });
}
if (subtab < temp.n_ShopSubTab)
if (subtab != temp.n_ShopSubTab)
{
if (!SubTabDatas.ContainsKey(maintab))
SubTabDatas.Add(maintab, new List<TabUIData>());
subtab = temp.n_ShopSubTab;
SubTabDatas[maintab].Add(new TabUIData { n_btnName = temp.n_SubTabName });
SubTabDatas[maintab].Add(new TabUIData { m_Index = subtab, n_btnName = temp.n_SubTabName });
}
}
// 정렬
MainTabDatas.Sort((a, b) => a.m_Index.CompareTo(b.m_Index));
foreach (var kvp in SubTabDatas)
kvp.Value.Sort((a, b) => a.m_Index.CompareTo(b.m_Index));
base.Start();
}
//public ShopItemListTableData Get_Data() { }
public ShopItemListTableData Get_Data(int maintab, int subtab = 0) { return dic_shop[(maintab, subtab)][0]; }
public List<ShopItemListTableData> Get_DataList() { return tableDatas; }
public List<ShopItemListTableData> Get_DataList(int maintab, int subtab) { return dic_shop[(maintab, subtab)]; }

View File

@ -0,0 +1,7 @@
public class ShopCard : CardBase
{
public override void Set<T>(T _base)
{
base.Set(_base);
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 50d83b85ec6cabf4bbedd7b7b86dd63d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,21 +1,60 @@
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.ResourceManagement.AsyncOperations;
using UnityEngine.UI;
public class ShopContent_Package : ShopContentBase
{
public RawImage ri_banner;
AsyncOperationHandle<Texture> currentHandle;
public override void Set(int maintab, int subtab)
{
base.Set(maintab, subtab);
var lst = table_shopitemlist.Ins.Get_DataList(maintab, subtab);
if (!string.IsNullOrEmpty(lst[0].s_Banner))
bool isBanner = false;
string BannerName = "";
for (int i = 0; i < lst.Count; i++)
{
isBanner = !string.IsNullOrEmpty(lst[i].s_Banner);
if (isBanner)
{
BannerName = lst[i].s_Banner;
break;
}
}
var scrolltf = m_ScrollRect.GetComponent<RectTransform>();
var grid = m_Content.GetComponent<GridLayoutGroup>();
ri_banner.enabled = false;
if (isBanner)
{ // 배너가 있는 경우
ri_banner.enabled = true;
AddrResourceMgr.Ins.LoadObject<Texture>($"Assets/Res_Addr/Shop/{BannerName}.png", handle =>
{
if (currentHandle.IsValid())
{
Addressables.Release(currentHandle);
ri_banner.texture = null; // 기존 Texture 참조 해제
}
currentHandle = handle;
ri_banner.enabled = true;
ri_banner.texture = handle.Result;
});
scrolltf.anchoredPosition = new Vector2(0f, -220f);
scrolltf.sizeDelta = new Vector2(1561.72f, 495.86f);
grid.constraintCount = 1;
}
else
{ // 배너가 없는 경우
ri_banner.enabled = false;
scrolltf.anchoredPosition = new Vector2(0f, 0f);
scrolltf.sizeDelta = new Vector2(1561.72f, 850f);
grid.constraintCount = 2;
}
Set_ScrollView(lst);
}
}

View File

@ -1,6 +1,7 @@
public class ShopUI : BotMenuBase
{
public TabUIBase Tab_Main, Tab_Sub;
public ShopContentBase[] shopContents;
public override void Set()
{
@ -30,5 +31,10 @@ public class ShopUI : BotMenuBase
void OnClick_SubTab()
{
for (int i = 0; i < shopContents.Length; i++) shopContents[i].gameObject.SetActive(false);
var mainIndex = Tab_Main.Get_Index();
var mainshopdata = table_shopitemlist.Ins.Get_Data(mainIndex);
shopContents[mainIndex].Set(mainIndex, Tab_Sub.Get_Index());
}
}