상점 카드 작업 중... 2

This commit is contained in:
Ino 2025-04-23 05:17:12 +09:00
parent 6d3a0da8b4
commit cadf04fa02
7 changed files with 277 additions and 10 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -34,6 +34,7 @@ RectTransform:
- {fileID: 3368300502348584841} - {fileID: 3368300502348584841}
- {fileID: 290950992642225545} - {fileID: 290950992642225545}
- {fileID: 1512552238113595276} - {fileID: 1512552238113595276}
- {fileID: 4261365584699668539}
- {fileID: 842742296758777702} - {fileID: 842742296758777702}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -57,11 +58,15 @@ MonoBehaviour:
texts: texts:
- {fileID: 4128646841872244779} - {fileID: 4128646841872244779}
- {fileID: 4953703298990325885} - {fileID: 4953703298990325885}
- {fileID: 6400121722687552697}
- {fileID: 6190961473305147061}
images: images:
- {fileID: 8468924518769424004} - {fileID: 8468924518769424004}
- {fileID: 685764421944749238}
gos: gos:
- {fileID: 4584091953962620348} - {fileID: 2659955462460448357}
- {fileID: 9027545117159098613} - {fileID: 9027545117159098613}
- {fileID: 2659955462460448357}
--- !u!1 &238730587393955628 --- !u!1 &238730587393955628
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -197,6 +202,141 @@ MonoBehaviour:
m_hasFontAssetChanged: 0 m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0} m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &998045292982565012
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8020095202524566676}
- component: {fileID: 7527647921755450148}
- component: {fileID: 6190961473305147061}
m_Layer: 5
m_Name: t_firstbenefit
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8020095202524566676
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 998045292982565012}
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: 4261365584699668539}
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}
m_SizeDelta: {x: 150, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7527647921755450148
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 998045292982565012}
m_CullTransparentMesh: 1
--- !u!114 &6190961473305147061
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 998045292982565012}
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:
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: a387e325271126742ad15569dba1ac57, type: 2}
m_sharedMaterial: {fileID: -6459762427321423278, guid: a387e325271126742ad15569dba1ac57,
type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, 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: 30
m_fontSizeBase: 30
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 15
m_fontSizeMax: 60
m_fontStyle: 0
m_HorizontalAlignment: 2
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_enableWordWrapping: 0
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 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!1 &1938090051354489894 --- !u!1 &1938090051354489894
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -407,6 +547,82 @@ MonoBehaviour:
m_hasFontAssetChanged: 0 m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0} m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &2659955462460448357
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4261365584699668539}
- component: {fileID: 1944582664681000237}
- component: {fileID: 6123165830219229349}
m_Layer: 5
m_Name: firstbenefit
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4261365584699668539
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2659955462460448357}
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: 8020095202524566676}
m_Father: {fileID: 1200175685615469374}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: 0, y: 103}
m_SizeDelta: {x: 0, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1944582664681000237
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2659955462460448357}
m_CullTransparentMesh: 1
--- !u!114 &6123165830219229349
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2659955462460448357}
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.5411765, g: 0.36078432, b: 0.23529413, 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 &4584091953962620348 --- !u!1 &4584091953962620348
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -871,7 +1087,7 @@ GameObject:
- component: {fileID: 1386869408468204546} - component: {fileID: 1386869408468204546}
- component: {fileID: 8949643378893975221} - component: {fileID: 8949643378893975221}
m_Layer: 5 m_Layer: 5
m_Name: btn_ m_Name: btn_buy
m_TagString: Untagged m_TagString: Untagged
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
@ -979,7 +1195,19 @@ MonoBehaviour:
m_TargetGraphic: {fileID: 5071320058446606719} m_TargetGraphic: {fileID: 5071320058446606719}
m_OnClick: m_OnClick:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls:
- m_Target: {fileID: -7217776635536932958}
m_TargetAssemblyTypeName: ShopCard, Assembly-CSharp
m_MethodName: OnClick_Buy
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!114 &8949643378893975221 --- !u!114 &8949643378893975221
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -1009,7 +1237,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 1 m_IsActive: 0
--- !u!224 &842742296758777702 --- !u!224 &842742296758777702
RectTransform: RectTransform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -2,6 +2,7 @@ using CodeStage.AntiCheat.ObscuredTypes;
using Newtonsoft.Json; using Newtonsoft.Json;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine;
public enum eShopTab { Pass, Package, Common, Money, Mileage } public enum eShopTab { Pass, Package, Common, Money, Mileage }
public enum eBuyCondition { None, } public enum eBuyCondition { None, }
@ -28,6 +29,13 @@ public class ShopItemListTableData : TableDataBase
set { _RandomBagID = value; _RandomBagID.RandomizeCryptoKey(); } set { _RandomBagID = value; _RandomBagID.RandomizeCryptoKey(); }
} }
protected ObscuredInt _FirstBonus;
public int n_FirstBonus
{
get { return _FirstBonus; }
set { _FirstBonus = value; _FirstBonus.RandomizeCryptoKey(); }
}
protected ObscuredInt _Mileage; protected ObscuredInt _Mileage;
public int n_Mileage public int n_Mileage
{ {
@ -89,6 +97,7 @@ public class ShopItemListTableData : TableDataBase
public string s_Banner; public string s_Banner;
public override string Get_Name() { return table_itemlist.Ins.Get_ItemName(n_ShopItemID); } public override string Get_Name() { return table_itemlist.Ins.Get_ItemName(n_ShopItemID); }
public Sprite Get_Icon() { return UIAtlasMgr.Ins.Get_Sprite(n_ShopItemID); }
} }
public class table_shopitemlist : table_missionbase public class table_shopitemlist : table_missionbase

