메뉴 Ui 1차 완성

This commit is contained in:
NTG_DESKTOP 2025-07-30 00:56:47 +09:00
parent 2210c9a33f
commit 13c4f4be7c
92 changed files with 3570 additions and 622 deletions

View File

@ -32,6 +32,11 @@ MonoBehaviour:
m_SerializedLabels:
- Atlas
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 29d0dee3b70fbc44d992ea47012bc366
m_Address: InventoryTestDataSo
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 29dcda970aef9584d9b157e766b8a278
m_Address: RestaurantPlayer
m_ReadOnly: 0
@ -55,6 +60,12 @@ MonoBehaviour:
m_SerializedLabels:
- Atlas
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 46f458d0dcf53304ebe8ae4c3b6e4453
m_Address: Drinks
m_ReadOnly: 0
m_SerializedLabels:
- Atlas
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 47e757b9a170ab649af14c4d7b80ac41
m_Address: CreateRestaurantPlayerSo
m_ReadOnly: 0

View File

@ -0,0 +1,38 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: GodoM SDF Material - 0.2BlackOutline
m_Shader: {fileID: 4800000, guid: 68e6db2ebdc24f95958faec2be5558d6, type: 3}
m_Parent: {fileID: 1328173432319114220, guid: 2f35c40df3d2a1a41b57c8b9eca40913, type: 2}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs: []
m_Ints: []
m_Floats:
- _GradientScale: 5
- _OutlineWidth: 0.2
- _ScaleRatioA: 0.8
- _ScaleRatioB: 0.65
- _ScaleRatioC: 0.65
- _TextureHeight: 4096
- _TextureWidth: 4096
m_Colors:
- _OutlineColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 865aa7aee5ed6944fba874808f503978
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,38 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: GodoM SDF Material - 0.5BlackOutline
m_Shader: {fileID: 4800000, guid: 68e6db2ebdc24f95958faec2be5558d6, type: 3}
m_Parent: {fileID: 1328173432319114220, guid: 2f35c40df3d2a1a41b57c8b9eca40913, type: 2}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs: []
m_Ints: []
m_Floats:
- _GradientScale: 5
- _OutlineWidth: 0.5
- _ScaleRatioA: 0.8
- _ScaleRatioB: 0.65
- _ScaleRatioC: 0.65
- _TextureHeight: 4096
- _TextureWidth: 4096
m_Colors:
- _OutlineColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 3043bdb8c14a5e047aa365acf04bb5bf
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@ -4,9 +4,9 @@ SpriteAtlasImporter:
externalObjects: {}
textureSettings:
serializedVersion: 2
anisoLevel: 0
compressionQuality: 0
maxTextureSize: 0
anisoLevel: 1
compressionQuality: 50
maxTextureSize: 2048
textureCompression: 0
filterMode: 1
generateMipMaps: 0
@ -17,10 +17,10 @@ SpriteAtlasImporter:
packingSettings:
serializedVersion: 2
padding: 4
blockOffset: 0
blockOffset: 1
allowAlphaSplitting: 0
enableRotation: 0
enableTightPacking: 0
enableRotation: 1
enableTightPacking: 1
enableAlphaDilation: 0
secondaryTextureSettings: {}
variantMultiplier: 1

View File