View File

@ -4,9 +4,9 @@ using UnityEngine.UI;
public class ShopCard : CardBase public class ShopCard : CardBase
{ {
public TextMeshProUGUI[] texts; // 0 상품 이름, 1 제한횟수, 2 가격 public TextMeshProUGUI[] texts; // 0 상품 이름, 1 제한횟수, 2 가격, 3 최초구매
public Image[] images; // 0 상품 public Image[] images; // 0 상품, 1 가격
public GameObject[] gos; // 0 가격 이미지, 1 품절 public GameObject[] gos; // 0 최초 구매, 1 품절
ShopItemListTableData m_Data; ShopItemListTableData m_Data;
@ -16,5 +16,35 @@ public class ShopCard : CardBase
m_Data = _base as ShopItemListTableData; m_Data = _base as ShopItemListTableData;
texts[0].text = m_Data.Get_Name(); texts[0].text = m_Data.Get_Name();
texts[1].text = Get_LimitText();
texts[2].text = m_Data.n_PriceItemID == -1 ? $"₩{m_Data.n_Price:N0}" : m_Data.n_Price.ToString();
texts[3].text = DSUtil.Format(390, m_Data.n_FirstBonus);
images[0].sprite = m_Data.Get_Icon();
images[1].enabled = m_Data.n_PriceItemID != -1;
if (images[1].enabled) images[1].sprite = UIAtlasMgr.Ins.Get_Sprite(m_Data.n_PriceItemID);
gos[0].SetActive(m_Data.n_FirstBonus > 0);
gos[1].SetActive(isSoldOut()); // 품절 여부
}
string Get_LimitText()
{ // TODO 정인호 : 현재 구매 횟수 필요
if (m_Data.BuyLimit > 0) return DSUtil.Format(391, 0, m_Data.BuyLimit);
if (m_Data.BuyLimit_Day > 0) return DSUtil.Format(392, 0, m_Data.BuyLimit_Day);
if (m_Data.BuyLimit_Week > 0) return DSUtil.Format(393, 0, m_Data.BuyLimit_Week);
if (m_Data.BuyLimit_Month > 0) return DSUtil.Format(394, 0, m_Data.BuyLimit_Month);
return "";
}
bool isSoldOut()
{ // TODO 정인호 : 상품 품절 여부
return false;
}
public void OnClick_Buy()
{
} }
} }