@ -202,10 +202,6 @@ MonoBehaviour:
_icon: {fileID: 8460685313298392783}
_countText: {fileID: 6606259529242263844}
_markImage: {fileID: 4825096369561648102}
_checkSprite: {fileID: 21300000, guid: 4c3cd4ba7dc7cda49af9413345a6857d, type: 3}
_xSprite: {fileID: 21300000, guid: 3a77932a2914fa04fb2096d47597eb95, type: 3}
_emptyFoodSprite: {fileID: 21300000, guid: 78e198643036d1c4985405590e98035c, type: 3}
_emptyDrinkSprite: {fileID: 21300000, guid: a8f3c6be3ae97a245bae788539425262, type: 3}
--- !u!114 &3263594629702172720
MonoBehaviour:
m_ObjectHideFlags: 0
@ -286,7 +282,7 @@ MonoBehaviour:
m_text: 78
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 2f35c40df3d2a1a41b57c8b9eca40913, type: 2}
m_sharedMaterial: {fileID: 1328173432319114220, guid: 2f35c40df3d2a1a41b57c8b9eca40913, type: 2}
m_sharedMaterial: {fileID: 2100000, guid: 865aa7aee5ed6944fba874808f503978, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []

View File

@ -11,6 +11,7 @@ GameObject:
- component: {fileID: 2391483803283917316}
- component: {fileID: 1735637893095563631}
- component: {fileID: 8873208528165654632}
- component: {fileID: 2713170438797639077}
m_Layer: 5
m_Name: Outline
m_TagString: Untagged
@ -30,7 +31,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 2657877033580036595}
m_Father: {fileID: 8035394201733596699}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
@ -75,6 +76,203 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 3
--- !u!114 &2713170438797639077
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 258797861642173343}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreLayout: 1
m_MinWidth: -1
m_MinHeight: -1
m_PreferredWidth: -1
m_PreferredHeight: -1
m_FlexibleWidth: -1
m_FlexibleHeight: -1
m_LayoutPriority: 1
--- !u!1 &3396071375714418723
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2798659778440617956}
- component: {fileID: 3495760369320698915}
- component: {fileID: 5316752281582981029}
- component: {fileID: 9056589545953658346}
m_Layer: 5
m_Name: Label
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2798659778440617956
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3396071375714418723}
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: 9124744816064830070}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3495760369320698915
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3396071375714418723}
m_CullTransparentMesh: 1
--- !u!114 &5316752281582981029
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3396071375714418723}
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: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\uD655\uC778"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 2f35c40df3d2a1a41b57c8b9eca40913, type: 2}
m_sharedMaterial: {fileID: 2100000, guid: 865aa7aee5ed6944fba874808f503978, 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: 36
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: -10
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_TextWrappingMode: 0
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!114 &9056589545953658346
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3396071375714418723}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 56eb0353ae6e5124bb35b17aff880f16, type: 3}
m_Name:
m_EditorClassIdentifier:
m_StringReference:
m_TableReference:
m_TableCollectionName:
m_TableEntryReference:
m_KeyId: 0
m_Key:
m_FallbackState: 0
m_WaitForCompletion: 0
m_LocalVariables: []
m_FormatArguments: []
m_UpdateString:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 5316752281582981029}
m_TargetAssemblyTypeName: TMPro.TMP_Text, Unity.TextMeshPro
m_MethodName: set_text
m_Mode: 0
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName:
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 1
references:
version: 2
RefIds: []
--- !u!1 &3936671778860388973
GameObject:
m_ObjectHideFlags: 0
@ -84,6 +282,8 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 9124744816064830070}
- component: {fileID: 5362329396545998996}
- component: {fileID: 6433515247127929549}
m_Layer: 5
m_Name: KeySlot
m_TagString: Untagged
@ -103,15 +303,55 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1
m_Children:
- {fileID: 2657877033580036595}
- {fileID: 6068175654963885001}
- {fileID: 8035394201733596699}
- {fileID: 2798659778440617956}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 1}
m_AnchorMax: {x: 0.5, y: 1}
m_AnchoredPosition: {x: -899, y: -78}
m_SizeDelta: {x: 50, y: 50}
m_SizeDelta: {x: 0, y: 50}
m_Pivot: {x: 0.5, y: 1}
--- !u!114 &5362329396545998996
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3936671778860388973}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 0
m_Right: 0
m_Top: 0
m_Bottom: 0
m_ChildAlignment: 3
m_Spacing: 10
m_ChildForceExpandWidth: 1
m_ChildForceExpandHeight: 0
m_ChildControlWidth: 1
m_ChildControlHeight: 1
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 0
--- !u!114 &6433515247127929549
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3936671778860388973}
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!1 &7328027392018156034
GameObject:
m_ObjectHideFlags: 0
@ -124,7 +364,7 @@ GameObject:
- component: {fileID: 7929331625217124933}
- component: {fileID: 8718515466158000436}
m_Layer: 5
m_Name: Text
m_Name: KeyCodeLabel
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -137,17 +377,17 @@ RectTransform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7328027392018156034}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
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: 1
m_Children: []
m_Father: {fileID: 9124744816064830070}
m_Father: {fileID: 8035394201733596699}
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: -2.5}
m_SizeDelta: {x: -10, y: -15}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7929331625217124933
CanvasRenderer:
@ -180,7 +420,7 @@ MonoBehaviour:
m_text: Q
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 2f35c40df3d2a1a41b57c8b9eca40913, type: 2}
m_sharedMaterial: {fileID: 1328173432319114220, guid: 2f35c40df3d2a1a41b57c8b9eca40913, type: 2}
m_sharedMaterial: {fileID: 2100000, guid: 9947b1354b378444a9ee964e90f4144c, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
@ -220,7 +460,7 @@ MonoBehaviour:
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_TextWrappingMode: 1
m_TextWrappingMode: 0
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
@ -248,6 +488,86 @@ MonoBehaviour:
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &7426511795940884536
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8035394201733596699}
- component: {fileID: 2649431688508589532}
- component: {fileID: 9166463803998527086}
m_Layer: 5
m_Name: KeyCodePanel
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8035394201733596699
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7426511795940884536}
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: 2657877033580036595}
- {fileID: 2391483803283917316}
- {fileID: 6068175654963885001}
m_Father: {fileID: 9124744816064830070}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 25.54, y: -24.5}
m_SizeDelta: {x: 51.08, y: 49}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &2649431688508589532
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7426511795940884536}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 12
m_Right: 12
m_Top: 5
m_Bottom: 5
m_ChildAlignment: 3
m_Spacing: 0
m_ChildForceExpandWidth: 1
m_ChildForceExpandHeight: 0
m_ChildControlWidth: 1
m_ChildControlHeight: 1
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 0
--- !u!114 &9166463803998527086
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7426511795940884536}
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!1 &8765184054488815574
GameObject:
m_ObjectHideFlags: 0
@ -259,6 +579,7 @@ GameObject:
- component: {fileID: 2657877033580036595}
- component: {fileID: 4026155352886492090}
- component: {fileID: 7383866299554953060}
- component: {fileID: 6724637214622764470}
m_Layer: 5
m_Name: Background
m_TagString: Untagged
@ -273,18 +594,17 @@ RectTransform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8765184054488815574}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
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: 1
m_Children:
- {fileID: 2391483803283917316}
m_Father: {fileID: 9124744816064830070}
m_Children: []
m_Father: {fileID: 8035394201733596699}
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_SizeDelta: {x: -4, y: -4}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4026155352886492090
CanvasRenderer:
@ -324,3 +644,23 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &6724637214622764470
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8765184054488815574}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreLayout: 1
m_MinWidth: -1
m_MinHeight: -1
m_PreferredWidth: -1
m_PreferredHeight: -1
m_FlexibleWidth: -1
m_FlexibleHeight: -1
m_LayoutPriority: 1

View File

@ -29,14 +29,13 @@ RectTransform:
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1
m_Children:
- {fileID: 3005332688522571510}
m_Children: []
m_Father: {fileID: 3617399278284653010}
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_SizeDelta: {x: -4, y: -4}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6904751872664565503
CanvasRenderer:
@ -107,6 +106,7 @@ RectTransform:
m_ConstrainProportionsScale: 1
m_Children:
- {fileID: 7913893702623368553}
- {fileID: 3005332688522571510}
- {fileID: 4242513090410720390}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -272,7 +272,7 @@ MonoBehaviour:
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 17.45
m_fontSize: 32
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 1
@ -386,7 +386,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 7913893702623368553}
m_Father: {fileID: 3617399278284653010}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}

View File

@ -229,7 +229,7 @@ RectTransform:
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_SizeDelta: {x: -2, y: -2}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4813607464312046732
CanvasRenderer:

View File

@ -0,0 +1,16 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6b589089edee3c84fa97c58c3ae1bbbd, type: 3}
m_Name: InventoryTestDataSo
m_EditorClassIdentifier:
UseTestData: 0
TestItems: []

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 29d0dee3b70fbc44d992ea47012bc366
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -4,9 +4,9 @@ SpriteAtlasImporter:
externalObjects: {}
textureSettings:
serializedVersion: 2
anisoLevel: 0
compressionQuality: 0
maxTextureSize: 0
anisoLevel: 1
compressionQuality: 50
maxTextureSize: 2048
textureCompression: 0
filterMode: 1
generateMipMaps: 0
@ -17,10 +17,10 @@ SpriteAtlasImporter:
packingSettings:
serializedVersion: 2
padding: 4
blockOffset: 0
blockOffset: 1
allowAlphaSplitting: 0
enableRotation: 0
enableTightPacking: 0
enableRotation: 1
enableTightPacking: 1
enableAlphaDilation: 0
secondaryTextureSettings: {}
variantMultiplier: 1

View File

@ -4,9 +4,9 @@ SpriteAtlasImporter:
externalObjects: {}
textureSettings:
serializedVersion: 2
anisoLevel: 0
compressionQuality: 0
maxTextureSize: 0
anisoLevel: 1
compressionQuality: 50
maxTextureSize: 2048
textureCompression: 0
filterMode: 1
generateMipMaps: 0
@ -17,10 +17,10 @@ SpriteAtlasImporter:
packingSettings:
serializedVersion: 2
padding: 4
blockOffset: 0
blockOffset: 1
allowAlphaSplitting: 0
enableRotation: 0
enableTightPacking: 0
enableRotation: 1
enableTightPacking: 1
enableAlphaDilation: 0
secondaryTextureSettings: {}
variantMultiplier: 1

View File

@ -0,0 +1,19 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!612988286 &1
SpriteAtlasAsset:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
serializedVersion: 2
m_MasterAtlas: {fileID: 0}
m_ImporterData:
packables:
- {fileID: 21300000, guid: 8238e6735c0b41943ab54e053acc6e6e, type: 3}
- {fileID: 21300000, guid: b54ad74f6fe18fb4eaf2a7187944e599, type: 3}
- {fileID: 21300000, guid: 9ab155bdfe0564d4d8f86d71dff0b5b6, type: 3}
- {fileID: 21300000, guid: aac1ad945eb739c4caaa0cb5d41ec72c, type: 3}
m_IsVariant: 0
m_ScriptablePacker: {fileID: 0}

View File

@ -0,0 +1,30 @@
fileFormatVersion: 2
guid: 46f458d0dcf53304ebe8ae4c3b6e4453
SpriteAtlasImporter:
externalObjects: {}
textureSettings:
serializedVersion: 2
anisoLevel: 1
compressionQuality: 50
maxTextureSize: 2048
textureCompression: 0
filterMode: 1
generateMipMaps: 0
readable: 0
crunchedCompression: 0
sRGB: 1
platformSettings: []
packingSettings:
serializedVersion: 2
padding: 4
blockOffset: 1
allowAlphaSplitting: 0
enableRotation: 1
enableTightPacking: 1
enableAlphaDilation: 0
secondaryTextureSettings: {}
variantMultiplier: 1
bindAsDefault: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -4,9 +4,9 @@ SpriteAtlasImporter:
externalObjects: {}
textureSettings:
serializedVersion: 2
anisoLevel: 0
compressionQuality: 0
maxTextureSize: 0
anisoLevel: 1
compressionQuality: 50
maxTextureSize: 2048
textureCompression: 0
filterMode: 1
generateMipMaps: 0
@ -17,10 +17,10 @@ SpriteAtlasImporter:
packingSettings:
serializedVersion: 2
padding: 4
blockOffset: 0
blockOffset: 1
allowAlphaSplitting: 0
enableRotation: 0
enableTightPacking: 0
enableRotation: 1
enableTightPacking: 1
enableAlphaDilation: 0
secondaryTextureSettings: {}
variantMultiplier: 1

View File

@ -4,9 +4,9 @@ SpriteAtlasImporter:
externalObjects: {}
textureSettings:
serializedVersion: 2
anisoLevel: 0
compressionQuality: 0
maxTextureSize: 0
anisoLevel: 1
compressionQuality: 50
maxTextureSize: 2048
textureCompression: 0
filterMode: 1
generateMipMaps: 0
@ -17,10 +17,10 @@ SpriteAtlasImporter:
packingSettings:
serializedVersion: 2
padding: 4
blockOffset: 0
blockOffset: 1
allowAlphaSplitting: 0
enableRotation: 0
enableTightPacking: 0
enableRotation: 1
enableTightPacking: 1
enableAlphaDilation: 0
secondaryTextureSettings: {}
variantMultiplier: 1

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites:

View File

@ -39,7 +39,7 @@ TextureImporter:
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
@ -72,7 +72,7 @@ TextureImporter:
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -39,7 +39,7 @@ TextureImporter:
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
@ -72,7 +72,7 @@ TextureImporter:
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -39,7 +39,7 @@ TextureImporter:
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
@ -72,7 +72,7 @@ TextureImporter:
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -39,7 +39,7 @@ TextureImporter:
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
@ -72,7 +72,7 @@ TextureImporter:
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 624fed540fd25ad45881425ba580e4c4
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/_DDD/_Raw/Ui/Drinks/item_drink_001.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,156 @@
fileFormatVersion: 2
guid: 8238e6735c0b41943ab54e053acc6e6e
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 2
spriteMeshType: 0
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WindowsStoreApps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/_DDD/_Raw/Ui/Drinks/item_drink_002.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,156 @@
fileFormatVersion: 2
guid: b54ad74f6fe18fb4eaf2a7187944e599
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 2
spriteMeshType: 0
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WindowsStoreApps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/_DDD/_Raw/Ui/Drinks/item_drink_003.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,156 @@
fileFormatVersion: 2
guid: 9ab155bdfe0564d4d8f86d71dff0b5b6
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 2
spriteMeshType: 0
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WindowsStoreApps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/_DDD/_Raw/Ui/Drinks/item_drink_004.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,156 @@
fileFormatVersion: 2
guid: aac1ad945eb739c4caaa0cb5d41ec72c
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 2
spriteMeshType: 0
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 4
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: WindowsStoreApps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
customData:
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spriteCustomMetadata:
entries: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -119,6 +119,19 @@ TextureImporter:
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 4
buildTarget: iOS
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 0
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,15 @@
using System;
using UnityEngine;
namespace DDD
{
[Serializable]
public class InventoryItemData : IId
{
[field: SerializeField]
public string Id { get; set; }
[field: SerializeField]
public int Quantity { get; set; }
public InventoryItemData(string id, int quantity)

View File

@ -1,15 +1,26 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Sirenix.OdinInspector;
using UnityEngine;
namespace DDD
{
public class InventoryManager : Singleton<InventoryManager>, IManager
{
[Title("아이템 전체 목록")]
[ShowInInspector, ReadOnly]
private Dictionary<string, ItemData> _itemDataLookup;
[Title("아이템 보유 목록")]
[ShowInInspector, ReadOnly]
private Dictionary<string, InventoryItemData> _inventoryItemDatas;
#if UNITY_EDITOR
[Title("테스트용")]
private InventoryTestDataSo _inventoryTestDataSo;
#endif
public void PreInit()
{
@ -23,27 +34,11 @@ public Task Init()
public void PostInit()
{
InitializeItemData();
// TODO : 테스트용 이후 삭제
AddItem("item_food_recipe_001");
AddItem("item_food_recipe_002");
AddItem("item_food_recipe_003");
AddItem("item_drink_recipe_001");
AddItem("item_drink_recipe_002");
AddItem("item_ingredient_001", 12);
AddItem("item_ingredient_002", 6);
AddItem("item_ingredient_003", 3);
AddItem("item_ingredient_004", 5);
AddItem("item_ingredient_005", 1);
AddItem("item_ingredient_006", 5);
AddItem("item_ingredient_021", 8);
AddItem("item_ingredient_023", 5);
}
private void InitializeItemData()
{
var itemDataSo = DataManager.Instance.ItemDataSo;
Debug.Assert(itemDataSo != null, "itemDataSo != null");
_itemDataLookup = itemDataSo.GetDataList()
@ -51,7 +46,29 @@ private void InitializeItemData()
.ToDictionary(item => item.Id, item => item);
_inventoryItemDatas = new Dictionary<string, InventoryItemData>(itemDataSo.GetDataCount());
#if UNITY_EDITOR
ApplyEditorTestData();
#endif
}
#if UNITY_EDITOR
private async void ApplyEditorTestData()
{
_inventoryTestDataSo = await AssetManager.LoadAsset<InventoryTestDataSo>(DataConstants.InventoryTestDataSo);
if (_inventoryTestDataSo == null || !_inventoryTestDataSo.UseTestData) return;
foreach (var entry in _inventoryTestDataSo.TestItems)
{
if (string.IsNullOrWhiteSpace(entry.ItemId)) continue;
AddItem(entry.ItemId, entry.Quantity);
}
Debug.Log("[InventoryManager] 테스트용 인벤토리 적용 완료");
}
#endif
public bool AddItem(string id, int quantity = 1)
{

View File

@ -0,0 +1,52 @@
#if UNITY_EDITOR
using System;
using System.Collections.Generic;
using System.Linq;
using Sirenix.OdinInspector;
using UnityEditor;
using UnityEngine;
namespace DDD
{
[Serializable]
public class TestItemEntry
{
[ValueDropdown(nameof(GetAllItemIds))]
public string ItemId;
[MinValue(1)]
public int Quantity = 1;
private IEnumerable<string> GetAllItemIds()
{
var itemSo = LoadItemDataSo();
if (itemSo == null)
return Array.Empty<string>();
return itemSo.GetDataList()
.Where(d => !string.IsNullOrEmpty(d.Id))
.Select(d => d.Id);
}
private ItemDataSo LoadItemDataSo()
{
// 경로는 프로젝트에 맞게 조정 필요
string[] guids = AssetDatabase.FindAssets("t:ItemDataSo");
if (guids.Length == 0) return null;
string path = AssetDatabase.GUIDToAssetPath(guids[0]);
return AssetDatabase.LoadAssetAtPath<ItemDataSo>(path);
}
}
[CreateAssetMenu(menuName = "Test/InventoryTestDataSo", fileName = "InventoryTestDataSo")]
public class InventoryTestDataSo : ScriptableObject
{
[LabelText("테스트 데이터 적용 여부")]
public bool UseTestData;
[LabelText("테스트용 아이템 목록"), ListDrawerSettings]
public List<TestItemEntry> TestItems = new();
}
}
#endif

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 6b589089edee3c84fa97c58c3ae1bbbd

View File

@ -34,35 +34,48 @@ public override Task OnReadyNewFlow(GameFlowState newFlowState)
return Task.CompletedTask;
}
public bool TryAddTodayMenu(IInventorySlotUi itemSlotUi)
public bool TryAddTodayMenu(ItemSlotUi itemSlotUi)
{
string recipeId = itemSlotUi.Model.Id;
if (itemSlotUi.Model.ItemType != ItemType.Recipe) return false;
if (!DataManager.Instance.RecipeDataSo.TryGetDataById(recipeId, out RecipeData recipeData))
return false;
if (!DataManager.Instance.RecipeDataSo.TryGetDataById(recipeId, out RecipeData recipeData)) return false;
bool added = false;
if (recipeData.RecipeType == RecipeType.FoodRecipe)
{
if (_foodRecipeIds.Count >= MaxFoodCount || _foodRecipeIds.ContainsKey(recipeId))
return false;
if (_foodRecipeIds.Count >= MaxFoodCount || _foodRecipeIds.ContainsKey(recipeId)) return false;
_foodRecipeIds[recipeId] = 1;
var foodData = DataManager.Instance.FoodDataSo.GetDataById(recipeData.RecipeResult);
var craftableCount = foodData.GetCraftableCount();
foodData.ConsumeAllCraftableIngredients();
_foodRecipeIds[recipeId] = craftableCount;
added = true;
}
else if (recipeData.RecipeType == RecipeType.DrinkRecipe)
{
if (_drinkRecipeIds.Count >= MaxDrinkCount || _drinkRecipeIds.ContainsKey(recipeId))
return false;
if (_drinkRecipeIds.Count >= MaxDrinkCount || _drinkRecipeIds.ContainsKey(recipeId)) return false;
_drinkRecipeIds[recipeId] = 1;
var drinkData = DataManager.Instance.DrinkDataSo.GetDataById(recipeData.RecipeResult);
var craftableCount = drinkData.GetCraftableCount();
drinkData.ConsumeAllCraftableIngredients();
_drinkRecipeIds[recipeId] = craftableCount;
added = true;
}
EventBus.Broadcast(RestaurantEvents.TodayMenuAddedEvent);
return true;
if (added)
{
EventBus.Broadcast(RestaurantEvents.TodayMenuAddedEvent);
}
return added;
}
public bool TryRemoveTodayMenu(IInventorySlotUi itemSlotUi)
public bool TryRemoveTodayMenu(ItemSlotUi itemSlotUi)
{
string recipeId = itemSlotUi.Model.Id;
var evt = RestaurantEvents.TodayMenuRemovedEvent;
@ -82,7 +95,7 @@ public bool TryRemoveTodayMenu(IInventorySlotUi itemSlotUi)
if (removed)
{
var foodData = DataManager.Instance.FoodDataSo.GetDataById(recipeData.RecipeResult);
CraftingHelper.RefundIngredients(foodData.GetIngredients(), refundCount);
foodData.RefundIngredients(refundCount);
}
}
}
@ -96,7 +109,7 @@ public bool TryRemoveTodayMenu(IInventorySlotUi itemSlotUi)
if (removed)
{
var drinkData = DataManager.Instance.DrinkDataSo.GetDataById(recipeData.RecipeResult);
CraftingHelper.RefundIngredients(drinkData.GetIngredients(), refundCount);
drinkData.RefundIngredients(refundCount);
}
}
}

View File

@ -0,0 +1,58 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Sirenix.OdinInspector;
using UnityEngine;
namespace DDD
{
[Serializable]
public class TestInventoryEditorTool
{
[ValueDropdown(nameof(GetItemIds))]
public string SelectedItemId;
[MinValue(1)]
public int Quantity = 1;
[Button("아이템 추가")]
private void AddItem()
{
if (!Application.isPlaying)
{
Debug.LogWarning("플레이 중에만 아이템 추가가 가능합니다.");
return;
}
if (!string.IsNullOrEmpty(SelectedItemId))
{
InventoryManager.Instance.AddItem(SelectedItemId, Quantity);
}
}
[Button("아이템 제거")]
private void RemoveItem()
{
if (!Application.isPlaying)
{
Debug.LogWarning("플레이 중에만 아이템 제거가 가능합니다.");
return;
}
if (!string.IsNullOrEmpty(SelectedItemId))
{
InventoryManager.Instance.RemoveItem(SelectedItemId, Quantity);
}
}
private IEnumerable<string> GetItemIds()
{
if (!Application.isPlaying || DataManager.Instance?.ItemDataSo == null)
return Enumerable.Empty<string>();
return DataManager.Instance.ItemDataSo.GetDataList()
.Select(data => data.Id)
.Where(id => !string.IsNullOrEmpty(id));
}
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 374dcd1a73bd61f489634eca57e6c7f3

View File

@ -1,7 +1,31 @@
using UnityEngine;
using UnityEngine.EventSystems;
namespace DDD
{
public abstract class BasePopupUi : BaseUi
{
public abstract InputActionMaps InputActionMaps { get; }
protected abstract GameObject GetInitialSelected();
protected override void Update()
{
base.Update();
var currentSelectedGameObject = EventSystem.current.currentSelectedGameObject;
if (!currentSelectedGameObject || currentSelectedGameObject.activeInHierarchy == false)
{
if (!GetInitialSelected()) return;
EventSystem.current.SetSelectedGameObject(GetInitialSelected());
}
}
public override void Open()
{
base.Open();
EventSystem.current.SetSelectedGameObject(GetInitialSelected());
}
}
}

View File

@ -1,3 +1,4 @@
using System;
using UnityEngine;
namespace DDD
@ -19,6 +20,11 @@ protected virtual void Start()
Close();
}
protected virtual void Update()
{
}
protected virtual void OnDestroy()
{
TryUnregister();

View File

@ -4,8 +4,7 @@ namespace DDD
{
public static class FoodDataExtensions
{
public static List<IngredientEntry> GetIngredients(this FoodData data)
=> CraftingHelper.ExtractIngredients(
public static List<IngredientEntry> GetIngredients(this FoodData data) => CraftingHelper.ExtractIngredients(
data.IngredientKey1, data.IngredientAmount1,
data.IngredientKey2, data.IngredientAmount2,
data.IngredientKey3, data.IngredientAmount3,

View File

@ -1,10 +0,0 @@
namespace DDD
{
public interface IInventorySlotUi
{
ItemViewModel Model { get; }
void Initialize(ItemViewModel model, RecipeType recipeType = RecipeType.None);
bool CanCraft();
void SetActive(bool value);
}
}

View File

@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: ea992d5d25a1429c908064ebf505063d
timeCreated: 1753410870

View File

@ -0,0 +1,7 @@
namespace DDD
{
public interface IItemSlotUiStrategy
{
void Setup(ItemSlotUi ui, ItemViewModel model);
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 97e19b16afa044b9aaaf04b3ee7699da
timeCreated: 1753786901

View File

@ -0,0 +1,29 @@
namespace DDD
{
public class InventorySlotUiStrategy : IItemSlotUiStrategy
{
public void Setup(ItemSlotUi ui, ItemViewModel model)
{
ui.SetIcon(model.ItemSprite);
ui.SetCount(model.Count);
ui.ShowCount();
ui.HideMark();
ui.SetButtonInteractable(true);
}
public void OnInventoryChanged(ItemSlotUi ui)
{
if (ui.Model == null) return;
ui.Model.UpdateCount();
ui.SetCount(ui.Model.Count);
}
public bool CanCrafting(ItemSlotUi ui)
{
if (ui.Model == null) return false;
return ui.Model.Count > 0;
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 73a820b0bfb44917b3f014172a23fd76
timeCreated: 1753786966

View File

@ -1,3 +1,4 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using UnityEngine;
@ -11,8 +12,10 @@ public class InventoryView : MonoBehaviour, IEventHandler<InventoryChangedEvent>
private RestaurantManagementSo _restaurantManagementSo;
private InventoryCategoryType _currenInventoryCategoryType = InventoryCategoryType.None;
private readonly Dictionary<string, IInventorySlotUi> _slotLookup = new();
private readonly Dictionary<string, ItemViewModel> _modelLookup = new();
private readonly Dictionary<string, ItemSlotUi> _slotLookup = new();
private GameObject _firstSlot;
private const string ItemSlotUiName = "ItemSlotUi_";
private void OnEnable()
{
@ -27,7 +30,8 @@ private void OnDisable()
EventBus.Unregister<TodayMenuAddedEvent>(this);
EventBus.Unregister<TodayMenuRemovedEvent>(this);
}
public GameObject GetInitialSelected() => _firstSlot;
public async Task Initialize()
{
_restaurantManagementSo = await AssetManager.LoadAsset<RestaurantManagementSo>(DataConstants.RestaurantManagementSo);
@ -38,25 +42,25 @@ public async Task Initialize()
var models = ItemViewModelFactory.CreateRestaurantManagementInventoryItem();
_slotLookup.Clear();
_modelLookup.Clear();
foreach (var model in models)
{
var go = Instantiate(_restaurantManagementSo.ItemSlotUiPrefab, _slotParent);
var slot = go.GetComponent<IInventorySlotUi>();
slot.Initialize(model);
var itemSlotUi = Instantiate(_restaurantManagementSo.ItemSlotUiPrefab, _slotParent);
var slot = itemSlotUi.GetComponent<ItemSlotUi>();
slot.Initialize(model, new InventorySlotUiStrategy());
itemSlotUi.name = ItemSlotUiName + model.Id;
var interactor = go.GetComponent<TodayMenuInteractor>();
var interactor = itemSlotUi.GetComponent<TodayMenuInteractor>();
interactor.Initialize(TodayMenuEventType.Add);
_slotLookup[model.Id] = slot;
_modelLookup[model.Id] = model;
}
}
public void UpdateCategoryView(InventoryCategoryType category)
{
_currenInventoryCategoryType = category;
_firstSlot = null;
foreach (var kvp in _slotLookup)
{
var id = kvp.Key;
@ -72,6 +76,11 @@ public void UpdateCategoryView(InventoryCategoryType category)
// 3. 조건을 모두 만족할 경우만 활성화
bool shouldShow = !isRegisteredTodayMenu && matchCategory;
slot.SetActive(shouldShow);
if (shouldShow && _firstSlot == null)
{
_firstSlot = slot.gameObject;
}
}
}
@ -107,14 +116,6 @@ private void Clear()
}
}
public void Invoke(InventoryChangedEvent evt)
{
if (_slotLookup.TryGetValue(evt.ItemId, out var slot))
{
slot.Model.UpdateCount(evt.NewCount);
}
}
public void Invoke(TodayMenuAddedEvent evt)
{
UpdateView();
@ -124,5 +125,16 @@ public void Invoke(TodayMenuRemovedEvent evt)
{
UpdateView();
}
public void Invoke(InventoryChangedEvent evt)
{
foreach (var slot in _slotLookup.Values)
{
if (slot.Strategy is InventorySlotUiStrategy inventorySlotUiStrategy)
{
inventorySlotUiStrategy.OnInventoryChanged(slot);
}
}
}
}
}

View File

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using TMPro;
using UnityEngine;
using UnityEngine.Localization.Components;
@ -23,6 +24,7 @@ public class ItemDetailView : MonoBehaviour, IEventHandler<ItemSlotSelectedEvent
private RestaurantManagementSo _restaurantManagementSo;
private List<TasteHashTagSlotUi> _tasteHashTagSlotUis = new();
private ItemViewModel _currentItemViewModel;
private TaskCompletionSource<bool> _isInitialized = new();
private const string CookwarePanel = "CookwarePanel";
private const string NotCookwarePanel = "NotCookwarePanel";
@ -37,6 +39,8 @@ private async void Start()
_cookwareImage.sprite = null;
ClearHashTags();
_isInitialized.SetResult(true);
}
private void OnEnable()
@ -54,8 +58,10 @@ public void Invoke(ItemSlotSelectedEvent evt)
Show(evt.Model);
}
public void Show(ItemViewModel model)
public async void Show(ItemViewModel model)
{
await _isInitialized.Task;
_currentItemViewModel = model;
if (_currentItemViewModel == null) return;
@ -71,7 +77,7 @@ public void Show(ItemViewModel model)
}
_labelLocalizer.StringReference = LocalizationManager.Instance.GetLocalizedName(viewItemKey);
_descriptionLocalizer.StringReference = LocalizationManager.Instance.GetLocalizedDescription(viewItemKey);
_cookwareImage.sprite = DataManager.Instance.GetSprite(viewItemKey);
_cookwareImage.sprite = _currentItemViewModel.GetCookwareSprite;
UpdateTasteHashTags(_currentItemViewModel);
}

View File

@ -1,10 +1,12 @@
using System;
using TMPro;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
namespace DDD
{
public class ItemSlotUi : MonoBehaviour, IInventorySlotUi
public class ItemSlotUi : MonoBehaviour, ISelectHandler
{
[SerializeField] private Button _button;
[SerializeField] private Image _icon;
@ -12,80 +14,37 @@ public class ItemSlotUi : MonoBehaviour, IInventorySlotUi
[SerializeField] private Image _markImage;
public ItemViewModel Model { get; private set; }
public IItemSlotUiStrategy Strategy { get; private set; }
private const string CheckNoSpriteKey = "CheckNo";
private const string CheckYesSpriteKey = "CheckYes";
private const string EmptyDrinkSpriteKey = "EmptyDrink";
private const string EmptyFoodSpriteKey = "EmptyFood";
public void Initialize(ItemViewModel model, RecipeType recipeType = RecipeType.None)
public void Initialize(ItemViewModel model, IItemSlotUiStrategy strategy)
{
// TODO : 오늘의 메뉴에서 텍스트 출력 없애기
Model = model;
_button.onClick.RemoveAllListeners();
_button.onClick.AddListener(() =>
{
RestaurantEvents.ItemSlotSelectedEvent.Model = Model;
EventBus.Broadcast(RestaurantEvents.ItemSlotSelectedEvent);
});
if (Model != null)
{
_icon.sprite = model.ItemSprite;
_countText.text = model.Count.ToString();
EnableCountText();
_button.interactable = true;
}
else
{
if (recipeType == RecipeType.FoodRecipe)
{
SetEmptyFood();
}
else if (recipeType == RecipeType.DrinkRecipe)
{
SetEmptyDrink();
}
_countText.gameObject.SetActive(false);
_button.interactable = false;
}
}
public bool CanCraft()
{
return Model.Count > 0;
}
public void EnableCountText()
{
_countText.gameObject.SetActive(true);
_markImage.gameObject.SetActive(false);
Strategy = strategy;
Strategy.Setup(this, model);
}
public void EnableMarkImage()
public void SetIcon(Sprite sprite) => _icon.sprite = sprite;
public void SetCount(int count)
{
// TODO : 추후에 현재 등록된 요리도구와 매칭되는지 체크
//_markImage.sprite = registered ? _checkSprite : _xSprite;
_countText.gameObject.SetActive(false);
_countText.text = count.ToString();
_countText.color = count > 0 ? Color.white : Color.red;
}
public void ShowCount() => _countText.gameObject.SetActive(true);
public void HideCount() => _countText.gameObject.SetActive(false);
public void ShowMark(Sprite sprite)
{
_markImage.sprite = sprite;
_markImage.gameObject.SetActive(true);
}
public void HideMark() => _markImage.gameObject.SetActive(false);
public void SetButtonInteractable(bool interactable) => _button.interactable = interactable;
public void SetEmptyFood()
{
_icon.sprite = DataManager.Instance.GetSprite(EmptyFoodSpriteKey);
_markImage.gameObject.SetActive(false);
_button.interactable = false;
}
public void SetEmptyDrink()
{
_icon.sprite = DataManager.Instance.GetSprite(EmptyDrinkSpriteKey);
_markImage.gameObject.SetActive(false);
_button.interactable = false;
}
public void SetActive(bool value) => gameObject.SetActive(value);
public void OnSelect(BaseEventData eventData)
{
RestaurantEvents.ItemSlotSelectedEvent.Model = Model;
EventBus.Broadcast(RestaurantEvents.ItemSlotSelectedEvent);
}
}
}

View File

@ -24,6 +24,26 @@ public Sprite ItemSprite
}
}
public Sprite GetCookwareSprite
{
get
{
if (ItemType != ItemType.Recipe) return null;
string cookwareSpriteKey = null;
switch (RecipeType)
{
case RecipeType.FoodRecipe:
cookwareSpriteKey = DataManager.Instance.FoodDataSo.GetDataById(GetRecipeResultKey).CookwareType.ToString();
break;
case RecipeType.DrinkRecipe:
cookwareSpriteKey = DataManager.Instance.DrinkDataSo.GetDataById(GetRecipeResultKey).CookwareType.ToString();
break;
}
return DataManager.Instance.GetSprite(cookwareSpriteKey);
}
}
public string GetRecipeResultKey
{
get
@ -49,57 +69,31 @@ public List<TasteData> GetTasteDatas
return null;
}
}
public void UpdateCount(int newCount)
public void UpdateCount()
{
if (ItemType == ItemType.Recipe)
{
int craftableCount = 0;
string resultKey = GetRecipeResultKey;
if (RecipeType == RecipeType.FoodRecipe)
{
craftableCount = DataManager.Instance.FoodDataSo.GetDataById(Id).GetCraftableCount();
var foodData = DataManager.Instance.FoodDataSo.GetDataById(resultKey);
craftableCount = foodData.GetCraftableCount();
}
else if (RecipeType == RecipeType.DrinkRecipe)
{
craftableCount = DataManager.Instance.DrinkDataSo.GetDataById(Id).GetCraftableCount();
var drinkData = DataManager.Instance.DrinkDataSo.GetDataById(resultKey);
craftableCount = drinkData.GetCraftableCount();
}
Count = craftableCount;
}
else if (ItemType == ItemType.Ingredient)
else if (ItemType == ItemType.Ingredient)
{
Count = newCount;
Count = InventoryManager.Instance.GetItemCount(Id);
}
}
private List<IngredientEntry> GetCurrentIngredients()
{
if (ItemType != ItemType.Recipe) return null;
var resultKey = GetRecipeResultKey;
return RecipeType switch
{
RecipeType.FoodRecipe => DataManager.Instance.FoodDataSo.GetDataById(resultKey).GetIngredients(),
RecipeType.DrinkRecipe => DataManager.Instance.DrinkDataSo.GetDataById(resultKey).GetIngredients(),
_ => null
};
}
public bool TryConsumeIngredient(int count = 1)
{
return CraftingHelper.TryConsumeIngredients(GetCurrentIngredients(), count);
}
public int ConsumeAllCraftableIngredients()
{
var ingredients = GetCurrentIngredients();
int max = CraftingHelper.GetCraftableCount(ingredients);
return CraftingHelper.ConsumeAll(ingredients, max);
}
public void RefundIngredients(int count = 1)
{
CraftingHelper.RefundIngredients(GetCurrentIngredients(), count);
}
}
}

View File

@ -21,7 +21,7 @@ public enum InventoryCategoryType
Ingredient
}
public class TabButtonUi<T> : MonoBehaviour, ITabSelectable<T> where T : Enum
public class TabButtonUi<T> : MonoBehaviour, ITabSelectable<T>, IInteractableUi where T : Enum
{
[field: SerializeField] public T TabType { get; private set; }
[SerializeField] private Button _button;
@ -44,5 +44,12 @@ public void SetSelected(bool isSelected)
}
_button.interactable = !isSelected;
}
public bool ButtonIsInteractable => _button != null && _button.interactable;
public GameObject ButtonGameObject => _button?.gameObject;
public void OnInteract()
{
_onSelected?.Invoke(TabType);
}
}
}

View File

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
namespace DDD
@ -15,6 +16,9 @@ public class TabGroupUi<T> : MonoBehaviour where T : Enum
public List<T> TabOrder => _tabButtons.ConvertAll(b => b.TabType);
public GameObject GetFirstInteractableButton =>
_tabButtons.FirstOrDefault(b => b.ButtonIsInteractable)?.ButtonGameObject;
public void Initialize(Action<T> onTabSelected)
{
_onTabSelected = onTabSelected;
@ -44,6 +48,7 @@ public void SelectTab(T type)
{
tab.SetSelected(tab.TabType.Equals(type));
}
_onTabSelected?.Invoke(type);
}

View File

@ -13,14 +13,14 @@ public enum TodayMenuEventType
public class TodayMenuInteractor : MonoBehaviour, IInteractableUi
{
private IInventorySlotUi _inventorySlotUi;
private ItemSlotUi _itemSlotUi;
private RestaurantManagementSo _restaurantManagementSo;
private TaskCompletionSource<bool> _isInitialized = new();
private TodayMenuEventType _todayMenuEventType = TodayMenuEventType.None;
private void Awake()
{
_inventorySlotUi = GetComponent<IInventorySlotUi>();
_itemSlotUi = GetComponent<ItemSlotUi>();
}
public async void Initialize(TodayMenuEventType todayMenuEventType)
@ -51,7 +51,13 @@ public async void OnInteract()
private void OnAdded()
{
if (_inventorySlotUi.CanCraft() == false)
if (_itemSlotUi.Strategy is not InventorySlotUiStrategy inventorySlotUiStrategy) return;
if (inventorySlotUiStrategy.CanCrafting(_itemSlotUi))
{
_restaurantManagementSo.TryAddTodayMenu(_itemSlotUi);
}
else
{
var evt = GameEvents.RequestShowGlobalMessageEvent;
// TODO : 테스트용 메세지 추후 삭제 및 변경
@ -59,15 +65,12 @@ private void OnAdded()
evt.FadeDuration = 0.5f;
evt.ShowDuration = 1f;
EventBus.Broadcast(evt);
return;
}
_restaurantManagementSo.TryAddTodayMenu(_inventorySlotUi);
}
private void OnRemoved()
{
_restaurantManagementSo.TryRemoveTodayMenu(_inventorySlotUi);
_restaurantManagementSo.TryRemoveTodayMenu(_itemSlotUi);
}
}
}

View File

@ -0,0 +1,38 @@
namespace DDD
{
public class TodayMenuSlotUiStrategy : IItemSlotUiStrategy
{
private readonly RecipeType _recipeType;
public TodayMenuSlotUiStrategy(RecipeType recipeType)
{
_recipeType = recipeType;
}
public void Setup(ItemSlotUi ui, ItemViewModel model)
{
if (model == null)
{
string emptySpriteKey = null;
if (_recipeType == RecipeType.FoodRecipe)
{
emptySpriteKey = SpriteConstants.EmptyFoodSpriteKey;
}
else if (_recipeType == RecipeType.DrinkRecipe)
{
emptySpriteKey = SpriteConstants.EmptyDrinkSpriteKey;
}
ui.SetIcon(DataManager.Instance.GetSprite(emptySpriteKey));
ui.HideCount();
ui.HideMark();
ui.SetButtonInteractable(false);
return;
}
ui.SetIcon(model.ItemSprite);
ui.HideCount();
ui.ShowMark(DataManager.Instance.GetSprite(SpriteConstants.CheckNoSpriteKey)); // TODO : 추후에 장비와 매칭
ui.SetButtonInteractable(true);
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 4275b6f0f8214b24aaa93cab5e2f1cb6
timeCreated: 1753788899

View File

@ -8,17 +8,26 @@ public class TodayMenuView : MonoBehaviour, IEventHandler<TodayMenuAddedEvent>,
[SerializeField] private Transform _todayFoodContent;
[SerializeField] private Transform _todayDrinkContent;
private List<IInventorySlotUi> _foodSlots;
private List<IInventorySlotUi> _drinkSlots;
private List<ItemSlotUi> _foodSlots;
private List<ItemSlotUi> _drinkSlots;
private RestaurantManagementSo _restaurantManagementSo;
private async void Start()
private void Start()
{
EventBus.Register<TodayMenuAddedEvent>(this);
EventBus.Register<TodayMenuRemovedEvent>(this);
Initialize();
}
private void OnDestroy()
{
EventBus.Unregister<TodayMenuAddedEvent>(this);
EventBus.Unregister<TodayMenuRemovedEvent>(this);
}
private async void Initialize()
{
_restaurantManagementSo = await AssetManager.LoadAsset<RestaurantManagementSo>(DataConstants.RestaurantManagementSo);
Debug.Assert(_restaurantManagementSo != null, "_restaurantManagementSo != null");
foreach (Transform child in _todayFoodContent)
{
@ -26,12 +35,12 @@ private async void Start()
}
int maxFoodCount = _restaurantManagementSo.MaxFoodCount;
_foodSlots = new List<IInventorySlotUi>(maxFoodCount);
_foodSlots = new List<ItemSlotUi>(maxFoodCount);
for (int i = 0; i < _restaurantManagementSo.MaxFoodCount; i++)
{
var go = Instantiate(_restaurantManagementSo.ItemSlotUiPrefab, _todayFoodContent);
var slot = go.GetComponent<IInventorySlotUi>();
slot.Initialize(null, RecipeType.FoodRecipe);
var slot = go.GetComponent<ItemSlotUi>();
slot.Initialize(null, new TodayMenuSlotUiStrategy(RecipeType.FoodRecipe));
var todayMenuInteractor = go.GetComponent<TodayMenuInteractor>();
todayMenuInteractor.Initialize(TodayMenuEventType.Remove);
@ -44,12 +53,12 @@ private async void Start()
}
int maxDrinkCount = _restaurantManagementSo.MaxDrinkCount;
_drinkSlots = new List<IInventorySlotUi>(maxDrinkCount);
_drinkSlots = new List<ItemSlotUi>(maxDrinkCount);
for (int i = 0; i < _restaurantManagementSo.MaxDrinkCount; i++)
{
var go = Instantiate(_restaurantManagementSo.ItemSlotUiPrefab, _todayDrinkContent);
var slot = go.GetComponent<IInventorySlotUi>();
slot.Initialize(null, RecipeType.DrinkRecipe);
var slot = go.GetComponent<ItemSlotUi>();
slot.Initialize(null, new TodayMenuSlotUiStrategy(RecipeType.DrinkRecipe));
var todayMenuInteractor = go.GetComponent<TodayMenuInteractor>();
todayMenuInteractor.Initialize(TodayMenuEventType.Remove);
@ -57,12 +66,9 @@ private async void Start()
}
UpdateView();
}
private void OnDestroy()
{
EventBus.Unregister<TodayMenuAddedEvent>(this);
EventBus.Unregister<TodayMenuRemovedEvent>(this);
EventBus.Register<TodayMenuAddedEvent>(this);
EventBus.Register<TodayMenuRemovedEvent>(this);
}
public void Invoke(TodayMenuAddedEvent evt)
@ -85,14 +91,15 @@ private void UpdateView()
string recipeId = kvp.Key;
var model = ItemViewModelFactory.CreateByRecipeId(recipeId);
_foodSlots[foodIndex].Initialize(model);
_foodSlots[foodIndex].SetActive(true);
var foodSlot = _foodSlots[foodIndex];
foodSlot.Initialize(model, new TodayMenuSlotUiStrategy(RecipeType.FoodRecipe));
foodSlot.SetCount(kvp.Value);
foodIndex++;
}
for (int i = foodIndex; i < _foodSlots.Count; i++)
{
_foodSlots[i].Initialize(null, RecipeType.FoodRecipe);
_foodSlots[i].Initialize(null, new TodayMenuSlotUiStrategy(RecipeType.FoodRecipe));
}
int drinkIndex = 0;
@ -103,14 +110,15 @@ private void UpdateView()
string recipeId = kvp.Key;
var model = ItemViewModelFactory.CreateByRecipeId(recipeId);
_drinkSlots[drinkIndex].Initialize(model);
_drinkSlots[drinkIndex].SetActive(true);
var drinkSlot = _drinkSlots[drinkIndex];
drinkSlot.Initialize(model, new TodayMenuSlotUiStrategy(RecipeType.DrinkRecipe));
drinkSlot.SetCount(kvp.Value);
drinkIndex++;
}
for (int i = drinkIndex; i < _drinkSlots.Count; i++)
{
_drinkSlots[i].Initialize(null, RecipeType.DrinkRecipe);
_drinkSlots[i].Initialize(null, new TodayMenuSlotUiStrategy(RecipeType.DrinkRecipe));
}
}
}

View File

@ -12,14 +12,22 @@ public class RestaurantManagementUi : PopupUi<RestaurantUiActions>, IEventHandle
[SerializeField] private TabGroupUi<RestaurantManagementSectionType> _sectionTabs;
[SerializeField] private TabGroupUi<InventoryCategoryType> _categoryTabs;
protected override GameObject GetInitialSelected()
{
var inventoryViewInitialSelectedObject = _inventoryView.GetInitialSelected();
if (inventoryViewInitialSelectedObject) return inventoryViewInitialSelectedObject;
return _categoryTabs.GetFirstInteractableButton;
}
public override void Open()
{
base.Open();
_ = _inventoryView.Initialize();
_sectionTabs.Initialize(OnSectionTabSelected);
_categoryTabs.Initialize(OnCategoryTabSelected);
EventBus.Register<TodayMenuRemovedEvent>(this);
base.Open();
}
public override void Close()
@ -74,7 +82,7 @@ private void HandleInteract1()
private void HandleInteract2()
{
HandleCancel();
}
private void OnSectionTabSelected(RestaurantManagementSectionType section)
@ -90,7 +98,6 @@ private void OnCategoryTabSelected(InventoryCategoryType category)
public void Invoke(TodayMenuRemovedEvent evt)
{
// TODO : 버튼은 제대로 안바뀜
InventoryCategoryType newInventoryCategoryType = evt.RecipeType switch
{
RecipeType.FoodRecipe => InventoryCategoryType.Food,
@ -100,7 +107,7 @@ public void Invoke(TodayMenuRemovedEvent evt)
if (newInventoryCategoryType == InventoryCategoryType.None) return;
OnCategoryTabSelected(newInventoryCategoryType);
_categoryTabs.SelectTab(newInventoryCategoryType);
}
}
}

View File

@ -11,6 +11,7 @@ public static class CommonConstants
public static class DataConstants
{
public const string InventoryTestDataSo = "InventoryTestDataSo";
public const string ItemDataSo = "ItemDataSo";
public const string RecipeDataSo = "RecipeDataSo";
public const string FoodDataSo = "FoodDataSo";
@ -49,10 +50,11 @@ public static class ExtenstionConstants
public const string SpriteAtlasExtenstionLower = ".spriteatlasv2";
}
public static class TextureImportConstants
public static class SpriteConstants
{
public const string Processed = "processed";
public const string Force = "force";
public const string Skip = "skip";
public const string CheckNoSpriteKey = "CheckNo";
public const string CheckYesSpriteKey = "CheckYes";
public const string EmptyDrinkSpriteKey = "EmptyDrink";
public const string EmptyFoodSpriteKey = "EmptyFood";
}
}

View File

@ -19,12 +19,12 @@
{
"type": "UnityEngine.ProBuilder.SemVer, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
"key": "about.identifier",
"value": "{\"m_Value\":{\"m_Major\":6,\"m_Minor\":0,\"m_Patch\":5,\"m_Build\":-1,\"m_Type\":\"\",\"m_Metadata\":\"\",\"m_Date\":\"\"}}"
"value": "{\"m_Value\":{\"m_Major\":6,\"m_Minor\":0,\"m_Patch\":6,\"m_Build\":-1,\"m_Type\":\"\",\"m_Metadata\":\"\",\"m_Date\":\"\"}}"
},
{
"type": "UnityEngine.ProBuilder.SemVer, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
"key": "preferences.version",
"value": "{\"m_Value\":{\"m_Major\":6,\"m_Minor\":0,\"m_Patch\":5,\"m_Build\":-1,\"m_Type\":\"\",\"m_Metadata\":\"\",\"m_Date\":\"\"}}"
"value": "{\"m_Value\":{\"m_Major\":6,\"m_Minor\":0,\"m_Patch\":6,\"m_Build\":-1,\"m_Type\":\"\",\"m_Metadata\":\"\",\"m_Date\":\"\"}}"
},
{
"type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",