diff --git a/Assets/_DDD/Restaurant/Environments/Props/Prop_Open.prefab b/Assets/_DDD/Restaurant/Environments/Props/Prop_Open.prefab index 6b20ad462..0eb79e709 100644 --- a/Assets/_DDD/Restaurant/Environments/Props/Prop_Open.prefab +++ b/Assets/_DDD/Restaurant/Environments/Props/Prop_Open.prefab @@ -68,6 +68,10 @@ PrefabInstance: propertyPath: 'm_Materials.Array.data[0]' value: objectReference: {fileID: 2100000, guid: a43de73b23f496546a3ea8ccc5166d97, type: 2} + - target: {fileID: 8516969404588314361, guid: 1d634c3376e4a4684bc984ced9134847, type: 3} + propertyPath: m_IsTrigger + value: 1 + objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] diff --git a/Assets/_DDD/Restaurant/Environments/Props/Prop_Refrigerator.prefab b/Assets/_DDD/Restaurant/Environments/Props/Prop_Refrigerator.prefab index 34d426923..27d629109 100644 --- a/Assets/_DDD/Restaurant/Environments/Props/Prop_Refrigerator.prefab +++ b/Assets/_DDD/Restaurant/Environments/Props/Prop_Refrigerator.prefab @@ -358,33 +358,10 @@ PrefabInstance: - targetCorrespondingSourceObject: {fileID: 2204914584875671904, guid: 1d634c3376e4a4684bc984ced9134847, type: 3} insertIndex: -1 addedObject: {fileID: 7159781468411195695} - m_AddedComponents: - - targetCorrespondingSourceObject: {fileID: 4438924429928472453, guid: 1d634c3376e4a4684bc984ced9134847, type: 3} - insertIndex: -1 - addedObject: {fileID: 5123936106469897444} + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 1d634c3376e4a4684bc984ced9134847, type: 3} --- !u!4 &6689525833630355058 stripped Transform: m_CorrespondingSourceObject: {fileID: 2204914584875671904, guid: 1d634c3376e4a4684bc984ced9134847, type: 3} m_PrefabInstance: {fileID: 4777358697124966162} m_PrefabAsset: {fileID: 0} ---- !u!1 &9211739394093953175 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 4438924429928472453, guid: 1d634c3376e4a4684bc984ced9134847, type: 3} - m_PrefabInstance: {fileID: 4777358697124966162} - m_PrefabAsset: {fileID: 0} ---- !u!114 &5123936106469897444 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9211739394093953175} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 201f9e6d7ca7404baa9945950292a392, type: 3} - m_Name: - m_EditorClassIdentifier: - _interactionType: 1 - _holdTime: 1 - _interactionMessageKey: Test diff --git a/Assets/_DDD/_Addressables/Environments/Geometry/TestGeometry/Mat_TestGeometry.mat b/Assets/_DDD/_Addressables/Environments/Geometry/TestGeometry/Mat_TestGeometry.mat index c3a169625..b8c647f39 100644 --- a/Assets/_DDD/_Addressables/Environments/Geometry/TestGeometry/Mat_TestGeometry.mat +++ b/Assets/_DDD/_Addressables/Environments/Geometry/TestGeometry/Mat_TestGeometry.mat @@ -1,5 +1,18 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-2934089024452419919 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 --- !u!21 &2100000 Material: serializedVersion: 8 diff --git a/Assets/_DDD/_Addressables/Environments/Ground/TestGround/Mat_TestGround.mat b/Assets/_DDD/_Addressables/Environments/Ground/TestGround/Mat_TestGround.mat index aa9b5ba30..69734af4b 100644 --- a/Assets/_DDD/_Addressables/Environments/Ground/TestGround/Mat_TestGround.mat +++ b/Assets/_DDD/_Addressables/Environments/Ground/TestGround/Mat_TestGround.mat @@ -34,7 +34,7 @@ Material: m_LightmapFlags: 2 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2450 stringTagMap: RenderType: TransparentCutout disabledShaderPasses: @@ -64,6 +64,10 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _OpacityMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - unity_Lightmaps: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} diff --git a/Assets/_DDD/_Addressables/Environments/Prop/BarrelTestProp/Mat_BarrelTestProp.mat b/Assets/_DDD/_Addressables/Environments/Prop/BarrelTestProp/Mat_BarrelTestProp.mat index d6edc236a..ecc996150 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/BarrelTestProp/Mat_BarrelTestProp.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/BarrelTestProp/Mat_BarrelTestProp.mat @@ -21,7 +21,7 @@ Material: m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2450 stringTagMap: RenderType: TransparentCutout disabledShaderPasses: @@ -99,3 +99,16 @@ Material: - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} m_BuildTextureStacks: [] m_AllowLocking: 1 +--- !u!114 &1139994344471946735 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 diff --git a/Assets/_DDD/_Addressables/Environments/Prop/BlockLine/BlockLine.mat b/Assets/_DDD/_Addressables/Environments/Prop/BlockLine/BlockLine.mat index 1107955fc..0a395dbe1 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/BlockLine/BlockLine.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/BlockLine/BlockLine.mat @@ -80,6 +80,7 @@ Material: m_Floats: - _AlphaClip: 1 - _AlphaToMask: 1 + - _ApplyGI: 1 - _Blend: 0 - _BlendModePreserveSpecular: 0 - _BumpScale: 1 @@ -89,6 +90,7 @@ Material: - _DstBlend: 0 - _EMISSION: 0 - _EnvironmentReflections: 1 + - _GlobalIlluminationIntensity: 1 - _METALLICSPECGLOSSMAP: 1 - _Metallic: 0 - _NORMALMAP: 1 diff --git a/Assets/_DDD/_Addressables/Environments/Prop/BlockLine/Mat_BlockLine.mat b/Assets/_DDD/_Addressables/Environments/Prop/BlockLine/Mat_BlockLine.mat index 269577b94..30aaed115 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/BlockLine/Mat_BlockLine.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/BlockLine/Mat_BlockLine.mat @@ -1,5 +1,18 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-1560185840723167012 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 --- !u!21 &2100000 Material: serializedVersion: 8 diff --git a/Assets/_DDD/_Addressables/Environments/Prop/Box/Mat_Box.mat b/Assets/_DDD/_Addressables/Environments/Prop/Box/Mat_Box.mat index d0ac27d9b..1a9b6e100 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/Box/Mat_Box.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/Box/Mat_Box.mat @@ -1,5 +1,18 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-7049800244634892890 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 --- !u!21 &2100000 Material: serializedVersion: 8 diff --git a/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPart1/FrontWallPart1.mat b/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPart1/FrontWallPart1.mat index b83d54842..9bd9cec06 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPart1/FrontWallPart1.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPart1/FrontWallPart1.mat @@ -67,6 +67,7 @@ Material: m_Floats: - _AlphaClip: 1 - _AlphaToMask: 1 + - _ApplyGI: 1 - _Blend: 0 - _BlendModePreserveSpecular: 0 - _BumpScale: 1 @@ -76,6 +77,7 @@ Material: - _DstBlend: 0 - _EMISSION: 0 - _EnvironmentReflections: 1 + - _GlobalIlluminationIntensity: 1 - _METALLICSPECGLOSSMAP: 1 - _Metallic: 0 - _NORMALMAP: 1 diff --git a/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPart1/Mat_FrontWallPart1.mat b/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPart1/Mat_FrontWallPart1.mat index f520cd00e..392153e89 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPart1/Mat_FrontWallPart1.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPart1/Mat_FrontWallPart1.mat @@ -1,5 +1,18 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-4704719621919823047 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 --- !u!21 &2100000 Material: serializedVersion: 8 diff --git a/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPart2/FrontWallPart2.mat b/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPart2/FrontWallPart2.mat index 68e05a495..0508622ce 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPart2/FrontWallPart2.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPart2/FrontWallPart2.mat @@ -67,6 +67,7 @@ Material: m_Floats: - _AlphaClip: 1 - _AlphaToMask: 1 + - _ApplyGI: 1 - _Blend: 0 - _BlendModePreserveSpecular: 0 - _BumpScale: 1 @@ -76,6 +77,7 @@ Material: - _DstBlend: 0 - _EMISSION: 0 - _EnvironmentReflections: 1 + - _GlobalIlluminationIntensity: 1 - _METALLICSPECGLOSSMAP: 1 - _Metallic: 0 - _NORMALMAP: 1 diff --git a/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPart2/Mat_FrontWallPart2.mat b/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPart2/Mat_FrontWallPart2.mat index d6f263418..955bcf07b 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPart2/Mat_FrontWallPart2.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPart2/Mat_FrontWallPart2.mat @@ -99,3 +99,16 @@ Material: - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} m_BuildTextureStacks: [] m_AllowLocking: 1 +--- !u!114 &3881987407042613178 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 diff --git a/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPart3/FrontWallPart3.mat b/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPart3/FrontWallPart3.mat index bd6a24da5..8ee339db8 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPart3/FrontWallPart3.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPart3/FrontWallPart3.mat @@ -80,6 +80,7 @@ Material: m_Floats: - _AlphaClip: 1 - _AlphaToMask: 1 + - _ApplyGI: 1 - _Blend: 0 - _BlendModePreserveSpecular: 0 - _BumpScale: 1 @@ -89,6 +90,7 @@ Material: - _DstBlend: 0 - _EMISSION: 0 - _EnvironmentReflections: 1 + - _GlobalIlluminationIntensity: 1 - _METALLICSPECGLOSSMAP: 1 - _Metallic: 0 - _NORMALMAP: 1 diff --git a/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPart3/Mat_FrontWallPart3.mat b/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPart3/Mat_FrontWallPart3.mat index 35af69c7a..1bef09439 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPart3/Mat_FrontWallPart3.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPart3/Mat_FrontWallPart3.mat @@ -99,3 +99,16 @@ Material: - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} m_BuildTextureStacks: [] m_AllowLocking: 1 +--- !u!114 &8889278963061015058 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 diff --git a/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPartDoor/FrontWallPartDoor.mat b/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPartDoor/FrontWallPartDoor.mat index 0da273907..3d5e805b1 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPartDoor/FrontWallPartDoor.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPartDoor/FrontWallPartDoor.mat @@ -67,6 +67,7 @@ Material: m_Floats: - _AlphaClip: 1 - _AlphaToMask: 1 + - _ApplyGI: 1 - _Blend: 0 - _BlendModePreserveSpecular: 0 - _BumpScale: 1 @@ -76,6 +77,7 @@ Material: - _DstBlend: 0 - _EMISSION: 0 - _EnvironmentReflections: 1 + - _GlobalIlluminationIntensity: 1 - _METALLICSPECGLOSSMAP: 1 - _Metallic: 0 - _NORMALMAP: 1 diff --git a/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPartDoor/Mat_FrontWallPartDoor.mat b/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPartDoor/Mat_FrontWallPartDoor.mat index ea6ac6402..39dce90f0 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPartDoor/Mat_FrontWallPartDoor.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/FrontWallPartDoor/Mat_FrontWallPartDoor.mat @@ -1,5 +1,18 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-4952507056208060248 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 --- !u!21 &2100000 Material: serializedVersion: 8 diff --git a/Assets/_DDD/_Addressables/Environments/Prop/Lantern/Mat_Lantern.mat b/Assets/_DDD/_Addressables/Environments/Prop/Lantern/Mat_Lantern.mat index 170b95e31..86c23ec3c 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/Lantern/Mat_Lantern.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/Lantern/Mat_Lantern.mat @@ -99,3 +99,16 @@ Material: - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} m_BuildTextureStacks: [] m_AllowLocking: 1 +--- !u!114 &8366194481093407114 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 diff --git a/Assets/_DDD/_Addressables/Environments/Prop/MenuBoard/Mat_MenuBoard.mat b/Assets/_DDD/_Addressables/Environments/Prop/MenuBoard/Mat_MenuBoard.mat index d1e5b1adf..2178ffaf1 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/MenuBoard/Mat_MenuBoard.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/MenuBoard/Mat_MenuBoard.mat @@ -1,5 +1,18 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-4761601518904654232 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 --- !u!21 &2100000 Material: serializedVersion: 8 diff --git a/Assets/_DDD/_Addressables/Environments/Prop/MenuBoard/PropMenuBoard.prefab b/Assets/_DDD/_Addressables/Environments/Prop/MenuBoard/PropMenuBoard.prefab index 56cacad76..3dcee641a 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/MenuBoard/PropMenuBoard.prefab +++ b/Assets/_DDD/_Addressables/Environments/Prop/MenuBoard/PropMenuBoard.prefab @@ -71,5 +71,30 @@ PrefabInstance: m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 4438924429928472453, guid: 1d634c3376e4a4684bc984ced9134847, type: 3} + insertIndex: -1 + addedObject: {fileID: 2285326470091144097} + addedObject: {fileID: 8104602334973352575} m_SourcePrefab: {fileID: 100100000, guid: 1d634c3376e4a4684bc984ced9134847, type: 3} +--- !u!1 &580268897300907643 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 4438924429928472453, guid: 1d634c3376e4a4684bc984ced9134847, type: 3} + m_PrefabInstance: {fileID: 3861763275173960190} + m_PrefabAsset: {fileID: 0} +--- !u!114 &2285326470091144097 +--- !u!114 &8104602334973352575 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 580268897300907643} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 201f9e6d7ca7404baa9945950292a392, type: 3} + m_Name: + m_EditorClassIdentifier: + _interactionType: 1 + _holdTime: 1 + _interactionMessageKey: Test diff --git a/Assets/_DDD/_Addressables/Environments/Prop/Sink/Mat_Sink.mat b/Assets/_DDD/_Addressables/Environments/Prop/Sink/Mat_Sink.mat index 565b7bd9d..d917bc9d4 100644 --- a/Assets/_DDD/_Addressables/Environments/Prop/Sink/Mat_Sink.mat +++ b/Assets/_DDD/_Addressables/Environments/Prop/Sink/Mat_Sink.mat @@ -1,5 +1,18 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-4192404767597481094 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 --- !u!21 &2100000 Material: serializedVersion: 8 diff --git a/Assets/_DDD/_ScriptAssets/Prefabs/BaseRestaurantCharacter.prefab b/Assets/_DDD/_Addressables/Prefabs/BaseRestaurantCharacter.prefab similarity index 95% rename from Assets/_DDD/_ScriptAssets/Prefabs/BaseRestaurantCharacter.prefab rename to Assets/_DDD/_Addressables/Prefabs/BaseRestaurantCharacter.prefab index 27469bbe8..4eaef80ae 100644 --- a/Assets/_DDD/_ScriptAssets/Prefabs/BaseRestaurantCharacter.prefab +++ b/Assets/_DDD/_Addressables/Prefabs/BaseRestaurantCharacter.prefab @@ -44,6 +44,7 @@ GameObject: - component: {fileID: 5176902543201676162} - component: {fileID: 732677841941379807} - component: {fileID: 3365694194251356714} + - component: {fileID: 8736963048629680089} - component: {fileID: 127430239903465757} - component: {fileID: 3095965496140440094} - component: {fileID: 7606279200344222219} @@ -131,6 +132,19 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 061fa444069fcd74c884c1b3379c41b8, type: 3} m_Name: m_EditorClassIdentifier: + _interactionType: 0 +--- !u!114 &8736963048629680089 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5259510642736920361} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ae2637d1ed321b945af3815436c11226, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!114 &127430239903465757 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/_DDD/_ScriptAssets/Prefabs/BaseRestaurantCharacter.prefab.meta b/Assets/_DDD/_Addressables/Prefabs/BaseRestaurantCharacter.prefab.meta similarity index 100% rename from Assets/_DDD/_ScriptAssets/Prefabs/BaseRestaurantCharacter.prefab.meta rename to Assets/_DDD/_Addressables/Prefabs/BaseRestaurantCharacter.prefab.meta diff --git a/Assets/_DDD/_Addressables/Prefabs/RestaurantNpc.prefab b/Assets/_DDD/_Addressables/Prefabs/RestaurantNpc.prefab index de87b71ab..0049cbd0e 100644 --- a/Assets/_DDD/_Addressables/Prefabs/RestaurantNpc.prefab +++ b/Assets/_DDD/_Addressables/Prefabs/RestaurantNpc.prefab @@ -58,7 +58,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8683566178618629536, guid: 3db3fc62639929c4ba6031ca4ae6600c, type: 3} propertyPath: m_Materials.Array.size - value: 4 + value: 0 objectReference: {fileID: 0} - target: {fileID: 8683566178618629536, guid: 3db3fc62639929c4ba6031ca4ae6600c, type: 3} propertyPath: 'm_Materials.Array.data[0]' diff --git a/Assets/_DDD/_Addressables/Prefabs/RestaurantPlayer.prefab b/Assets/_DDD/_Addressables/Prefabs/RestaurantPlayer.prefab index a793438d1..bd619cf70 100644 --- a/Assets/_DDD/_Addressables/Prefabs/RestaurantPlayer.prefab +++ b/Assets/_DDD/_Addressables/Prefabs/RestaurantPlayer.prefab @@ -417,6 +417,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 2d4266c194d3fd346be961b537c811f1, type: 3} m_Name: m_EditorClassIdentifier: + _interactionType: 4294967295 --- !u!114 &4956037093100801085 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/_DDD/_Addressables/Scenes/Restaurant.unity b/Assets/_DDD/_Addressables/Scenes/Restaurant.unity index 04154f9e1..0b1c5c164 100644 --- a/Assets/_DDD/_Addressables/Scenes/Restaurant.unity +++ b/Assets/_DDD/_Addressables/Scenes/Restaurant.unity @@ -19038,75 +19038,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 04cb72fe661fd534b950283199ac4a83, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!1001 &1804444097 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 4476251547817182662, guid: 05aeb8078f8dc7c489b71a0ce5bc4fac, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4476251547817182662, guid: 05aeb8078f8dc7c489b71a0ce5bc4fac, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4476251547817182662, guid: 05aeb8078f8dc7c489b71a0ce5bc4fac, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4476251547817182662, guid: 05aeb8078f8dc7c489b71a0ce5bc4fac, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4476251547817182662, guid: 05aeb8078f8dc7c489b71a0ce5bc4fac, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4476251547817182662, guid: 05aeb8078f8dc7c489b71a0ce5bc4fac, type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4476251547817182662, guid: 05aeb8078f8dc7c489b71a0ce5bc4fac, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 4476251547817182662, guid: 05aeb8078f8dc7c489b71a0ce5bc4fac, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4476251547817182662, guid: 05aeb8078f8dc7c489b71a0ce5bc4fac, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4476251547817182662, guid: 05aeb8078f8dc7c489b71a0ce5bc4fac, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6237816563216546680, guid: 05aeb8078f8dc7c489b71a0ce5bc4fac, type: 3} - propertyPath: m_Name - value: GoogleSheetManager - objectReference: {fileID: 0} - - target: {fileID: 6289760680591803305, guid: 05aeb8078f8dc7c489b71a0ce5bc4fac, type: 3} - propertyPath: _editorName - value: "\uB0A8\uD0DC\uAC74" - objectReference: {fileID: 0} - - target: {fileID: 6289760680591803305, guid: 05aeb8078f8dc7c489b71a0ce5bc4fac, type: 3} - propertyPath: _currentVersion - value: "6 - 2025-07-30 16:48:31 by \uB0A8\uD0DC\uAC74" - objectReference: {fileID: 0} - - target: {fileID: 6289760680591803305, guid: 05aeb8078f8dc7c489b71a0ce5bc4fac, type: 3} - propertyPath: _refreshTrigger - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 05aeb8078f8dc7c489b71a0ce5bc4fac, type: 3} --- !u!114 &1804718565 MonoBehaviour: m_ObjectHideFlags: 0 @@ -94092,7 +94023,6 @@ SceneRoots: - {fileID: 1949741092} - {fileID: 1041959416} - {fileID: 45031421} - - {fileID: 1804444097} - {fileID: 5280945432206803416} - {fileID: 1625822452} - {fileID: 1932987510} diff --git a/Assets/_DDD/_Addressables/So/GameStateSo.asset b/Assets/_DDD/_Addressables/So/GameStateSo.asset new file mode 100644 index 000000000..26ffef5b3 --- /dev/null +++ b/Assets/_DDD/_Addressables/So/GameStateSo.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9141b1f43166655e46607dc6f63a13c25ab60fa517c58c97d59dd0199031d376 +size 411 diff --git a/Assets/_DDD/_Addressables/So/GameStateSo.asset.meta b/Assets/_DDD/_Addressables/So/GameStateSo.asset.meta new file mode 100644 index 000000000..fbacb442f --- /dev/null +++ b/Assets/_DDD/_Addressables/So/GameStateSo.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 094ff53715c99c54ea7e6702a6933228 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_DDD/_Addressables/So/RestaurantCustomerStateSo.asset b/Assets/_DDD/_Addressables/So/RestaurantCustomerStateSo.asset new file mode 100644 index 000000000..46133547f --- /dev/null +++ b/Assets/_DDD/_Addressables/So/RestaurantCustomerStateSo.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3f4e00ac56c631cd92403826618ed6a1f8c7529e37f73bd999106cfaf42a117c +size 478 diff --git a/Assets/_DDD/_Addressables/So/RestaurantCustomerStateSo.asset.meta b/Assets/_DDD/_Addressables/So/RestaurantCustomerStateSo.asset.meta new file mode 100644 index 000000000..40f43b10b --- /dev/null +++ b/Assets/_DDD/_Addressables/So/RestaurantCustomerStateSo.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6a8ae0a4b68a9b94889b9889b63ebacd +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_DDD/_Addressables/So/RestaurantPlayerDataSo.asset b/Assets/_DDD/_Addressables/So/RestaurantPlayerDataSo.asset index 44f914cf3..ce6a5112f 100644 --- a/Assets/_DDD/_Addressables/So/RestaurantPlayerDataSo.asset +++ b/Assets/_DDD/_Addressables/So/RestaurantPlayerDataSo.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6f7e1a2e0bde177a415095fb0c9017f04e0a666a0880a8424d368214498c156f -size 2113 +oid sha256:ba402a04cf41de0b58a0c0256cd6f32d9abab3a157b790ce9c1095187c6815ed +size 1906 diff --git a/Assets/_DDD/_Raw/Environments/Item/BarrelTestItem/Barrel_BaseColor.png.meta b/Assets/_DDD/_Raw/Environments/Item/BarrelTestItem/Barrel_BaseColor.png.meta index 0c10340f9..1214fe3b3 100644 --- a/Assets/_DDD/_Raw/Environments/Item/BarrelTestItem/Barrel_BaseColor.png.meta +++ b/Assets/_DDD/_Raw/Environments/Item/BarrelTestItem/Barrel_BaseColor.png.meta @@ -93,6 +93,45 @@ 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 + - 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: 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: [] diff --git a/Assets/_DDD/_Raw/Environments/Prop/BarrelTestProp/Barrel_BaseColor.png.meta b/Assets/_DDD/_Raw/Environments/Prop/BarrelTestProp/Barrel_BaseColor.png.meta index 0da6afc99..6b59fe186 100644 --- a/Assets/_DDD/_Raw/Environments/Prop/BarrelTestProp/Barrel_BaseColor.png.meta +++ b/Assets/_DDD/_Raw/Environments/Prop/BarrelTestProp/Barrel_BaseColor.png.meta @@ -93,6 +93,45 @@ 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 + - 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: 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: [] diff --git a/Assets/_DDD/_Raw/Environments/Prop/Box/Box_basemap.png.meta b/Assets/_DDD/_Raw/Environments/Prop/Box/Box_basemap.png.meta index 2b62328f2..fced90d2e 100644 --- a/Assets/_DDD/_Raw/Environments/Prop/Box/Box_basemap.png.meta +++ b/Assets/_DDD/_Raw/Environments/Prop/Box/Box_basemap.png.meta @@ -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: [] diff --git a/Assets/_DDD/_Raw/Environments/Prop/Lantern/Lantern_BaseMap.png.meta b/Assets/_DDD/_Raw/Environments/Prop/Lantern/Lantern_BaseMap.png.meta index 68e6d90ff..546d10c12 100644 --- a/Assets/_DDD/_Raw/Environments/Prop/Lantern/Lantern_BaseMap.png.meta +++ b/Assets/_DDD/_Raw/Environments/Prop/Lantern/Lantern_BaseMap.png.meta @@ -93,6 +93,45 @@ 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 + - 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: 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: [] diff --git a/Assets/_DDD/_Raw/Environments/Prop/MenuBoard/MenuBoard_basemap.png.meta b/Assets/_DDD/_Raw/Environments/Prop/MenuBoard/MenuBoard_basemap.png.meta index 7cf4c59f9..ce573bd89 100644 --- a/Assets/_DDD/_Raw/Environments/Prop/MenuBoard/MenuBoard_basemap.png.meta +++ b/Assets/_DDD/_Raw/Environments/Prop/MenuBoard/MenuBoard_basemap.png.meta @@ -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: [] diff --git a/Assets/_DDD/_Raw/Environments/Prop/Sink/Sink_basemap.png.meta b/Assets/_DDD/_Raw/Environments/Prop/Sink/Sink_basemap.png.meta index 8d372e7c9..e05f6da2f 100644 --- a/Assets/_DDD/_Raw/Environments/Prop/Sink/Sink_basemap.png.meta +++ b/Assets/_DDD/_Raw/Environments/Prop/Sink/Sink_basemap.png.meta @@ -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: [] diff --git a/Assets/_DDD/_Raw/Environments/_old/Tiles/BarrelTestTile/Barrel_BaseColor.png.meta b/Assets/_DDD/_Raw/Environments/_old/Tiles/BarrelTestTile/Barrel_BaseColor.png.meta index 7cba6b8f1..08e82f722 100644 --- a/Assets/_DDD/_Raw/Environments/_old/Tiles/BarrelTestTile/Barrel_BaseColor.png.meta +++ b/Assets/_DDD/_Raw/Environments/_old/Tiles/BarrelTestTile/Barrel_BaseColor.png.meta @@ -93,6 +93,45 @@ 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 + - 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: 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: [] diff --git a/Assets/_DDD/_ScriptAssets/Prefabs/GoogleSheetManager.prefab b/Assets/_DDD/_ScriptAssets/Prefabs/GoogleSheetManager.prefab deleted file mode 100644 index 46b669d28..000000000 --- a/Assets/_DDD/_ScriptAssets/Prefabs/GoogleSheetManager.prefab +++ /dev/null @@ -1,33 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &6237816563216546680 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4476251547817182662} - m_Layer: 0 - m_Name: GoogleSheetManager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4476251547817182662 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6237816563216546680} - serializedVersion: 2 - 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: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/_DDD/_ScriptAssets/So/GoogleSheetManager.asset b/Assets/_DDD/_ScriptAssets/So/GoogleSheetManager.asset index 6a00ef55b..f525afcaf 100644 --- a/Assets/_DDD/_ScriptAssets/So/GoogleSheetManager.asset +++ b/Assets/_DDD/_ScriptAssets/So/GoogleSheetManager.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d08ddc57a99b1660dda362ded526a44ac74e008c43efbf1bd50098760cc2c936 -size 551 +oid sha256:cc9b0c9fb4def43f4853f80494507a479872298abab851afea3f652a87f6aba0 +size 564 diff --git a/Assets/_DDD/_ScriptAssets/So/GoogleSheetSettingsSo.asset b/Assets/_DDD/_ScriptAssets/So/GoogleSheetSettingsSo.asset index ed15a280d..29ac09004 100644 --- a/Assets/_DDD/_ScriptAssets/So/GoogleSheetSettingsSo.asset +++ b/Assets/_DDD/_ScriptAssets/So/GoogleSheetSettingsSo.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ff1e408a4a99a64b29be143c156ef20f0a86e5d7567c67a47163b4c060926ffe -size 1237 +oid sha256:5f020f838b9782bf84939795ae29fee8af9d7504a2c94f31cde1435932064d7f +size 1292 diff --git a/Assets/_DDD/_Scripts/GameCharacter/SpineController.cs b/Assets/_DDD/_Scripts/GameCharacter/SpineController.cs index ce05df758..3b954ea55 100644 --- a/Assets/_DDD/_Scripts/GameCharacter/SpineController.cs +++ b/Assets/_DDD/_Scripts/GameCharacter/SpineController.cs @@ -78,8 +78,8 @@ private void Awake() #endregion - // Initialize methods - #region Initialize methods + // InitializeRunRestaurant methods + #region InitializeRunRestaurant methods private void InitializeComponents() { diff --git a/Assets/_DDD/_Scripts/GameData/DataSo.cs b/Assets/_DDD/_Scripts/GameData/DataSo.cs index 31407169d..bff309916 100644 --- a/Assets/_DDD/_Scripts/GameData/DataSo.cs +++ b/Assets/_DDD/_Scripts/GameData/DataSo.cs @@ -1,34 +1,95 @@ +using System; using System.Collections.Generic; using System.Linq; using UnityEngine; +using UnityEngine.Serialization; namespace DDD { public class DataSo : ScriptableObject where T : IId { - [SerializeField] - protected List Datas = new(); + [FormerlySerializedAs("Datas")] [SerializeField] protected List _datas = new(); - public T GetDataById(string id) => Datas.FirstOrDefault(x => x.Id == id); + private static readonly char[] _defaultSeparators = { ',', '|' }; - public bool ContainsData(string id) => Datas.Any(x => x.Id == id); + private void OnEnable() + { + Initialize(); + } + + private void OnValidate() + { + Initialize(); + } + + protected virtual void Initialize() { } + + public T GetDataById(string id) => _datas.FirstOrDefault(x => x.Id == id); + + public bool ContainsData(string id) => _datas.Any(x => x.Id == id); public bool TryGetDataById(string id, out T data) { - data = Datas.FirstOrDefault(x => x.Id == id); + data = _datas.FirstOrDefault(x => x.Id == id); return data != null; } public void SetDataList(List newList) { - Datas = newList; + _datas = newList; } public List GetDataList() { - return Datas; + return _datas; } - public int GetDataCount() => Datas.Count; + public int GetDataCount() => _datas.Count; + + public static List ParseDelimitedList(string input, List buffer = null, char[] separators = null, + bool distinct = false, bool toLower = false) + { + separators ??= _defaultSeparators; + + if (string.IsNullOrWhiteSpace(input)) + { + if (buffer == null) return new List(0); + buffer.Clear(); + return buffer; + } + + IEnumerable query = input + .Split(separators, StringSplitOptions.RemoveEmptyEntries) + .Select(s => s.Trim()) + .Where(s => !string.IsNullOrWhiteSpace(s)); + + // 소문자 정규화가 필요하면 먼저 적용 + if (toLower) + { + query = query.Select(s => s.ToLowerInvariant()); + } + + // Distinct + if (distinct) + { + query = query.Distinct(StringComparer.Ordinal); + } + + if (buffer == null) return query.ToList(); + + buffer.Clear(); + buffer.AddRange(query); + + return buffer; + } + + /// + /// 결과 리스트(target)에 직접 채워 넣습니다. (할당 최소화) + /// + public static void ParseDelimitedListInPlace(string input, List target, char[] separators = null, + bool distinct = false, bool toLower = false) + { + ParseDelimitedList(input, target, separators, distinct, toLower); + } } } \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/GameEvent/IInteractable.cs b/Assets/_DDD/_Scripts/GameEvent/IInteractable.cs index dbb465fa8..556fae820 100644 --- a/Assets/_DDD/_Scripts/GameEvent/IInteractable.cs +++ b/Assets/_DDD/_Scripts/GameEvent/IInteractable.cs @@ -1,14 +1,17 @@ +using System; using UnityEngine; namespace DDD { - public enum InteractionType + [Flags] + public enum InteractionType : uint { - None = 0, - RestaurantManagementUi, - OpenRestaurant, - Count + None = 0u, + RestaurantManagementUi = 1u << 0, + OpenRestaurant = 1u << 1, + All = 0xFFFFFFFFu } + public interface IInteractable { bool CanInteract(); diff --git a/Assets/_DDD/_Scripts/GameFlow/GameFlowManager.cs b/Assets/_DDD/_Scripts/GameFlow/GameFlowManager.cs index 3f6a49d0e..28a990068 100644 --- a/Assets/_DDD/_Scripts/GameFlow/GameFlowManager.cs +++ b/Assets/_DDD/_Scripts/GameFlow/GameFlowManager.cs @@ -47,7 +47,7 @@ public void ChangeFlow(GameFlowState newFlowState) return; } - EndCurrentFlow(); + _ = EndCurrentFlow(); _ = ReadyNewFlow(newFlowState); } @@ -57,9 +57,14 @@ private bool CanChangeFlow(GameFlowState newFlowState) return true; } - private void EndCurrentFlow() + private async Task EndCurrentFlow() { + var endCurrentFlowState = GameFlowDataSo.CurrentGameState; + foreach (var handler in FlowHandlers) + { + await handler.OnExitCurrentFlow(endCurrentFlowState); + } } private async Task ReadyNewFlow(GameFlowState newFlowState) diff --git a/Assets/_DDD/_Scripts/GameFlow/GameFlowTask.cs b/Assets/_DDD/_Scripts/GameFlow/GameFlowTask.cs deleted file mode 100644 index fbc42f2fa..000000000 --- a/Assets/_DDD/_Scripts/GameFlow/GameFlowTask.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System.Threading.Tasks; -using UnityEngine; - -namespace DDD -{ - public abstract class GameFlowTask : ScriptableObject - { - public abstract Task OnReadyNewFlow(GameFlowState newFlowState); - } -} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/GameFlow/GameFlowTask.cs.meta b/Assets/_DDD/_Scripts/GameFlow/GameFlowTask.cs.meta deleted file mode 100644 index af1144a50..000000000 --- a/Assets/_DDD/_Scripts/GameFlow/GameFlowTask.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: b072e73316b7d534b8ec18ffa0b8bfa2 \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/GameFlow/IGameFlowHandler.cs b/Assets/_DDD/_Scripts/GameFlow/IGameFlowHandler.cs index 3089ff6cb..e54285a97 100644 --- a/Assets/_DDD/_Scripts/GameFlow/IGameFlowHandler.cs +++ b/Assets/_DDD/_Scripts/GameFlow/IGameFlowHandler.cs @@ -5,5 +5,6 @@ namespace DDD public interface IGameFlowHandler { public Task OnReadyNewFlow(GameFlowState newFlowState); + public Task OnExitCurrentFlow(GameFlowState exitingFlowState); } } \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/GameState/GameStateSo.cs b/Assets/_DDD/_Scripts/GameState/GameStateSo.cs new file mode 100644 index 000000000..464623e1f --- /dev/null +++ b/Assets/_DDD/_Scripts/GameState/GameStateSo.cs @@ -0,0 +1,35 @@ +using System.Threading.Tasks; +using UnityEngine; + +namespace DDD +{ + [CreateAssetMenu(fileName = "GameStateSo", menuName = "GameState/GameStateSo")] + public class GameStateSo : ScriptableObject, IGameFlowHandler + { + [SerializeField] private int _level = 1; + + public Task OnReadyNewFlow(GameFlowState newFlowState) + { + if (newFlowState is GameFlowState.None or GameFlowState.ReadyForRestaurant) + { + Initialize(); + } + + return Task.CompletedTask; + } + + public Task OnExitCurrentFlow(GameFlowState exitingFlowState) + { + return Task.CompletedTask; + } + + private void Initialize() + { + // TODO : 저장된 데이터 가져오기 or 없으면 데이터 초기화 + + _level = 1; + } + + public int GetCurrentLevel() => _level; + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/GameState/GameStateSo.cs.meta b/Assets/_DDD/_Scripts/GameState/GameStateSo.cs.meta new file mode 100644 index 000000000..ee8a46b05 --- /dev/null +++ b/Assets/_DDD/_Scripts/GameState/GameStateSo.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 9b8aa6c32ff3e8b49bc8365e3a6e2218 \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-08-12 12-11-12 by 남태건.json b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-08-12 12-11-12 by 남태건.json new file mode 100644 index 000000000..cebc1d0bd --- /dev/null +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-08-12 12-11-12 by 남태건.json @@ -0,0 +1,1824 @@ +{ + "$개요": [ + { + "": "Sweet" + }, + { + "": "Sour" + }, + { + "": "Bitter" + }, + { + "": "Salty" + }, + { + "": "SuperHot" + }, + { + "": "Savory" + }, + { + "": "Mild" + }, + { + "": "Warm" + }, + { + "": "Addictive" + }, + { + "": "Fish" + }, + { + "": "Vegetable" + }, + { + "": "Meat" + }, + { + "": "" + }, + { + "": "Soda" + }, + { + "": "MiddleDegree" + }, + { + "": "LowDegree" + }, + { + "": "NoneDegree" + }, + { + "": "WoodFlavor" + }, + { + "": "FruitFlavor" + } + ], + "Test": [ + { + "Id:string": "식별번호", + "CustomerLimitCount": "손님 최대 수", + "Customers:string": "등장 손님", + "Test": 2352, + "Tests": "" + }, + { + "Id:string": "customer_pool_001", + "CustomerLimitCount": 4, + "Customers:string": "customer_001", + "Test": 0, + "Tests": "테스트, 테스트2" + }, + { + "Id:string": "customer_pool_002", + "CustomerLimitCount": 7, + "Customers:string": "customer_001 | customer_002", + "Test": 3, + "Tests": "1 , 2" + }, + { + "Id:string": "customer_pool_003", + "CustomerLimitCount": 9, + "Customers:string": "customer_001 | customer_002 | customer_003", + "Test": 2, + "Tests": "5, 23,253" + }, + { + "Id:string": "customer_pool_004", + "CustomerLimitCount": 3, + "Customers:string": "customer_001", + "Test": "", + "Tests": "" + }, + { + "Id:string": "customer_pool_005", + "CustomerLimitCount": 3, + "Customers:string": "customer_001", + "Test": "", + "Tests": "435, 25" + }, + { + "Id:string": "customer_pool_006", + "CustomerLimitCount": 3, + "Customers:string": "customer_001", + "Test": "", + "Tests": "" + }, + { + "Id:string": "special_customer_pool_001", + "CustomerLimitCount": 1, + "Customers:string": "special_customer_001", + "Test": "", + "Tests": "111|234" + } + ], + "Test_view": [ + { + "Id:string": "식별번호", + "CustomerLimitCount": "손님 최대 수", + "Customers1": "등장 손님1", + "Customers2": "등장 손님2", + "Customers3": "등장 손님3", + "Customers4": "등장 손님4", + "Customers5": "등장 손님5", + "Customers6": "등장 손님6", + "Test": 2352, + "Tests1": "Tests1", + "Tests2": "Tests2", + "Tests3": "Tests3" + }, + { + "Id:string": "customer_pool_001", + "CustomerLimitCount": 4, + "Customers1": "customer_001", + "Customers2": "", + "Customers3": "", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": 0, + "Tests1": "테스트", + "Tests2": "테스트2", + "Tests3": "" + }, + { + "Id:string": "customer_pool_002", + "CustomerLimitCount": 7, + "Customers1": "customer_001", + "Customers2": "customer_002", + "Customers3": "", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": 3, + "Tests1": 1, + "Tests2": 2, + "Tests3": "" + }, + { + "Id:string": "customer_pool_003", + "CustomerLimitCount": 9, + "Customers1": "customer_001", + "Customers2": "customer_002", + "Customers3": "customer_003", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": 2, + "Tests1": 5, + "Tests2": 23, + "Tests3": 253 + }, + { + "Id:string": "customer_pool_004", + "CustomerLimitCount": 3, + "Customers1": "customer_001", + "Customers2": "", + "Customers3": "", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": "", + "Tests1": "", + "Tests2": "", + "Tests3": "" + }, + { + "Id:string": "customer_pool_005", + "CustomerLimitCount": 3, + "Customers1": "customer_001", + "Customers2": "", + "Customers3": "", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": "", + "Tests1": 435, + "Tests2": 25, + "Tests3": "" + }, + { + "Id:string": "customer_pool_006", + "CustomerLimitCount": 3, + "Customers1": "customer_001", + "Customers2": "", + "Customers3": "", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": "", + "Tests1": "", + "Tests2": "", + "Tests3": "" + }, + { + "Id:string": "special_customer_pool_001", + "CustomerLimitCount": 1, + "Customers1": "special_customer_001", + "Customers2": "", + "Customers3": "", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": "", + "Tests1": 111, + "Tests2": 234, + "Tests3": "" + } + ], + "CustomerPoolData": [ + { + "Id:string": "식별번호", + "CustomerLimitCount": "손님 최대 수", + "Customer1": "등장 손님1", + "Customer2": "등장 손님2", + "Customer3": "등장 손님3", + "Customer4": "등장 손님4", + "Customer5": "등장 손님5", + "Customer6": "등장 손님6" + }, + { + "Id:string": "customer_pool_001", + "CustomerLimitCount": 4, + "Customer1": "customer_001", + "Customer2": "", + "Customer3": "", + "Customer4": "", + "Customer5": "", + "Customer6": "" + }, + { + "Id:string": "customer_pool_002", + "CustomerLimitCount": 7, + "Customer1": "customer_001", + "Customer2": "customer_002", + "Customer3": "", + "Customer4": "", + "Customer5": "", + "Customer6": "" + }, + { + "Id:string": "customer_pool_003", + "CustomerLimitCount": 9, + "Customer1": "customer_001", + "Customer2": "customer_002", + "Customer3": " customer_003", + "Customer4": "", + "Customer5": "", + "Customer6": "" + }, + { + "Id:string": "customer_pool_004", + "CustomerLimitCount": 3, + "Customer1": "customer_001", + "Customer2": "", + "Customer3": "", + "Customer4": "", + "Customer5": "", + "Customer6": "" + }, + { + "Id:string": "customer_pool_005", + "CustomerLimitCount": 3, + "Customer1": "customer_001", + "Customer2": "", + "Customer3": "", + "Customer4": "", + "Customer5": "", + "Customer6": "" + }, + { + "Id:string": "customer_pool_006", + "CustomerLimitCount": 3, + "Customer1": "customer_001", + "Customer2": "", + "Customer3": "", + "Customer4": "", + "Customer5": "", + "Customer6": "" + }, + { + "Id:string": "special_customer_pool_001", + "CustomerLimitCount": 1, + "Customer1": "special_customer_001", + "Customer2": "", + "Customer3": "", + "Customer4": "", + "Customer5": "", + "Customer6": "" + } + ], + "LevelData": [ + { + "Id:string": "식별번호", + "Area": "등장 지역", + "CustomerPool": "일반 손님 풀", + "SpecialCustomerPool": "스페셜 손님 풀", + "FixSpecialCustomerCount": "확정 스페셜 손님 수", + "AddSpecialCustomerCount": "추가 스페셜 손님 확률", + "CustomerRespawnTime": "손님 리스폰 시간", + "Exp": "손님 1명당 경험치", + "OrderTime": "주문 대기 인내심 카운트 시간", + "WaitTime": "주문 인내심 카운트 시간", + "EatingTime": "식사 소요시간" + }, + { + "Id:string": 1, + "Area": "Area1", + "CustomerPool": "customer_pool_001", + "SpecialCustomerPool": "", + "FixSpecialCustomerCount": 0, + "AddSpecialCustomerCount": 0, + "CustomerRespawnTime": 6, + "Exp": 13, + "OrderTime": 30, + "WaitTime": 60, + "EatingTime": 6 + }, + { + "Id:string": 2, + "Area": "Area1", + "CustomerPool": "customer_pool_002", + "SpecialCustomerPool": "special_customer_pool_001", + "FixSpecialCustomerCount": 1, + "AddSpecialCustomerCount": 10, + "CustomerRespawnTime": 6, + "Exp": 13, + "OrderTime": 30, + "WaitTime": 60, + "EatingTime": 6 + }, + { + "Id:string": 3, + "Area": "Area1", + "CustomerPool": "customer_pool_003", + "SpecialCustomerPool": "special_customer_pool_001", + "FixSpecialCustomerCount": 2, + "AddSpecialCustomerCount": 30, + "CustomerRespawnTime": 6, + "Exp": 13, + "OrderTime": 30, + "WaitTime": 60, + "EatingTime": 6 + }, + { + "Id:string": 4, + "Area": "Area2", + "CustomerPool": "customer_pool_004", + "SpecialCustomerPool": "special_customer_pool_001", + "FixSpecialCustomerCount": 3, + "AddSpecialCustomerCount": 50, + "CustomerRespawnTime": 6, + "Exp": 13, + "OrderTime": 30, + "WaitTime": 60, + "EatingTime": 6 + }, + { + "Id:string": 5, + "Area": "Area2", + "CustomerPool": "customer_pool_005", + "SpecialCustomerPool": "special_customer_pool_001", + "FixSpecialCustomerCount": 3, + "AddSpecialCustomerCount": 50, + "CustomerRespawnTime": 6, + "Exp": 13, + "OrderTime": 30, + "WaitTime": 60, + "EatingTime": 6 + }, + { + "Id:string": 6, + "Area": "Area2", + "CustomerPool": "customer_pool_006", + "SpecialCustomerPool": "special_customer_pool_001", + "FixSpecialCustomerCount": 3, + "AddSpecialCustomerCount": 50, + "CustomerRespawnTime": 6, + "Exp": 13, + "OrderTime": 30, + "WaitTime": 60, + "EatingTime": 6 + } + ], + "CustomerData": [ + { + "Id": "식별번호", + "CustomerType": "손님 타입", + "#Name": "이름", + "SpineSkinKey": "스파인 스킨 키 값", + "FavoriteTaste1": "선호 맛1", + "FavoriteTaste2": "선호 맛2", + "FavoriteTaste3": "선호 맛3", + "FavoriteTaste4": "선호 맛4", + "FavoriteTaste5": "선호 맛5", + "FavoriteTaste6": "선호 맛6" + }, + { + "Id": "customer_001", + "CustomerType": "Normal", + "#Name": "유령1", + "SpineSkinKey": "", + "FavoriteTaste1": "", + "FavoriteTaste2": "", + "FavoriteTaste3": "", + "FavoriteTaste4": "", + "FavoriteTaste5": "", + "FavoriteTaste6": "" + }, + { + "Id": "customer_002", + "CustomerType": "Normal", + "#Name": "유령2", + "SpineSkinKey": "", + "FavoriteTaste1": "", + "FavoriteTaste2": "", + "FavoriteTaste3": "", + "FavoriteTaste4": "", + "FavoriteTaste5": "", + "FavoriteTaste6": "" + }, + { + "Id": "customer_003", + "CustomerType": "Normal", + "#Name": "유령3", + "SpineSkinKey": "", + "FavoriteTaste1": "", + "FavoriteTaste2": "", + "FavoriteTaste3": "", + "FavoriteTaste4": "", + "FavoriteTaste5": "", + "FavoriteTaste6": "" + }, + { + "Id": "special_customer_001", + "CustomerType": "Special", + "#Name": "차이", + "SpineSkinKey": "", + "FavoriteTaste1": "", + "FavoriteTaste2": "", + "FavoriteTaste3": "", + "FavoriteTaste4": "", + "FavoriteTaste5": "", + "FavoriteTaste6": "" + } + ], + "ItemData": [ + { + "Id": "식별번호", + "ItemType:Enum": "아이템타입1" + }, + { + "Id": "item_food_001", + "ItemType:Enum": "Food" + }, + { + "Id": "item_food_002", + "ItemType:Enum": "Food" + }, + { + "Id": "item_food_003", + "ItemType:Enum": "Food" + }, + { + "Id": "item_food_004", + "ItemType:Enum": "Food" + }, + { + "Id": "item_food_005", + "ItemType:Enum": "Food" + }, + { + "Id": "item_food_006", + "ItemType:Enum": "Food" + }, + { + "Id": "item_food_007", + "ItemType:Enum": "Food" + }, + { + "Id": "item_food_008", + "ItemType:Enum": "Food" + }, + { + "Id": "item_food_009", + "ItemType:Enum": "Food" + }, + { + "Id": "item_food_010", + "ItemType:Enum": "Food" + }, + { + "Id": "item_food_011", + "ItemType:Enum": "Food" + }, + { + "Id": "item_food_012", + "ItemType:Enum": "Food" + }, + { + "Id": "item_food_013", + "ItemType:Enum": "Food" + }, + { + "Id": "item_food_014", + "ItemType:Enum": "Food" + }, + { + "Id": "item_food_015", + "ItemType:Enum": "Food" + }, + { + "Id": "item_food_016", + "ItemType:Enum": "Food" + }, + { + "Id": "item_food_017", + "ItemType:Enum": "Food" + }, + { + "Id": "item_food_018", + "ItemType:Enum": "Food" + }, + { + "Id": "item_food_019", + "ItemType:Enum": "Food" + }, + { + "Id": "item_food_020", + "ItemType:Enum": "Food" + }, + { + "Id": "item_ingredient_001", + "ItemType:Enum": "Ingredient" + }, + { + "Id": "item_ingredient_002", + "ItemType:Enum": "Ingredient" + }, + { + "Id": "item_ingredient_003", + "ItemType:Enum": "Ingredient" + }, + { + "Id": "item_ingredient_004", + "ItemType:Enum": "Ingredient" + }, + { + "Id": "item_ingredient_005", + "ItemType:Enum": "Ingredient" + }, + { + "Id": "item_ingredient_006", + "ItemType:Enum": "Ingredient" + }, + { + "Id": "item_ingredient_007", + "ItemType:Enum": "Ingredient" + }, + { + "Id": "item_ingredient_008", + "ItemType:Enum": "Ingredient" + }, + { + "Id": "item_ingredient_009", + "ItemType:Enum": "Ingredient" + }, + { + "Id": "item_ingredient_010", + "ItemType:Enum": "Ingredient" + }, + { + "Id": "item_ingredient_011", + "ItemType:Enum": "Ingredient" + }, + { + "Id": "item_ingredient_012", + "ItemType:Enum": "Ingredient" + }, + { + "Id": "item_ingredient_013", + "ItemType:Enum": "Ingredient" + }, + { + "Id": "item_ingredient_014", + "ItemType:Enum": "Ingredient" + }, + { + "Id": "item_ingredient_015", + "ItemType:Enum": "Ingredient" + }, + { + "Id": "item_ingredient_016", + "ItemType:Enum": "Ingredient" + }, + { + "Id": "item_ingredient_017", + "ItemType:Enum": "Ingredient" + }, + { + "Id": "item_ingredient_018", + "ItemType:Enum": "Ingredient" + }, + { + "Id": "item_ingredient_019", + "ItemType:Enum": "Ingredient" + }, + { + "Id": "item_ingredient_020", + "ItemType:Enum": "Ingredient" + }, + { + "Id": "item_ingredient_021", + "ItemType:Enum": "Ingredient" + }, + { + "Id": "item_ingredient_022", + "ItemType:Enum": "Ingredient" + }, + { + "Id": "item_ingredient_023", + "ItemType:Enum": "Ingredient" + }, + { + "Id": "item_environment_001", + "ItemType:Enum": "Environment" + }, + { + "Id": "item_environment_002", + "ItemType:Enum": "Environment" + }, + { + "Id": "item_environment_003", + "ItemType:Enum": "Environment" + }, + { + "Id": "item_environment_004", + "ItemType:Enum": "Environment" + }, + { + "Id": "item_environment_005", + "ItemType:Enum": "Environment" + }, + { + "Id": "item_environment_cookware_001", + "ItemType:Enum": "Environment" + }, + { + "Id": "item_environment_cookware_002", + "ItemType:Enum": "Environment" + }, + { + "Id": "item_environment_cookware_003", + "ItemType:Enum": "Environment" + }, + { + "Id": "item_environment_cookware_004", + "ItemType:Enum": "Environment" + }, + { + "Id": "item_environment_cookware_005", + "ItemType:Enum": "Environment" + }, + { + "Id": "item_environment_cookware_006", + "ItemType:Enum": "Environment" + }, + { + "Id": "item_environment_cookware_007", + "ItemType:Enum": "Environment" + }, + { + "Id": "item_environment_cookware_008", + "ItemType:Enum": "Environment" + }, + { + "Id": "item_drink_001", + "ItemType:Enum": "Drink" + }, + { + "Id": "item_drink_002", + "ItemType:Enum": "Drink" + }, + { + "Id": "item_drink_003", + "ItemType:Enum": "Drink" + }, + { + "Id": "item_drink_004", + "ItemType:Enum": "Drink" + }, + { + "Id": "item_food_recipe_001", + "ItemType:Enum": "Recipe" + }, + { + "Id": "item_food_recipe_002", + "ItemType:Enum": "Recipe" + }, + { + "Id": "item_food_recipe_003", + "ItemType:Enum": "Recipe" + }, + { + "Id": "item_food_recipe_004", + "ItemType:Enum": "Recipe" + }, + { + "Id": "item_food_recipe_005", + "ItemType:Enum": "Recipe" + }, + { + "Id": "item_food_recipe_006", + "ItemType:Enum": "Recipe" + }, + { + "Id": "item_food_recipe_007", + "ItemType:Enum": "Recipe" + }, + { + "Id": "item_food_recipe_008", + "ItemType:Enum": "Recipe" + }, + { + "Id": "item_food_recipe_009", + "ItemType:Enum": "Recipe" + }, + { + "Id": "item_food_recipe_010", + "ItemType:Enum": "Recipe" + }, + { + "Id": "item_food_recipe_011", + "ItemType:Enum": "Recipe" + }, + { + "Id": "item_food_recipe_012", + "ItemType:Enum": "Recipe" + }, + { + "Id": "item_food_recipe_013", + "ItemType:Enum": "Recipe" + }, + { + "Id": "item_food_recipe_014", + "ItemType:Enum": "Recipe" + }, + { + "Id": "item_food_recipe_015", + "ItemType:Enum": "Recipe" + }, + { + "Id": "item_food_recipe_016", + "ItemType:Enum": "Recipe" + }, + { + "Id": "item_food_recipe_017", + "ItemType:Enum": "Recipe" + }, + { + "Id": "item_food_recipe_018", + "ItemType:Enum": "Recipe" + }, + { + "Id": "item_food_recipe_019", + "ItemType:Enum": "Recipe" + }, + { + "Id": "item_food_recipe_020", + "ItemType:Enum": "Recipe" + }, + { + "Id": "item_drink_recipe_001", + "ItemType:Enum": "Recipe" + }, + { + "Id": "item_drink_recipe_002", + "ItemType:Enum": "Recipe" + }, + { + "Id": "item_drink_recipe_003", + "ItemType:Enum": "Recipe" + }, + { + "Id": "item_drink_recipe_004", + "ItemType:Enum": "Recipe" + } + ], + "RecipeData": [ + { + "Id:string": "식별ID", + "#Name": "이름", + "RecipeType:Enum": "레시피타입", + "RecipeResult:string": "완성 메뉴" + }, + { + "Id:string": "item_food_recipe_001", + "#Name": "블루 스튜 레시피", + "RecipeType:Enum": "FoodRecipe", + "RecipeResult:string": "item_food_001" + }, + { + "Id:string": "item_food_recipe_002", + "#Name": "햇빛 스튜 레시피", + "RecipeType:Enum": "FoodRecipe", + "RecipeResult:string": "item_food_002" + }, + { + "Id:string": "item_food_recipe_003", + "#Name": "심해기억 스튜 레시피", + "RecipeType:Enum": "FoodRecipe", + "RecipeResult:string": "item_food_003" + }, + { + "Id:string": "item_food_recipe_004", + "#Name": "치킨 굴라쉬 레시피", + "RecipeType:Enum": "FoodRecipe", + "RecipeResult:string": "item_food_004" + }, + { + "Id:string": "item_food_recipe_005", + "#Name": "꿈해초 크로켓 레시피", + "RecipeType:Enum": "FoodRecipe", + "RecipeResult:string": "item_food_005" + }, + { + "Id:string": "item_food_recipe_006", + "#Name": "선라이즈 당근카츠 레시피", + "RecipeType:Enum": "FoodRecipe", + "RecipeResult:string": "item_food_006" + }, + { + "Id:string": "item_food_recipe_007", + "#Name": "미정", + "RecipeType:Enum": "FoodRecipe", + "RecipeResult:string": "item_food_007" + }, + { + "Id:string": "item_food_recipe_008", + "#Name": "비늘치킨덕 레시피", + "RecipeType:Enum": "FoodRecipe", + "RecipeResult:string": "item_food_008" + }, + { + "Id:string": "item_food_recipe_009", + "#Name": "화룡장어 구이 레시피", + "RecipeType:Enum": "FoodRecipe", + "RecipeResult:string": "item_food_009" + }, + { + "Id:string": "item_food_recipe_010", + "#Name": "미정", + "RecipeType:Enum": "FoodRecipe", + "RecipeResult:string": "item_food_010" + }, + { + "Id:string": "item_food_recipe_011", + "#Name": "바다의선물 레시피", + "RecipeType:Enum": "FoodRecipe", + "RecipeResult:string": "item_food_011" + }, + { + "Id:string": "item_food_recipe_012", + "#Name": "유령새우회 레시피", + "RecipeType:Enum": "FoodRecipe", + "RecipeResult:string": "item_food_012" + }, + { + "Id:string": "item_food_recipe_013", + "#Name": "비늘초무침 레시피", + "RecipeType:Enum": "FoodRecipe", + "RecipeResult:string": "item_food_013" + }, + { + "Id:string": "item_food_recipe_014", + "#Name": "쫀징어 냉채 레시피", + "RecipeType:Enum": "FoodRecipe", + "RecipeResult:string": "item_food_014" + }, + { + "Id:string": "item_food_recipe_015", + "#Name": "쫀징어링 레시피", + "RecipeType:Enum": "FoodRecipe", + "RecipeResult:string": "item_food_015" + }, + { + "Id:string": "item_food_recipe_016", + "#Name": "꿈해파리 볶음 레시피", + "RecipeType:Enum": "FoodRecipe", + "RecipeResult:string": "item_food_016" + }, + { + "Id:string": "item_food_recipe_017", + "#Name": "페퍼포칼립스 레시피", + "RecipeType:Enum": "FoodRecipe", + "RecipeResult:string": "item_food_017" + }, + { + "Id:string": "item_food_recipe_018", + "#Name": "미정", + "RecipeType:Enum": "FoodRecipe", + "RecipeResult:string": "item_food_018" + }, + { + "Id:string": "item_food_recipe_019", + "#Name": "미정", + "RecipeType:Enum": "FoodRecipe", + "RecipeResult:string": "item_food_019" + }, + { + "Id:string": "item_food_recipe_020", + "#Name": "미정", + "RecipeType:Enum": "FoodRecipe", + "RecipeResult:string": "item_food_020" + }, + { + "Id:string": "item_drink_recipe_001", + "#Name": "토마토 주스 레시피", + "RecipeType:Enum": "DrinkRecipe", + "RecipeResult:string": "item_drink_001" + }, + { + "Id:string": "item_drink_recipe_002", + "#Name": "오렌지 주스 레시피", + "RecipeType:Enum": "DrinkRecipe", + "RecipeResult:string": "item_drink_002" + }, + { + "Id:string": "item_drink_recipe_003", + "#Name": "여신의눈물 레시피", + "RecipeType:Enum": "DrinkRecipe", + "RecipeResult:string": "item_drink_003" + }, + { + "Id:string": "item_drink_recipe_004", + "#Name": "라벨블루 레시피", + "RecipeType:Enum": "DrinkRecipe", + "RecipeResult:string": "item_drink_004" + } + ], + "FoodData": [ + { + "Id:string": "식별ID", + "#Name": "이름", + "CookwareKey:string": "요리도구 키 값", + "CookTime:int": "요리시간", + "Price:int": "요리가격", + "IngredientKey1:string": "재료1", + "IngredientAmount1:string": "재료1 갯수", + "IngredientKey2:string": "재료2", + "IngredientAmount2:string": "재료2 갯수", + "IngredientKey3:string": "재료3", + "IngredientAmount3:string": "재료3 갯수", + "IngredientKey4:string": "재료4", + "IngredientAmount4:string": "재료4 갯수", + "TasteKey1:string": "맛 키1", + "TasteKey2:string": "맛 키2", + "TasteKey3:string": "맛 키3", + "TasteKey4:string": "맛 키4", + "TasteKey5:string": "맛 키5", + "TasteKey6:string": "맛 키6" + }, + { + "Id:string": "item_food_001", + "#Name": "블루 스튜", + "CookwareKey:string": "item_environment_cookware_001", + "CookTime:int": 7, + "Price:int": 10, + "IngredientKey1:string": "item_ingredient_001", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_002", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sweet", + "TasteKey2:string": "Warm", + "TasteKey3:string": "Vegetable", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_002", + "#Name": "햇빛 스튜", + "CookwareKey:string": "item_environment_cookware_001", + "CookTime:int": 7, + "Price:int": 20, + "IngredientKey1:string": "item_ingredient_002", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_003", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sweet", + "TasteKey2:string": "Bitter", + "TasteKey3:string": "Warm", + "TasteKey4:string": "Vegetable", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_003", + "#Name": "심해기억 스튜", + "CookwareKey:string": "item_environment_cookware_001", + "CookTime:int": 7, + "Price:int": 15, + "IngredientKey1:string": "item_ingredient_002", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_004", + "IngredientAmount2:string": 2, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Salty", + "TasteKey2:string": "Mild", + "TasteKey3:string": "Vegetable", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_004", + "#Name": "치킨 굴라쉬", + "CookwareKey:string": "item_environment_cookware_001", + "CookTime:int": 10, + "Price:int": 30, + "IngredientKey1:string": "item_ingredient_005", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_006", + "IngredientAmount2:string": 2, + "IngredientKey3:string": "item_ingredient_007", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Salty", + "TasteKey2:string": "Sweet", + "TasteKey3:string": "Addictive", + "TasteKey4:string": "Vegetable", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_005", + "#Name": "꿈해초 크로켓", + "CookwareKey:string": "item_environment_cookware_002", + "CookTime:int": 5, + "Price:int": 20, + "IngredientKey1:string": "item_ingredient_007", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_008", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_009", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sour", + "TasteKey2:string": "Salty", + "TasteKey3:string": "Mild", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_006", + "#Name": "선라이즈 당근카츠", + "CookwareKey:string": "item_environment_cookware_002", + "CookTime:int": 5, + "Price:int": 30, + "IngredientKey1:string": "item_ingredient_003", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_007", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_009", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "item_ingredient_010", + "IngredientAmount4:string": 1, + "TasteKey1:string": "Sweet", + "TasteKey2:string": "Sour", + "TasteKey3:string": "Warm", + "TasteKey4:string": "Savory", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_007", + "#Name": "미정", + "CookwareKey:string": "item_environment_cookware_002", + "CookTime:int": 5, + "Price:int": 30, + "IngredientKey1:string": "item_ingredient_011", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_008", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "", + "TasteKey2:string": "", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_008", + "#Name": "비늘치킨덕", + "CookwareKey:string": "item_environment_cookware_003", + "CookTime:int": 6, + "Price:int": 30, + "IngredientKey1:string": "item_ingredient_012", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_013", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_007", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Salty", + "TasteKey2:string": "Mild", + "TasteKey3:string": "Addictive", + "TasteKey4:string": "Meat", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_009", + "#Name": "화룡장어 구이", + "CookwareKey:string": "item_environment_cookware_003", + "CookTime:int": 6, + "Price:int": 15, + "IngredientKey1:string": "item_ingredient_014", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_015", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sweet", + "TasteKey2:string": "Mild", + "TasteKey3:string": "SuperHot", + "TasteKey4:string": "Fish", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_010", + "#Name": "미정", + "CookwareKey:string": "item_environment_cookware_003", + "CookTime:int": 6, + "Price:int": 30, + "IngredientKey1:string": "item_ingredient_016", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_008", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "", + "TasteKey2:string": "", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_011", + "#Name": "바다의선물", + "CookwareKey:string": "item_environment_cookware_004", + "CookTime:int": 5, + "Price:int": 10, + "IngredientKey1:string": "item_ingredient_002", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_003", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sweet", + "TasteKey2:string": "Mild", + "TasteKey3:string": "Vegetable", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_012", + "#Name": "유령새우회", + "CookwareKey:string": "item_environment_cookware_004", + "CookTime:int": 5, + "Price:int": 25, + "IngredientKey1:string": "item_ingredient_017", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_007", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_004", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sweet", + "TasteKey2:string": "Salty", + "TasteKey3:string": "Addictive", + "TasteKey4:string": "Fish", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_013", + "#Name": "비늘초무침", + "CookwareKey:string": "item_environment_cookware_004", + "CookTime:int": 5, + "Price:int": 45, + "IngredientKey1:string": "item_ingredient_018", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_003", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_007", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "item_ingredient_010", + "IngredientAmount4:string": 2, + "TasteKey1:string": "Salty", + "TasteKey2:string": "Sour", + "TasteKey3:string": "Mild", + "TasteKey4:string": "Vegetable", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_014", + "#Name": "쫀징어 냉채", + "CookwareKey:string": "item_environment_cookware_004", + "CookTime:int": 5, + "Price:int": 15, + "IngredientKey1:string": "item_ingredient_011", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_003", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Salty", + "TasteKey2:string": "Vegetable", + "TasteKey3:string": "Fish", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_015", + "#Name": "쫀징어링", + "CookwareKey:string": "item_environment_cookware_005", + "CookTime:int": 8, + "Price:int": 25, + "IngredientKey1:string": "item_ingredient_011", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_007", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_015", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Salty", + "TasteKey2:string": "Sour", + "TasteKey3:string": "SuperHot", + "TasteKey4:string": "Fish", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_016", + "#Name": "꿈해파리 볶음", + "CookwareKey:string": "item_environment_cookware_005", + "CookTime:int": 6, + "Price:int": 15, + "IngredientKey1:string": "item_ingredient_019", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_004", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Salty", + "TasteKey2:string": "Sweet", + "TasteKey3:string": "Sour", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_017", + "#Name": "페퍼포칼립스", + "CookwareKey:string": "item_environment_cookware_005", + "CookTime:int": 6, + "Price:int": 25, + "IngredientKey1:string": "item_ingredient_012", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_015", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_008", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sweet", + "TasteKey2:string": "SuperHot", + "TasteKey3:string": "Meat", + "TasteKey4:string": "Vegetable", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_018", + "#Name": "미정", + "CookwareKey:string": "item_environment_cookware_006", + "CookTime:int": 0, + "Price:int": 0, + "IngredientKey1:string": "", + "IngredientAmount1:string": "", + "IngredientKey2:string": "", + "IngredientAmount2:string": "", + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "", + "TasteKey2:string": "", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_019", + "#Name": "미정", + "CookwareKey:string": "item_environment_cookware_006", + "CookTime:int": 0, + "Price:int": 0, + "IngredientKey1:string": "", + "IngredientAmount1:string": "", + "IngredientKey2:string": "", + "IngredientAmount2:string": "", + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "", + "TasteKey2:string": "", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_020", + "#Name": "미정", + "CookwareKey:string": "item_environment_cookware_006", + "CookTime:int": 0, + "Price:int": 0, + "IngredientKey1:string": "", + "IngredientAmount1:string": "", + "IngredientKey2:string": "", + "IngredientAmount2:string": "", + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "", + "TasteKey2:string": "", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + } + ], + "DrinkData": [ + { + "Id:string": "식별ID", + "#Name": "이름", + "CookwareKey:string": "요리도구 키 값", + "CookTime:int": "요리시간", + "Price:int": "요리가격", + "IngredientKey1:string": "재료1", + "IngredientAmount1:string": "재료1 갯수", + "IngredientKey2:string": "재료2", + "IngredientAmount2:string": "재료2 갯수", + "IngredientKey3:string": "재료3", + "IngredientAmount3:string": "재료3 갯수", + "IngredientKey4:string": "재료4", + "IngredientAmount4:string": "재료4 갯수", + "TasteKey1:string": "맛 키1", + "TasteKey2:string": "맛 키2", + "TasteKey3:string": "맛 키3", + "TasteKey4:string": "맛 키4", + "TasteKey5:string": "맛 키5", + "TasteKey6:string": "맛 키6" + }, + { + "Id:string": "item_drink_001", + "#Name": "토마토 주스", + "CookwareKey:string": "item_environment_cookware_007", + "CookTime:int": 1, + "Price:int": 10, + "IngredientKey1:string": "item_ingredient_006", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_021", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "NoneDegree", + "TasteKey2:string": "Soda", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_drink_002", + "#Name": "오렌지 주스", + "CookwareKey:string": "item_environment_cookware_007", + "CookTime:int": 1, + "Price:int": 10, + "IngredientKey1:string": "item_ingredient_023", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_021", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "NoneDegree", + "TasteKey2:string": "Sour", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_drink_003", + "#Name": "여신의눈물", + "CookwareKey:string": "item_environment_cookware_008", + "CookTime:int": 3, + "Price:int": 10, + "IngredientKey1:string": "item_ingredient_008", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_022", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "LowDegree", + "TasteKey2:string": "WoodFlavor", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_drink_004", + "#Name": "라벨블루", + "CookwareKey:string": "item_environment_cookware_008", + "CookTime:int": 3, + "Price:int": 10, + "IngredientKey1:string": "item_ingredient_002", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_022", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "MiddleDegree", + "TasteKey2:string": "FruitFlavor", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + } + ], + "IngredientData": [ + { + "Id:string": "식별ID", + "#Name": "이름" + }, + { + "Id:string": "item_ingredient_001", + "#Name": "극락쌀" + }, + { + "Id:string": "item_ingredient_002", + "#Name": "블루애플" + }, + { + "Id:string": "item_ingredient_003", + "#Name": "햇빛당근" + }, + { + "Id:string": "item_ingredient_004", + "#Name": "꿈꾸는 해초" + }, + { + "Id:string": "item_ingredient_005", + "#Name": "미정" + }, + { + "Id:string": "item_ingredient_006", + "#Name": "토마토" + }, + { + "Id:string": "item_ingredient_007", + "#Name": "천일염" + }, + { + "Id:string": "item_ingredient_008", + "#Name": "눈물" + }, + { + "Id:string": "item_ingredient_009", + "#Name": "밀가루" + }, + { + "Id:string": "item_ingredient_010", + "#Name": "식초" + }, + { + "Id:string": "item_ingredient_011", + "#Name": "쫀징어" + }, + { + "Id:string": "item_ingredient_012", + "#Name": "치타닭 고기 " + }, + { + "Id:string": "item_ingredient_013", + "#Name": "비늘오리 고기" + }, + { + "Id:string": "item_ingredient_014", + "#Name": "뱀장어" + }, + { + "Id:string": "item_ingredient_015", + "#Name": "불꽃 고추" + }, + { + "Id:string": "item_ingredient_016", + "#Name": "유령상어" + }, + { + "Id:string": "item_ingredient_017", + "#Name": "유령새우" + }, + { + "Id:string": "item_ingredient_018", + "#Name": "비늘발고둥" + }, + { + "Id:string": "item_ingredient_019", + "#Name": "홍해파리" + }, + { + "Id:string": "item_ingredient_020", + "#Name": "미정" + }, + { + "Id:string": "item_ingredient_021", + "#Name": "탄산수" + }, + { + "Id:string": "item_ingredient_022", + "#Name": "위스키" + }, + { + "Id:string": "item_ingredient_023", + "#Name": "오렌지" + } + ], + "CookwareData": [ + { + "Id:string": "식별ID", + "#Name": "이름", + "CookwareType:Enum": "요리도구 타입" + }, + { + "Id:string": "item_environment_cookware_001", + "#Name": "냄비", + "CookwareType:Enum": "Pot" + }, + { + "Id:string": "item_environment_cookware_002", + "#Name": "튀김", + "CookwareType:Enum": "Fryer" + }, + { + "Id:string": "item_environment_cookware_003", + "#Name": "화로", + "CookwareType:Enum": "FirePit" + }, + { + "Id:string": "item_environment_cookware_004", + "#Name": "", + "CookwareType:Enum": "CuttingBoard" + }, + { + "Id:string": "item_environment_cookware_005", + "#Name": "", + "CookwareType:Enum": "Griddle" + }, + { + "Id:string": "item_environment_cookware_006", + "#Name": "", + "CookwareType:Enum": "MagicOven" + }, + { + "Id:string": "item_environment_cookware_007", + "#Name": "", + "CookwareType:Enum": "JuiceMachine" + }, + { + "Id:string": "item_environment_cookware_008", + "#Name": "", + "CookwareType:Enum": "Barrel" + } + ], + "TasteData": [ + { + "Id:string": "식별ID", + "#Name": "이름", + "TasteType:Enum": "맛 종류" + }, + { + "Id:string": "Sweet", + "#Name": "단맛", + "TasteType:Enum": "Sweet" + }, + { + "Id:string": "Warm", + "#Name": "따뜻한", + "TasteType:Enum": "Warm" + }, + { + "Id:string": "Vegetable", + "#Name": "채류", + "TasteType:Enum": "Vegetable" + }, + { + "Id:string": "Bitter", + "#Name": "쓴맛", + "TasteType:Enum": "Bitter" + }, + { + "Id:string": "Salty", + "#Name": "짠맛", + "TasteType:Enum": "Salty" + }, + { + "Id:string": "Mild", + "#Name": "담백한", + "TasteType:Enum": "Mild" + }, + { + "Id:string": "Addictive", + "#Name": "중독적인", + "TasteType:Enum": "Addictive" + }, + { + "Id:string": "Sour", + "#Name": "신맛", + "TasteType:Enum": "Sour" + }, + { + "Id:string": "Savory", + "#Name": "고소한", + "TasteType:Enum": "Savory" + }, + { + "Id:string": "Meat", + "#Name": "육류", + "TasteType:Enum": "Meat" + }, + { + "Id:string": "SuperHot", + "#Name": "핵불닭맛", + "TasteType:Enum": "SuperHot" + }, + { + "Id:string": "Fish", + "#Name": "어류", + "TasteType:Enum": "Fish" + }, + { + "Id:string": "NoneDegree", + "#Name": "도수가없는", + "TasteType:Enum": "NoneDegree" + }, + { + "Id:string": "Soda", + "#Name": "탄산", + "TasteType:Enum": "Soda" + }, + { + "Id:string": "LowDegree", + "#Name": "도수가낮은", + "TasteType:Enum": "LowDegree" + }, + { + "Id:string": "WoodFlavor", + "#Name": "나무향", + "TasteType:Enum": "WoodFlavor" + }, + { + "Id:string": "MiddleDegree", + "#Name": "도수가보통인", + "TasteType:Enum": "MiddleDegree" + }, + { + "Id:string": "FruitFlavor", + "#Name": "과일향", + "TasteType:Enum": "FruitFlavor" + } + ], + "EnvironmentData": [ + { + "Id": "식별번호", + "InteractionType:NativeEnum": "인터랙션타입", + "RendererType:Enum": "렌더러 타입", + "IsTrigger:int": "트리거 여부", + "SkeletonDataName:string": "스켈레톤 애니메이션 에셋 이름", + "SkinName:string": "스파인 스킨 이름", + "DefaultAnimationName:string": "", + "SpriteKey:string": "SpriteAtlas 키 값", + "Size:float": "유니티 내의 이미지 크기" + }, + { + "Id": "item_environment_001", + "InteractionType:NativeEnum": "None", + "RendererType:Enum": "Sprite", + "IsTrigger:int": 0, + "SkeletonDataName:string": "", + "SkinName:string": "", + "DefaultAnimationName:string": "", + "SpriteKey:string": "Barrel01", + "Size:float": 1 + }, + { + "Id": "item_environment_002", + "InteractionType:NativeEnum": "None", + "RendererType:Enum": "Spine", + "IsTrigger:int": 1, + "SkeletonDataName:string": "Coral_SkeletonData", + "SkinName:string": "Coral01", + "DefaultAnimationName:string": "Coral01/Idle", + "SpriteKey:string": "", + "Size:float": 1 + }, + { + "Id": "item_environment_003", + "InteractionType:NativeEnum": "None", + "RendererType:Enum": "Spine", + "IsTrigger:int": 1, + "SkeletonDataName:string": "Coral_SkeletonData", + "SkinName:string": "Coral02", + "DefaultAnimationName:string": "Coral02/Idle", + "SpriteKey:string": "", + "Size:float": 1 + }, + { + "Id": "item_environment_004", + "InteractionType:NativeEnum": "None", + "RendererType:Enum": "Spine", + "IsTrigger:int": 1, + "SkeletonDataName:string": "SummerGrass01_SkeletonData", + "SkinName:string": "default", + "DefaultAnimationName:string": "Normal", + "SpriteKey:string": "", + "Size:float": 0.3 + }, + { + "Id": "item_environment_005", + "InteractionType:NativeEnum": "RestaurantManagement", + "RendererType:Enum": "Spine", + "IsTrigger:int": 0, + "SkeletonDataName:string": "", + "SkinName:string": "", + "DefaultAnimationName:string": "", + "SpriteKey:string": "", + "Size:float": 1 + } + ] +} \ No newline at end of file diff --git a/Assets/_DDD/_ScriptAssets/Prefabs/GoogleSheetManager.prefab.meta b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-08-12 12-11-12 by 남태건.json.meta similarity index 62% rename from Assets/_DDD/_ScriptAssets/Prefabs/GoogleSheetManager.prefab.meta rename to Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-08-12 12-11-12 by 남태건.json.meta index 57f4fb14e..f8459d0a1 100644 --- a/Assets/_DDD/_ScriptAssets/Prefabs/GoogleSheetManager.prefab.meta +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-08-12 12-11-12 by 남태건.json.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 05aeb8078f8dc7c489b71a0ce5bc4fac -PrefabImporter: +guid: 60cda962236b3914b9ff1e63dd2c75cd +TextScriptImporter: externalObjects: {} userData: assetBundleName: diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-08-12 13-11-13 by 남태건.json b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-08-12 13-11-13 by 남태건.json new file mode 100644 index 000000000..1ab5b89f9 --- /dev/null +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-08-12 13-11-13 by 남태건.json @@ -0,0 +1,1759 @@ +{ + "$개요": [ + { + "": "Sweet" + }, + { + "": "Sour" + }, + { + "": "Bitter" + }, + { + "": "Salty" + }, + { + "": "SuperHot" + }, + { + "": "Savory" + }, + { + "": "Mild" + }, + { + "": "Warm" + }, + { + "": "Addictive" + }, + { + "": "Fish" + }, + { + "": "Vegetable" + }, + { + "": "Meat" + }, + { + "": "" + }, + { + "": "Soda" + }, + { + "": "MiddleDegree" + }, + { + "": "LowDegree" + }, + { + "": "NoneDegree" + }, + { + "": "WoodFlavor" + }, + { + "": "FruitFlavor" + } + ], + "Test": [ + { + "Id:string": "식별번호", + "CustomerLimitCount": "손님 최대 수", + "Customers:string": "등장 손님", + "Test": 2352, + "Tests": "" + }, + { + "Id:string": "customer_pool_001", + "CustomerLimitCount": 4, + "Customers:string": "customer_001", + "Test": 0, + "Tests": "테스트, 테스트2" + }, + { + "Id:string": "customer_pool_002", + "CustomerLimitCount": 7, + "Customers:string": "customer_001 | customer_002", + "Test": 3, + "Tests": "1 , 2" + }, + { + "Id:string": "customer_pool_003", + "CustomerLimitCount": 9, + "Customers:string": "customer_001 | customer_002 | customer_003", + "Test": 2, + "Tests": "5, 23,253" + }, + { + "Id:string": "customer_pool_004", + "CustomerLimitCount": 3, + "Customers:string": "customer_001", + "Test": "", + "Tests": "" + }, + { + "Id:string": "customer_pool_005", + "CustomerLimitCount": 3, + "Customers:string": "customer_001", + "Test": "", + "Tests": 435 + }, + { + "Id:string": "customer_pool_006", + "CustomerLimitCount": 3, + "Customers:string": "customer_001", + "Test": "", + "Tests": "" + }, + { + "Id:string": "special_customer_pool_001", + "CustomerLimitCount": 1, + "Customers:string": "special_customer_001", + "Test": "", + "Tests": "111|234" + } + ], + "Test_view": [ + { + "Id:string": "식별번호", + "CustomerLimitCount": "손님 최대 수", + "Customers1": "등장 손님1", + "Customers2": "등장 손님2", + "Customers3": "등장 손님3", + "Customers4": "등장 손님4", + "Customers5": "등장 손님5", + "Customers6": "등장 손님6", + "Test": 2352, + "Tests1": "Tests1", + "Tests2": "Tests2", + "Tests3": "Tests3" + }, + { + "Id:string": "customer_pool_001", + "CustomerLimitCount": 4, + "Customers1": "customer_001", + "Customers2": "", + "Customers3": "", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": 0, + "Tests1": "테스트", + "Tests2": "테스트2", + "Tests3": "" + }, + { + "Id:string": "customer_pool_002", + "CustomerLimitCount": 7, + "Customers1": "customer_001", + "Customers2": "customer_002", + "Customers3": "", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": 3, + "Tests1": 1, + "Tests2": 2, + "Tests3": "" + }, + { + "Id:string": "customer_pool_003", + "CustomerLimitCount": 9, + "Customers1": "customer_001", + "Customers2": "customer_002", + "Customers3": "customer_003", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": 2, + "Tests1": 5, + "Tests2": 23, + "Tests3": 253 + }, + { + "Id:string": "customer_pool_004", + "CustomerLimitCount": 3, + "Customers1": "customer_001", + "Customers2": "", + "Customers3": "", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": "", + "Tests1": "", + "Tests2": "", + "Tests3": "" + }, + { + "Id:string": "customer_pool_005", + "CustomerLimitCount": 3, + "Customers1": "customer_001", + "Customers2": "", + "Customers3": "", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": "", + "Tests1": 435, + "Tests2": "", + "Tests3": "" + }, + { + "Id:string": "customer_pool_006", + "CustomerLimitCount": 3, + "Customers1": "customer_001", + "Customers2": "", + "Customers3": "", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": "", + "Tests1": "", + "Tests2": "", + "Tests3": "" + }, + { + "Id:string": "special_customer_pool_001", + "CustomerLimitCount": 1, + "Customers1": "special_customer_001", + "Customers2": "", + "Customers3": "", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": "", + "Tests1": 111, + "Tests2": 234, + "Tests3": "" + } + ], + "LevelData": [ + { + "Id:string": "식별번호", + "Area:string": "등장 지역", + "CustomerPool:string": "일반 손님 풀", + "SpecialCustomerPool:string": "스페셜 손님 풀", + "FixSpecialCustomerCount": "확정 스페셜 손님 수", + "AddSpecialCustomerCount": "추가 스페셜 손님 확률", + "CustomerRespawnTime": "손님 리스폰 시간", + "Exp": "손님 1명당 경험치", + "OrderTime": "주문 대기 인내심 카운트 시간", + "WaitTime": "주문 인내심 카운트 시간", + "EatingTime": "식사 소요시간" + }, + { + "Id:string": "Level001", + "Area:string": "Area1", + "CustomerPool:string": "customer_pool_001", + "SpecialCustomerPool:string": "", + "FixSpecialCustomerCount": 0, + "AddSpecialCustomerCount": 0, + "CustomerRespawnTime": 6, + "Exp": 13, + "OrderTime": 30, + "WaitTime": 60, + "EatingTime": 6 + }, + { + "Id:string": "Level002", + "Area:string": "Area1", + "CustomerPool:string": "customer_pool_002", + "SpecialCustomerPool:string": "special_customer_pool_001", + "FixSpecialCustomerCount": 1, + "AddSpecialCustomerCount": 10, + "CustomerRespawnTime": 6, + "Exp": 13, + "OrderTime": 30, + "WaitTime": 60, + "EatingTime": 6 + }, + { + "Id:string": "Level003", + "Area:string": "Area1", + "CustomerPool:string": "customer_pool_003", + "SpecialCustomerPool:string": "special_customer_pool_001", + "FixSpecialCustomerCount": 2, + "AddSpecialCustomerCount": 30, + "CustomerRespawnTime": 6, + "Exp": 13, + "OrderTime": 30, + "WaitTime": 60, + "EatingTime": 6 + }, + { + "Id:string": "Level004", + "Area:string": "Area2", + "CustomerPool:string": "customer_pool_004", + "SpecialCustomerPool:string": "special_customer_pool_001", + "FixSpecialCustomerCount": 3, + "AddSpecialCustomerCount": 50, + "CustomerRespawnTime": 6, + "Exp": 13, + "OrderTime": 30, + "WaitTime": 60, + "EatingTime": 6 + }, + { + "Id:string": "Level005", + "Area:string": "Area2", + "CustomerPool:string": "customer_pool_005", + "SpecialCustomerPool:string": "special_customer_pool_001", + "FixSpecialCustomerCount": 3, + "AddSpecialCustomerCount": 50, + "CustomerRespawnTime": 6, + "Exp": 13, + "OrderTime": 30, + "WaitTime": 60, + "EatingTime": 6 + }, + { + "Id:string": "Level006", + "Area:string": "Area2", + "CustomerPool:string": "customer_pool_006", + "SpecialCustomerPool:string": "special_customer_pool_001", + "FixSpecialCustomerCount": 3, + "AddSpecialCustomerCount": 50, + "CustomerRespawnTime": 6, + "Exp": 13, + "OrderTime": 30, + "WaitTime": 60, + "EatingTime": 6 + } + ], + "CustomerData": [ + { + "Id:string": "식별번호", + "CustomerType:NativeEnum": "손님 타입", + "#Name": "이름", + "SpineSkinKey": "스파인 스킨 키 값", + "FavoriteTastes": "선호 맛들" + }, + { + "Id:string": "customer_001", + "CustomerType:NativeEnum": "Normal", + "#Name": "유령1", + "SpineSkinKey": "", + "FavoriteTastes": "" + }, + { + "Id:string": "customer_002", + "CustomerType:NativeEnum": "Normal", + "#Name": "유령2", + "SpineSkinKey": "", + "FavoriteTastes": "" + }, + { + "Id:string": "customer_003", + "CustomerType:NativeEnum": "Normal", + "#Name": "유령3", + "SpineSkinKey": "", + "FavoriteTastes": "" + }, + { + "Id:string": "special_customer_001", + "CustomerType:NativeEnum": "Special", + "#Name": "차이", + "SpineSkinKey": "", + "FavoriteTastes": "" + } + ], + "CustomerPoolData": [ + { + "Id:string": "식별번호", + "CustomerLimitCount": "손님 최대 수", + "Customers:string": "등장 손님들" + }, + { + "Id:string": "customer_pool_001", + "CustomerLimitCount": 4, + "Customers:string": "customer_001" + }, + { + "Id:string": "customer_pool_002", + "CustomerLimitCount": 7, + "Customers:string": "customer_001, customer_002" + }, + { + "Id:string": "customer_pool_003", + "CustomerLimitCount": 9, + "Customers:string": "customer_001, customer_002, customer_003" + }, + { + "Id:string": "customer_pool_004", + "CustomerLimitCount": 3, + "Customers:string": "customer_001" + }, + { + "Id:string": "customer_pool_005", + "CustomerLimitCount": 3, + "Customers:string": "customer_001" + }, + { + "Id:string": "customer_pool_006", + "CustomerLimitCount": 3, + "Customers:string": "customer_001" + }, + { + "Id:string": "special_customer_pool_001", + "CustomerLimitCount": 1, + "Customers:string": "special_customer_001" + } + ], + "ItemData": [ + { + "Id": "식별번호", + "ItemType:NativeEnum": "아이템타입1" + }, + { + "Id": "item_food_001", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_002", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_003", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_004", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_005", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_006", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_007", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_008", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_009", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_010", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_011", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_012", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_013", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_014", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_015", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_016", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_017", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_018", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_019", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_020", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_ingredient_001", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_002", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_003", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_004", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_005", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_006", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_007", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_008", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_009", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_010", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_011", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_012", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_013", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_014", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_015", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_016", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_017", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_018", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_019", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_020", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_021", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_022", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_023", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_environment_001", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_002", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_003", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_004", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_005", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_cookware_001", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_cookware_002", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_cookware_003", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_cookware_004", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_cookware_005", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_cookware_006", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_cookware_007", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_cookware_008", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_drink_001", + "ItemType:NativeEnum": "Drink" + }, + { + "Id": "item_drink_002", + "ItemType:NativeEnum": "Drink" + }, + { + "Id": "item_drink_003", + "ItemType:NativeEnum": "Drink" + }, + { + "Id": "item_drink_004", + "ItemType:NativeEnum": "Drink" + }, + { + "Id": "item_food_recipe_001", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_002", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_003", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_004", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_005", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_006", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_007", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_008", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_009", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_010", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_011", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_012", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_013", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_014", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_015", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_016", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_017", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_018", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_019", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_020", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_drink_recipe_001", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_drink_recipe_002", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_drink_recipe_003", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_drink_recipe_004", + "ItemType:NativeEnum": "Recipe" + } + ], + "RecipeData": [ + { + "Id:string": "식별ID", + "#Name": "이름", + "RecipeType:NativeEnum": "레시피타입", + "RecipeResult:string": "완성 메뉴" + }, + { + "Id:string": "item_food_recipe_001", + "#Name": "블루 스튜 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_001" + }, + { + "Id:string": "item_food_recipe_002", + "#Name": "햇빛 스튜 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_002" + }, + { + "Id:string": "item_food_recipe_003", + "#Name": "심해기억 스튜 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_003" + }, + { + "Id:string": "item_food_recipe_004", + "#Name": "치킨 굴라쉬 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_004" + }, + { + "Id:string": "item_food_recipe_005", + "#Name": "꿈해초 크로켓 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_005" + }, + { + "Id:string": "item_food_recipe_006", + "#Name": "선라이즈 당근카츠 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_006" + }, + { + "Id:string": "item_food_recipe_007", + "#Name": "미정", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_007" + }, + { + "Id:string": "item_food_recipe_008", + "#Name": "비늘치킨덕 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_008" + }, + { + "Id:string": "item_food_recipe_009", + "#Name": "화룡장어 구이 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_009" + }, + { + "Id:string": "item_food_recipe_010", + "#Name": "미정", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_010" + }, + { + "Id:string": "item_food_recipe_011", + "#Name": "바다의선물 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_011" + }, + { + "Id:string": "item_food_recipe_012", + "#Name": "유령새우회 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_012" + }, + { + "Id:string": "item_food_recipe_013", + "#Name": "비늘초무침 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_013" + }, + { + "Id:string": "item_food_recipe_014", + "#Name": "쫀징어 냉채 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_014" + }, + { + "Id:string": "item_food_recipe_015", + "#Name": "쫀징어링 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_015" + }, + { + "Id:string": "item_food_recipe_016", + "#Name": "꿈해파리 볶음 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_016" + }, + { + "Id:string": "item_food_recipe_017", + "#Name": "페퍼포칼립스 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_017" + }, + { + "Id:string": "item_food_recipe_018", + "#Name": "미정", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_018" + }, + { + "Id:string": "item_food_recipe_019", + "#Name": "미정", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_019" + }, + { + "Id:string": "item_food_recipe_020", + "#Name": "미정", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_020" + }, + { + "Id:string": "item_drink_recipe_001", + "#Name": "토마토 주스 레시피", + "RecipeType:NativeEnum": "DrinkRecipe", + "RecipeResult:string": "item_drink_001" + }, + { + "Id:string": "item_drink_recipe_002", + "#Name": "오렌지 주스 레시피", + "RecipeType:NativeEnum": "DrinkRecipe", + "RecipeResult:string": "item_drink_002" + }, + { + "Id:string": "item_drink_recipe_003", + "#Name": "여신의눈물 레시피", + "RecipeType:NativeEnum": "DrinkRecipe", + "RecipeResult:string": "item_drink_003" + }, + { + "Id:string": "item_drink_recipe_004", + "#Name": "라벨블루 레시피", + "RecipeType:NativeEnum": "DrinkRecipe", + "RecipeResult:string": "item_drink_004" + } + ], + "FoodData": [ + { + "Id:string": "식별ID", + "#Name": "이름", + "CookwareKey:string": "요리도구 키 값", + "CookTime:int": "요리시간", + "Price:int": "요리가격", + "IngredientKey1:string": "재료1", + "IngredientAmount1:string": "재료1 갯수", + "IngredientKey2:string": "재료2", + "IngredientAmount2:string": "재료2 갯수", + "IngredientKey3:string": "재료3", + "IngredientAmount3:string": "재료3 갯수", + "IngredientKey4:string": "재료4", + "IngredientAmount4:string": "재료4 갯수", + "TasteKey1:string": "맛 키1", + "TasteKey2:string": "맛 키2", + "TasteKey3:string": "맛 키3", + "TasteKey4:string": "맛 키4", + "TasteKey5:string": "맛 키5", + "TasteKey6:string": "맛 키6" + }, + { + "Id:string": "item_food_001", + "#Name": "블루 스튜", + "CookwareKey:string": "item_environment_cookware_001", + "CookTime:int": 7, + "Price:int": 10, + "IngredientKey1:string": "item_ingredient_001", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_002", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sweet", + "TasteKey2:string": "Warm", + "TasteKey3:string": "Vegetable", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_002", + "#Name": "햇빛 스튜", + "CookwareKey:string": "item_environment_cookware_001", + "CookTime:int": 7, + "Price:int": 20, + "IngredientKey1:string": "item_ingredient_002", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_003", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sweet", + "TasteKey2:string": "Bitter", + "TasteKey3:string": "Warm", + "TasteKey4:string": "Vegetable", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_003", + "#Name": "심해기억 스튜", + "CookwareKey:string": "item_environment_cookware_001", + "CookTime:int": 7, + "Price:int": 15, + "IngredientKey1:string": "item_ingredient_002", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_004", + "IngredientAmount2:string": 2, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Salty", + "TasteKey2:string": "Mild", + "TasteKey3:string": "Vegetable", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_004", + "#Name": "치킨 굴라쉬", + "CookwareKey:string": "item_environment_cookware_001", + "CookTime:int": 10, + "Price:int": 30, + "IngredientKey1:string": "item_ingredient_005", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_006", + "IngredientAmount2:string": 2, + "IngredientKey3:string": "item_ingredient_007", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Salty", + "TasteKey2:string": "Sweet", + "TasteKey3:string": "Addictive", + "TasteKey4:string": "Vegetable", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_005", + "#Name": "꿈해초 크로켓", + "CookwareKey:string": "item_environment_cookware_002", + "CookTime:int": 5, + "Price:int": 20, + "IngredientKey1:string": "item_ingredient_007", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_008", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_009", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sour", + "TasteKey2:string": "Salty", + "TasteKey3:string": "Mild", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_006", + "#Name": "선라이즈 당근카츠", + "CookwareKey:string": "item_environment_cookware_002", + "CookTime:int": 5, + "Price:int": 30, + "IngredientKey1:string": "item_ingredient_003", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_007", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_009", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "item_ingredient_010", + "IngredientAmount4:string": 1, + "TasteKey1:string": "Sweet", + "TasteKey2:string": "Sour", + "TasteKey3:string": "Warm", + "TasteKey4:string": "Savory", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_007", + "#Name": "미정", + "CookwareKey:string": "item_environment_cookware_002", + "CookTime:int": 5, + "Price:int": 30, + "IngredientKey1:string": "item_ingredient_011", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_008", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "", + "TasteKey2:string": "", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_008", + "#Name": "비늘치킨덕", + "CookwareKey:string": "item_environment_cookware_003", + "CookTime:int": 6, + "Price:int": 30, + "IngredientKey1:string": "item_ingredient_012", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_013", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_007", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Salty", + "TasteKey2:string": "Mild", + "TasteKey3:string": "Addictive", + "TasteKey4:string": "Meat", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_009", + "#Name": "화룡장어 구이", + "CookwareKey:string": "item_environment_cookware_003", + "CookTime:int": 6, + "Price:int": 15, + "IngredientKey1:string": "item_ingredient_014", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_015", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sweet", + "TasteKey2:string": "Mild", + "TasteKey3:string": "SuperHot", + "TasteKey4:string": "Fish", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_010", + "#Name": "미정", + "CookwareKey:string": "item_environment_cookware_003", + "CookTime:int": 6, + "Price:int": 30, + "IngredientKey1:string": "item_ingredient_016", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_008", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "", + "TasteKey2:string": "", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_011", + "#Name": "바다의선물", + "CookwareKey:string": "item_environment_cookware_004", + "CookTime:int": 5, + "Price:int": 10, + "IngredientKey1:string": "item_ingredient_002", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_003", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sweet", + "TasteKey2:string": "Mild", + "TasteKey3:string": "Vegetable", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_012", + "#Name": "유령새우회", + "CookwareKey:string": "item_environment_cookware_004", + "CookTime:int": 5, + "Price:int": 25, + "IngredientKey1:string": "item_ingredient_017", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_007", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_004", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sweet", + "TasteKey2:string": "Salty", + "TasteKey3:string": "Addictive", + "TasteKey4:string": "Fish", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_013", + "#Name": "비늘초무침", + "CookwareKey:string": "item_environment_cookware_004", + "CookTime:int": 5, + "Price:int": 45, + "IngredientKey1:string": "item_ingredient_018", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_003", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_007", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "item_ingredient_010", + "IngredientAmount4:string": 2, + "TasteKey1:string": "Salty", + "TasteKey2:string": "Sour", + "TasteKey3:string": "Mild", + "TasteKey4:string": "Vegetable", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_014", + "#Name": "쫀징어 냉채", + "CookwareKey:string": "item_environment_cookware_004", + "CookTime:int": 5, + "Price:int": 15, + "IngredientKey1:string": "item_ingredient_011", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_003", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Salty", + "TasteKey2:string": "Vegetable", + "TasteKey3:string": "Fish", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_015", + "#Name": "쫀징어링", + "CookwareKey:string": "item_environment_cookware_005", + "CookTime:int": 8, + "Price:int": 25, + "IngredientKey1:string": "item_ingredient_011", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_007", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_015", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Salty", + "TasteKey2:string": "Sour", + "TasteKey3:string": "SuperHot", + "TasteKey4:string": "Fish", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_016", + "#Name": "꿈해파리 볶음", + "CookwareKey:string": "item_environment_cookware_005", + "CookTime:int": 6, + "Price:int": 15, + "IngredientKey1:string": "item_ingredient_019", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_004", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Salty", + "TasteKey2:string": "Sweet", + "TasteKey3:string": "Sour", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_017", + "#Name": "페퍼포칼립스", + "CookwareKey:string": "item_environment_cookware_005", + "CookTime:int": 6, + "Price:int": 25, + "IngredientKey1:string": "item_ingredient_012", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_015", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_008", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sweet", + "TasteKey2:string": "SuperHot", + "TasteKey3:string": "Meat", + "TasteKey4:string": "Vegetable", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_018", + "#Name": "미정", + "CookwareKey:string": "item_environment_cookware_006", + "CookTime:int": 0, + "Price:int": 0, + "IngredientKey1:string": "", + "IngredientAmount1:string": "", + "IngredientKey2:string": "", + "IngredientAmount2:string": "", + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "", + "TasteKey2:string": "", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_019", + "#Name": "미정", + "CookwareKey:string": "item_environment_cookware_006", + "CookTime:int": 0, + "Price:int": 0, + "IngredientKey1:string": "", + "IngredientAmount1:string": "", + "IngredientKey2:string": "", + "IngredientAmount2:string": "", + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "", + "TasteKey2:string": "", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_020", + "#Name": "미정", + "CookwareKey:string": "item_environment_cookware_006", + "CookTime:int": 0, + "Price:int": 0, + "IngredientKey1:string": "", + "IngredientAmount1:string": "", + "IngredientKey2:string": "", + "IngredientAmount2:string": "", + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "", + "TasteKey2:string": "", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + } + ], + "DrinkData": [ + { + "Id:string": "식별ID", + "#Name": "이름", + "CookwareKey:string": "요리도구 키 값", + "CookTime:int": "요리시간", + "Price:int": "요리가격", + "IngredientKey1:string": "재료1", + "IngredientAmount1:string": "재료1 갯수", + "IngredientKey2:string": "재료2", + "IngredientAmount2:string": "재료2 갯수", + "IngredientKey3:string": "재료3", + "IngredientAmount3:string": "재료3 갯수", + "IngredientKey4:string": "재료4", + "IngredientAmount4:string": "재료4 갯수", + "TasteKey1:string": "맛 키1", + "TasteKey2:string": "맛 키2", + "TasteKey3:string": "맛 키3", + "TasteKey4:string": "맛 키4", + "TasteKey5:string": "맛 키5", + "TasteKey6:string": "맛 키6" + }, + { + "Id:string": "item_drink_001", + "#Name": "토마토 주스", + "CookwareKey:string": "item_environment_cookware_007", + "CookTime:int": 1, + "Price:int": 10, + "IngredientKey1:string": "item_ingredient_006", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_021", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "NoneDegree", + "TasteKey2:string": "Soda", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_drink_002", + "#Name": "오렌지 주스", + "CookwareKey:string": "item_environment_cookware_007", + "CookTime:int": 1, + "Price:int": 10, + "IngredientKey1:string": "item_ingredient_023", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_021", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "NoneDegree", + "TasteKey2:string": "Sour", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_drink_003", + "#Name": "여신의눈물", + "CookwareKey:string": "item_environment_cookware_008", + "CookTime:int": 3, + "Price:int": 10, + "IngredientKey1:string": "item_ingredient_008", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_022", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "LowDegree", + "TasteKey2:string": "WoodFlavor", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_drink_004", + "#Name": "라벨블루", + "CookwareKey:string": "item_environment_cookware_008", + "CookTime:int": 3, + "Price:int": 10, + "IngredientKey1:string": "item_ingredient_002", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_022", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "MiddleDegree", + "TasteKey2:string": "FruitFlavor", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + } + ], + "IngredientData": [ + { + "Id:string": "식별ID", + "#Name": "이름" + }, + { + "Id:string": "item_ingredient_001", + "#Name": "극락쌀" + }, + { + "Id:string": "item_ingredient_002", + "#Name": "블루애플" + }, + { + "Id:string": "item_ingredient_003", + "#Name": "햇빛당근" + }, + { + "Id:string": "item_ingredient_004", + "#Name": "꿈꾸는 해초" + }, + { + "Id:string": "item_ingredient_005", + "#Name": "미정" + }, + { + "Id:string": "item_ingredient_006", + "#Name": "토마토" + }, + { + "Id:string": "item_ingredient_007", + "#Name": "천일염" + }, + { + "Id:string": "item_ingredient_008", + "#Name": "눈물" + }, + { + "Id:string": "item_ingredient_009", + "#Name": "밀가루" + }, + { + "Id:string": "item_ingredient_010", + "#Name": "식초" + }, + { + "Id:string": "item_ingredient_011", + "#Name": "쫀징어" + }, + { + "Id:string": "item_ingredient_012", + "#Name": "치타닭 고기 " + }, + { + "Id:string": "item_ingredient_013", + "#Name": "비늘오리 고기" + }, + { + "Id:string": "item_ingredient_014", + "#Name": "뱀장어" + }, + { + "Id:string": "item_ingredient_015", + "#Name": "불꽃 고추" + }, + { + "Id:string": "item_ingredient_016", + "#Name": "유령상어" + }, + { + "Id:string": "item_ingredient_017", + "#Name": "유령새우" + }, + { + "Id:string": "item_ingredient_018", + "#Name": "비늘발고둥" + }, + { + "Id:string": "item_ingredient_019", + "#Name": "홍해파리" + }, + { + "Id:string": "item_ingredient_020", + "#Name": "미정" + }, + { + "Id:string": "item_ingredient_021", + "#Name": "탄산수" + }, + { + "Id:string": "item_ingredient_022", + "#Name": "위스키" + }, + { + "Id:string": "item_ingredient_023", + "#Name": "오렌지" + } + ], + "CookwareData": [ + { + "Id:string": "식별ID", + "#Name": "이름", + "CookwareType:NativeEnum": "요리도구 타입" + }, + { + "Id:string": "item_environment_cookware_001", + "#Name": "냄비", + "CookwareType:NativeEnum": "Pot" + }, + { + "Id:string": "item_environment_cookware_002", + "#Name": "튀김", + "CookwareType:NativeEnum": "Fryer" + }, + { + "Id:string": "item_environment_cookware_003", + "#Name": "화로", + "CookwareType:NativeEnum": "FirePit" + }, + { + "Id:string": "item_environment_cookware_004", + "#Name": "", + "CookwareType:NativeEnum": "CuttingBoard" + }, + { + "Id:string": "item_environment_cookware_005", + "#Name": "", + "CookwareType:NativeEnum": "Griddle" + }, + { + "Id:string": "item_environment_cookware_006", + "#Name": "", + "CookwareType:NativeEnum": "MagicOven" + }, + { + "Id:string": "item_environment_cookware_007", + "#Name": "", + "CookwareType:NativeEnum": "JuiceMachine" + }, + { + "Id:string": "item_environment_cookware_008", + "#Name": "", + "CookwareType:NativeEnum": "Barrel" + } + ], + "TasteData": [ + { + "Id:string": "식별ID", + "#Name": "이름", + "TasteType:NativeEnum": "맛 종류" + }, + { + "Id:string": "Sweet", + "#Name": "단맛", + "TasteType:NativeEnum": "Sweet" + }, + { + "Id:string": "Warm", + "#Name": "따뜻한", + "TasteType:NativeEnum": "Warm" + }, + { + "Id:string": "Vegetable", + "#Name": "채류", + "TasteType:NativeEnum": "Vegetable" + }, + { + "Id:string": "Bitter", + "#Name": "쓴맛", + "TasteType:NativeEnum": "Bitter" + }, + { + "Id:string": "Salty", + "#Name": "짠맛", + "TasteType:NativeEnum": "Salty" + }, + { + "Id:string": "Mild", + "#Name": "담백한", + "TasteType:NativeEnum": "Mild" + }, + { + "Id:string": "Addictive", + "#Name": "중독적인", + "TasteType:NativeEnum": "Addictive" + }, + { + "Id:string": "Sour", + "#Name": "신맛", + "TasteType:NativeEnum": "Sour" + }, + { + "Id:string": "Savory", + "#Name": "고소한", + "TasteType:NativeEnum": "Savory" + }, + { + "Id:string": "Meat", + "#Name": "육류", + "TasteType:NativeEnum": "Meat" + }, + { + "Id:string": "SuperHot", + "#Name": "핵불닭맛", + "TasteType:NativeEnum": "SuperHot" + }, + { + "Id:string": "Fish", + "#Name": "어류", + "TasteType:NativeEnum": "Fish" + }, + { + "Id:string": "NoneDegree", + "#Name": "도수가없는", + "TasteType:NativeEnum": "NoneDegree" + }, + { + "Id:string": "Soda", + "#Name": "탄산", + "TasteType:NativeEnum": "Soda" + }, + { + "Id:string": "LowDegree", + "#Name": "도수가낮은", + "TasteType:NativeEnum": "LowDegree" + }, + { + "Id:string": "WoodFlavor", + "#Name": "나무향", + "TasteType:NativeEnum": "WoodFlavor" + }, + { + "Id:string": "MiddleDegree", + "#Name": "도수가보통인", + "TasteType:NativeEnum": "MiddleDegree" + }, + { + "Id:string": "FruitFlavor", + "#Name": "과일향", + "TasteType:NativeEnum": "FruitFlavor" + } + ], + "EnvironmentData": [ + { + "Id": "식별번호", + "InteractionType:NativeEnum": "인터랙션타입", + "RendererType:Enum": "렌더러 타입", + "IsTrigger:int": "트리거 여부", + "SkeletonDataName:string": "스켈레톤 애니메이션 에셋 이름", + "SkinName:string": "스파인 스킨 이름", + "DefaultAnimationName:string": "", + "SpriteKey:string": "SpriteAtlas 키 값", + "Size:float": "유니티 내의 이미지 크기" + }, + { + "Id": "item_environment_001", + "InteractionType:NativeEnum": "None", + "RendererType:Enum": "Sprite", + "IsTrigger:int": 0, + "SkeletonDataName:string": "", + "SkinName:string": "", + "DefaultAnimationName:string": "", + "SpriteKey:string": "Barrel01", + "Size:float": 1 + }, + { + "Id": "item_environment_002", + "InteractionType:NativeEnum": "None", + "RendererType:Enum": "Spine", + "IsTrigger:int": 1, + "SkeletonDataName:string": "Coral_SkeletonData", + "SkinName:string": "Coral01", + "DefaultAnimationName:string": "Coral01/Idle", + "SpriteKey:string": "", + "Size:float": 1 + }, + { + "Id": "item_environment_003", + "InteractionType:NativeEnum": "None", + "RendererType:Enum": "Spine", + "IsTrigger:int": 1, + "SkeletonDataName:string": "Coral_SkeletonData", + "SkinName:string": "Coral02", + "DefaultAnimationName:string": "Coral02/Idle", + "SpriteKey:string": "", + "Size:float": 1 + }, + { + "Id": "item_environment_004", + "InteractionType:NativeEnum": "None", + "RendererType:Enum": "Spine", + "IsTrigger:int": 1, + "SkeletonDataName:string": "SummerGrass01_SkeletonData", + "SkinName:string": "default", + "DefaultAnimationName:string": "Normal", + "SpriteKey:string": "", + "Size:float": 0.3 + }, + { + "Id": "item_environment_005", + "InteractionType:NativeEnum": "RestaurantManagement", + "RendererType:Enum": "Spine", + "IsTrigger:int": 0, + "SkeletonDataName:string": "", + "SkinName:string": "", + "DefaultAnimationName:string": "", + "SpriteKey:string": "", + "Size:float": 1 + } + ] +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-08-12 13-11-13 by 남태건.json.meta b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-08-12 13-11-13 by 남태건.json.meta new file mode 100644 index 000000000..31c1deab9 --- /dev/null +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-08-12 13-11-13 by 남태건.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 21d0d76d7f889ce45b40db20dddf3851 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-08-12 13-23-34 by 남태건.json b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-08-12 13-23-34 by 남태건.json new file mode 100644 index 000000000..1ab5b89f9 --- /dev/null +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-08-12 13-23-34 by 남태건.json @@ -0,0 +1,1759 @@ +{ + "$개요": [ + { + "": "Sweet" + }, + { + "": "Sour" + }, + { + "": "Bitter" + }, + { + "": "Salty" + }, + { + "": "SuperHot" + }, + { + "": "Savory" + }, + { + "": "Mild" + }, + { + "": "Warm" + }, + { + "": "Addictive" + }, + { + "": "Fish" + }, + { + "": "Vegetable" + }, + { + "": "Meat" + }, + { + "": "" + }, + { + "": "Soda" + }, + { + "": "MiddleDegree" + }, + { + "": "LowDegree" + }, + { + "": "NoneDegree" + }, + { + "": "WoodFlavor" + }, + { + "": "FruitFlavor" + } + ], + "Test": [ + { + "Id:string": "식별번호", + "CustomerLimitCount": "손님 최대 수", + "Customers:string": "등장 손님", + "Test": 2352, + "Tests": "" + }, + { + "Id:string": "customer_pool_001", + "CustomerLimitCount": 4, + "Customers:string": "customer_001", + "Test": 0, + "Tests": "테스트, 테스트2" + }, + { + "Id:string": "customer_pool_002", + "CustomerLimitCount": 7, + "Customers:string": "customer_001 | customer_002", + "Test": 3, + "Tests": "1 , 2" + }, + { + "Id:string": "customer_pool_003", + "CustomerLimitCount": 9, + "Customers:string": "customer_001 | customer_002 | customer_003", + "Test": 2, + "Tests": "5, 23,253" + }, + { + "Id:string": "customer_pool_004", + "CustomerLimitCount": 3, + "Customers:string": "customer_001", + "Test": "", + "Tests": "" + }, + { + "Id:string": "customer_pool_005", + "CustomerLimitCount": 3, + "Customers:string": "customer_001", + "Test": "", + "Tests": 435 + }, + { + "Id:string": "customer_pool_006", + "CustomerLimitCount": 3, + "Customers:string": "customer_001", + "Test": "", + "Tests": "" + }, + { + "Id:string": "special_customer_pool_001", + "CustomerLimitCount": 1, + "Customers:string": "special_customer_001", + "Test": "", + "Tests": "111|234" + } + ], + "Test_view": [ + { + "Id:string": "식별번호", + "CustomerLimitCount": "손님 최대 수", + "Customers1": "등장 손님1", + "Customers2": "등장 손님2", + "Customers3": "등장 손님3", + "Customers4": "등장 손님4", + "Customers5": "등장 손님5", + "Customers6": "등장 손님6", + "Test": 2352, + "Tests1": "Tests1", + "Tests2": "Tests2", + "Tests3": "Tests3" + }, + { + "Id:string": "customer_pool_001", + "CustomerLimitCount": 4, + "Customers1": "customer_001", + "Customers2": "", + "Customers3": "", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": 0, + "Tests1": "테스트", + "Tests2": "테스트2", + "Tests3": "" + }, + { + "Id:string": "customer_pool_002", + "CustomerLimitCount": 7, + "Customers1": "customer_001", + "Customers2": "customer_002", + "Customers3": "", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": 3, + "Tests1": 1, + "Tests2": 2, + "Tests3": "" + }, + { + "Id:string": "customer_pool_003", + "CustomerLimitCount": 9, + "Customers1": "customer_001", + "Customers2": "customer_002", + "Customers3": "customer_003", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": 2, + "Tests1": 5, + "Tests2": 23, + "Tests3": 253 + }, + { + "Id:string": "customer_pool_004", + "CustomerLimitCount": 3, + "Customers1": "customer_001", + "Customers2": "", + "Customers3": "", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": "", + "Tests1": "", + "Tests2": "", + "Tests3": "" + }, + { + "Id:string": "customer_pool_005", + "CustomerLimitCount": 3, + "Customers1": "customer_001", + "Customers2": "", + "Customers3": "", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": "", + "Tests1": 435, + "Tests2": "", + "Tests3": "" + }, + { + "Id:string": "customer_pool_006", + "CustomerLimitCount": 3, + "Customers1": "customer_001", + "Customers2": "", + "Customers3": "", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": "", + "Tests1": "", + "Tests2": "", + "Tests3": "" + }, + { + "Id:string": "special_customer_pool_001", + "CustomerLimitCount": 1, + "Customers1": "special_customer_001", + "Customers2": "", + "Customers3": "", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": "", + "Tests1": 111, + "Tests2": 234, + "Tests3": "" + } + ], + "LevelData": [ + { + "Id:string": "식별번호", + "Area:string": "등장 지역", + "CustomerPool:string": "일반 손님 풀", + "SpecialCustomerPool:string": "스페셜 손님 풀", + "FixSpecialCustomerCount": "확정 스페셜 손님 수", + "AddSpecialCustomerCount": "추가 스페셜 손님 확률", + "CustomerRespawnTime": "손님 리스폰 시간", + "Exp": "손님 1명당 경험치", + "OrderTime": "주문 대기 인내심 카운트 시간", + "WaitTime": "주문 인내심 카운트 시간", + "EatingTime": "식사 소요시간" + }, + { + "Id:string": "Level001", + "Area:string": "Area1", + "CustomerPool:string": "customer_pool_001", + "SpecialCustomerPool:string": "", + "FixSpecialCustomerCount": 0, + "AddSpecialCustomerCount": 0, + "CustomerRespawnTime": 6, + "Exp": 13, + "OrderTime": 30, + "WaitTime": 60, + "EatingTime": 6 + }, + { + "Id:string": "Level002", + "Area:string": "Area1", + "CustomerPool:string": "customer_pool_002", + "SpecialCustomerPool:string": "special_customer_pool_001", + "FixSpecialCustomerCount": 1, + "AddSpecialCustomerCount": 10, + "CustomerRespawnTime": 6, + "Exp": 13, + "OrderTime": 30, + "WaitTime": 60, + "EatingTime": 6 + }, + { + "Id:string": "Level003", + "Area:string": "Area1", + "CustomerPool:string": "customer_pool_003", + "SpecialCustomerPool:string": "special_customer_pool_001", + "FixSpecialCustomerCount": 2, + "AddSpecialCustomerCount": 30, + "CustomerRespawnTime": 6, + "Exp": 13, + "OrderTime": 30, + "WaitTime": 60, + "EatingTime": 6 + }, + { + "Id:string": "Level004", + "Area:string": "Area2", + "CustomerPool:string": "customer_pool_004", + "SpecialCustomerPool:string": "special_customer_pool_001", + "FixSpecialCustomerCount": 3, + "AddSpecialCustomerCount": 50, + "CustomerRespawnTime": 6, + "Exp": 13, + "OrderTime": 30, + "WaitTime": 60, + "EatingTime": 6 + }, + { + "Id:string": "Level005", + "Area:string": "Area2", + "CustomerPool:string": "customer_pool_005", + "SpecialCustomerPool:string": "special_customer_pool_001", + "FixSpecialCustomerCount": 3, + "AddSpecialCustomerCount": 50, + "CustomerRespawnTime": 6, + "Exp": 13, + "OrderTime": 30, + "WaitTime": 60, + "EatingTime": 6 + }, + { + "Id:string": "Level006", + "Area:string": "Area2", + "CustomerPool:string": "customer_pool_006", + "SpecialCustomerPool:string": "special_customer_pool_001", + "FixSpecialCustomerCount": 3, + "AddSpecialCustomerCount": 50, + "CustomerRespawnTime": 6, + "Exp": 13, + "OrderTime": 30, + "WaitTime": 60, + "EatingTime": 6 + } + ], + "CustomerData": [ + { + "Id:string": "식별번호", + "CustomerType:NativeEnum": "손님 타입", + "#Name": "이름", + "SpineSkinKey": "스파인 스킨 키 값", + "FavoriteTastes": "선호 맛들" + }, + { + "Id:string": "customer_001", + "CustomerType:NativeEnum": "Normal", + "#Name": "유령1", + "SpineSkinKey": "", + "FavoriteTastes": "" + }, + { + "Id:string": "customer_002", + "CustomerType:NativeEnum": "Normal", + "#Name": "유령2", + "SpineSkinKey": "", + "FavoriteTastes": "" + }, + { + "Id:string": "customer_003", + "CustomerType:NativeEnum": "Normal", + "#Name": "유령3", + "SpineSkinKey": "", + "FavoriteTastes": "" + }, + { + "Id:string": "special_customer_001", + "CustomerType:NativeEnum": "Special", + "#Name": "차이", + "SpineSkinKey": "", + "FavoriteTastes": "" + } + ], + "CustomerPoolData": [ + { + "Id:string": "식별번호", + "CustomerLimitCount": "손님 최대 수", + "Customers:string": "등장 손님들" + }, + { + "Id:string": "customer_pool_001", + "CustomerLimitCount": 4, + "Customers:string": "customer_001" + }, + { + "Id:string": "customer_pool_002", + "CustomerLimitCount": 7, + "Customers:string": "customer_001, customer_002" + }, + { + "Id:string": "customer_pool_003", + "CustomerLimitCount": 9, + "Customers:string": "customer_001, customer_002, customer_003" + }, + { + "Id:string": "customer_pool_004", + "CustomerLimitCount": 3, + "Customers:string": "customer_001" + }, + { + "Id:string": "customer_pool_005", + "CustomerLimitCount": 3, + "Customers:string": "customer_001" + }, + { + "Id:string": "customer_pool_006", + "CustomerLimitCount": 3, + "Customers:string": "customer_001" + }, + { + "Id:string": "special_customer_pool_001", + "CustomerLimitCount": 1, + "Customers:string": "special_customer_001" + } + ], + "ItemData": [ + { + "Id": "식별번호", + "ItemType:NativeEnum": "아이템타입1" + }, + { + "Id": "item_food_001", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_002", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_003", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_004", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_005", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_006", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_007", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_008", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_009", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_010", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_011", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_012", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_013", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_014", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_015", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_016", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_017", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_018", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_019", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_020", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_ingredient_001", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_002", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_003", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_004", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_005", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_006", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_007", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_008", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_009", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_010", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_011", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_012", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_013", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_014", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_015", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_016", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_017", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_018", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_019", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_020", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_021", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_022", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_023", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_environment_001", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_002", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_003", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_004", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_005", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_cookware_001", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_cookware_002", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_cookware_003", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_cookware_004", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_cookware_005", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_cookware_006", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_cookware_007", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_cookware_008", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_drink_001", + "ItemType:NativeEnum": "Drink" + }, + { + "Id": "item_drink_002", + "ItemType:NativeEnum": "Drink" + }, + { + "Id": "item_drink_003", + "ItemType:NativeEnum": "Drink" + }, + { + "Id": "item_drink_004", + "ItemType:NativeEnum": "Drink" + }, + { + "Id": "item_food_recipe_001", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_002", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_003", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_004", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_005", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_006", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_007", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_008", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_009", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_010", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_011", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_012", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_013", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_014", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_015", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_016", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_017", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_018", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_019", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_020", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_drink_recipe_001", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_drink_recipe_002", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_drink_recipe_003", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_drink_recipe_004", + "ItemType:NativeEnum": "Recipe" + } + ], + "RecipeData": [ + { + "Id:string": "식별ID", + "#Name": "이름", + "RecipeType:NativeEnum": "레시피타입", + "RecipeResult:string": "완성 메뉴" + }, + { + "Id:string": "item_food_recipe_001", + "#Name": "블루 스튜 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_001" + }, + { + "Id:string": "item_food_recipe_002", + "#Name": "햇빛 스튜 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_002" + }, + { + "Id:string": "item_food_recipe_003", + "#Name": "심해기억 스튜 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_003" + }, + { + "Id:string": "item_food_recipe_004", + "#Name": "치킨 굴라쉬 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_004" + }, + { + "Id:string": "item_food_recipe_005", + "#Name": "꿈해초 크로켓 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_005" + }, + { + "Id:string": "item_food_recipe_006", + "#Name": "선라이즈 당근카츠 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_006" + }, + { + "Id:string": "item_food_recipe_007", + "#Name": "미정", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_007" + }, + { + "Id:string": "item_food_recipe_008", + "#Name": "비늘치킨덕 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_008" + }, + { + "Id:string": "item_food_recipe_009", + "#Name": "화룡장어 구이 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_009" + }, + { + "Id:string": "item_food_recipe_010", + "#Name": "미정", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_010" + }, + { + "Id:string": "item_food_recipe_011", + "#Name": "바다의선물 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_011" + }, + { + "Id:string": "item_food_recipe_012", + "#Name": "유령새우회 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_012" + }, + { + "Id:string": "item_food_recipe_013", + "#Name": "비늘초무침 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_013" + }, + { + "Id:string": "item_food_recipe_014", + "#Name": "쫀징어 냉채 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_014" + }, + { + "Id:string": "item_food_recipe_015", + "#Name": "쫀징어링 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_015" + }, + { + "Id:string": "item_food_recipe_016", + "#Name": "꿈해파리 볶음 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_016" + }, + { + "Id:string": "item_food_recipe_017", + "#Name": "페퍼포칼립스 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_017" + }, + { + "Id:string": "item_food_recipe_018", + "#Name": "미정", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_018" + }, + { + "Id:string": "item_food_recipe_019", + "#Name": "미정", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_019" + }, + { + "Id:string": "item_food_recipe_020", + "#Name": "미정", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_020" + }, + { + "Id:string": "item_drink_recipe_001", + "#Name": "토마토 주스 레시피", + "RecipeType:NativeEnum": "DrinkRecipe", + "RecipeResult:string": "item_drink_001" + }, + { + "Id:string": "item_drink_recipe_002", + "#Name": "오렌지 주스 레시피", + "RecipeType:NativeEnum": "DrinkRecipe", + "RecipeResult:string": "item_drink_002" + }, + { + "Id:string": "item_drink_recipe_003", + "#Name": "여신의눈물 레시피", + "RecipeType:NativeEnum": "DrinkRecipe", + "RecipeResult:string": "item_drink_003" + }, + { + "Id:string": "item_drink_recipe_004", + "#Name": "라벨블루 레시피", + "RecipeType:NativeEnum": "DrinkRecipe", + "RecipeResult:string": "item_drink_004" + } + ], + "FoodData": [ + { + "Id:string": "식별ID", + "#Name": "이름", + "CookwareKey:string": "요리도구 키 값", + "CookTime:int": "요리시간", + "Price:int": "요리가격", + "IngredientKey1:string": "재료1", + "IngredientAmount1:string": "재료1 갯수", + "IngredientKey2:string": "재료2", + "IngredientAmount2:string": "재료2 갯수", + "IngredientKey3:string": "재료3", + "IngredientAmount3:string": "재료3 갯수", + "IngredientKey4:string": "재료4", + "IngredientAmount4:string": "재료4 갯수", + "TasteKey1:string": "맛 키1", + "TasteKey2:string": "맛 키2", + "TasteKey3:string": "맛 키3", + "TasteKey4:string": "맛 키4", + "TasteKey5:string": "맛 키5", + "TasteKey6:string": "맛 키6" + }, + { + "Id:string": "item_food_001", + "#Name": "블루 스튜", + "CookwareKey:string": "item_environment_cookware_001", + "CookTime:int": 7, + "Price:int": 10, + "IngredientKey1:string": "item_ingredient_001", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_002", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sweet", + "TasteKey2:string": "Warm", + "TasteKey3:string": "Vegetable", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_002", + "#Name": "햇빛 스튜", + "CookwareKey:string": "item_environment_cookware_001", + "CookTime:int": 7, + "Price:int": 20, + "IngredientKey1:string": "item_ingredient_002", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_003", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sweet", + "TasteKey2:string": "Bitter", + "TasteKey3:string": "Warm", + "TasteKey4:string": "Vegetable", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_003", + "#Name": "심해기억 스튜", + "CookwareKey:string": "item_environment_cookware_001", + "CookTime:int": 7, + "Price:int": 15, + "IngredientKey1:string": "item_ingredient_002", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_004", + "IngredientAmount2:string": 2, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Salty", + "TasteKey2:string": "Mild", + "TasteKey3:string": "Vegetable", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_004", + "#Name": "치킨 굴라쉬", + "CookwareKey:string": "item_environment_cookware_001", + "CookTime:int": 10, + "Price:int": 30, + "IngredientKey1:string": "item_ingredient_005", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_006", + "IngredientAmount2:string": 2, + "IngredientKey3:string": "item_ingredient_007", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Salty", + "TasteKey2:string": "Sweet", + "TasteKey3:string": "Addictive", + "TasteKey4:string": "Vegetable", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_005", + "#Name": "꿈해초 크로켓", + "CookwareKey:string": "item_environment_cookware_002", + "CookTime:int": 5, + "Price:int": 20, + "IngredientKey1:string": "item_ingredient_007", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_008", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_009", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sour", + "TasteKey2:string": "Salty", + "TasteKey3:string": "Mild", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_006", + "#Name": "선라이즈 당근카츠", + "CookwareKey:string": "item_environment_cookware_002", + "CookTime:int": 5, + "Price:int": 30, + "IngredientKey1:string": "item_ingredient_003", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_007", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_009", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "item_ingredient_010", + "IngredientAmount4:string": 1, + "TasteKey1:string": "Sweet", + "TasteKey2:string": "Sour", + "TasteKey3:string": "Warm", + "TasteKey4:string": "Savory", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_007", + "#Name": "미정", + "CookwareKey:string": "item_environment_cookware_002", + "CookTime:int": 5, + "Price:int": 30, + "IngredientKey1:string": "item_ingredient_011", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_008", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "", + "TasteKey2:string": "", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_008", + "#Name": "비늘치킨덕", + "CookwareKey:string": "item_environment_cookware_003", + "CookTime:int": 6, + "Price:int": 30, + "IngredientKey1:string": "item_ingredient_012", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_013", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_007", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Salty", + "TasteKey2:string": "Mild", + "TasteKey3:string": "Addictive", + "TasteKey4:string": "Meat", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_009", + "#Name": "화룡장어 구이", + "CookwareKey:string": "item_environment_cookware_003", + "CookTime:int": 6, + "Price:int": 15, + "IngredientKey1:string": "item_ingredient_014", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_015", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sweet", + "TasteKey2:string": "Mild", + "TasteKey3:string": "SuperHot", + "TasteKey4:string": "Fish", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_010", + "#Name": "미정", + "CookwareKey:string": "item_environment_cookware_003", + "CookTime:int": 6, + "Price:int": 30, + "IngredientKey1:string": "item_ingredient_016", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_008", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "", + "TasteKey2:string": "", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_011", + "#Name": "바다의선물", + "CookwareKey:string": "item_environment_cookware_004", + "CookTime:int": 5, + "Price:int": 10, + "IngredientKey1:string": "item_ingredient_002", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_003", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sweet", + "TasteKey2:string": "Mild", + "TasteKey3:string": "Vegetable", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_012", + "#Name": "유령새우회", + "CookwareKey:string": "item_environment_cookware_004", + "CookTime:int": 5, + "Price:int": 25, + "IngredientKey1:string": "item_ingredient_017", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_007", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_004", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sweet", + "TasteKey2:string": "Salty", + "TasteKey3:string": "Addictive", + "TasteKey4:string": "Fish", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_013", + "#Name": "비늘초무침", + "CookwareKey:string": "item_environment_cookware_004", + "CookTime:int": 5, + "Price:int": 45, + "IngredientKey1:string": "item_ingredient_018", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_003", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_007", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "item_ingredient_010", + "IngredientAmount4:string": 2, + "TasteKey1:string": "Salty", + "TasteKey2:string": "Sour", + "TasteKey3:string": "Mild", + "TasteKey4:string": "Vegetable", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_014", + "#Name": "쫀징어 냉채", + "CookwareKey:string": "item_environment_cookware_004", + "CookTime:int": 5, + "Price:int": 15, + "IngredientKey1:string": "item_ingredient_011", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_003", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Salty", + "TasteKey2:string": "Vegetable", + "TasteKey3:string": "Fish", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_015", + "#Name": "쫀징어링", + "CookwareKey:string": "item_environment_cookware_005", + "CookTime:int": 8, + "Price:int": 25, + "IngredientKey1:string": "item_ingredient_011", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_007", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_015", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Salty", + "TasteKey2:string": "Sour", + "TasteKey3:string": "SuperHot", + "TasteKey4:string": "Fish", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_016", + "#Name": "꿈해파리 볶음", + "CookwareKey:string": "item_environment_cookware_005", + "CookTime:int": 6, + "Price:int": 15, + "IngredientKey1:string": "item_ingredient_019", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_004", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Salty", + "TasteKey2:string": "Sweet", + "TasteKey3:string": "Sour", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_017", + "#Name": "페퍼포칼립스", + "CookwareKey:string": "item_environment_cookware_005", + "CookTime:int": 6, + "Price:int": 25, + "IngredientKey1:string": "item_ingredient_012", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_015", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_008", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sweet", + "TasteKey2:string": "SuperHot", + "TasteKey3:string": "Meat", + "TasteKey4:string": "Vegetable", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_018", + "#Name": "미정", + "CookwareKey:string": "item_environment_cookware_006", + "CookTime:int": 0, + "Price:int": 0, + "IngredientKey1:string": "", + "IngredientAmount1:string": "", + "IngredientKey2:string": "", + "IngredientAmount2:string": "", + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "", + "TasteKey2:string": "", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_019", + "#Name": "미정", + "CookwareKey:string": "item_environment_cookware_006", + "CookTime:int": 0, + "Price:int": 0, + "IngredientKey1:string": "", + "IngredientAmount1:string": "", + "IngredientKey2:string": "", + "IngredientAmount2:string": "", + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "", + "TasteKey2:string": "", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_020", + "#Name": "미정", + "CookwareKey:string": "item_environment_cookware_006", + "CookTime:int": 0, + "Price:int": 0, + "IngredientKey1:string": "", + "IngredientAmount1:string": "", + "IngredientKey2:string": "", + "IngredientAmount2:string": "", + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "", + "TasteKey2:string": "", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + } + ], + "DrinkData": [ + { + "Id:string": "식별ID", + "#Name": "이름", + "CookwareKey:string": "요리도구 키 값", + "CookTime:int": "요리시간", + "Price:int": "요리가격", + "IngredientKey1:string": "재료1", + "IngredientAmount1:string": "재료1 갯수", + "IngredientKey2:string": "재료2", + "IngredientAmount2:string": "재료2 갯수", + "IngredientKey3:string": "재료3", + "IngredientAmount3:string": "재료3 갯수", + "IngredientKey4:string": "재료4", + "IngredientAmount4:string": "재료4 갯수", + "TasteKey1:string": "맛 키1", + "TasteKey2:string": "맛 키2", + "TasteKey3:string": "맛 키3", + "TasteKey4:string": "맛 키4", + "TasteKey5:string": "맛 키5", + "TasteKey6:string": "맛 키6" + }, + { + "Id:string": "item_drink_001", + "#Name": "토마토 주스", + "CookwareKey:string": "item_environment_cookware_007", + "CookTime:int": 1, + "Price:int": 10, + "IngredientKey1:string": "item_ingredient_006", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_021", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "NoneDegree", + "TasteKey2:string": "Soda", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_drink_002", + "#Name": "오렌지 주스", + "CookwareKey:string": "item_environment_cookware_007", + "CookTime:int": 1, + "Price:int": 10, + "IngredientKey1:string": "item_ingredient_023", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_021", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "NoneDegree", + "TasteKey2:string": "Sour", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_drink_003", + "#Name": "여신의눈물", + "CookwareKey:string": "item_environment_cookware_008", + "CookTime:int": 3, + "Price:int": 10, + "IngredientKey1:string": "item_ingredient_008", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_022", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "LowDegree", + "TasteKey2:string": "WoodFlavor", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_drink_004", + "#Name": "라벨블루", + "CookwareKey:string": "item_environment_cookware_008", + "CookTime:int": 3, + "Price:int": 10, + "IngredientKey1:string": "item_ingredient_002", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_022", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "MiddleDegree", + "TasteKey2:string": "FruitFlavor", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + } + ], + "IngredientData": [ + { + "Id:string": "식별ID", + "#Name": "이름" + }, + { + "Id:string": "item_ingredient_001", + "#Name": "극락쌀" + }, + { + "Id:string": "item_ingredient_002", + "#Name": "블루애플" + }, + { + "Id:string": "item_ingredient_003", + "#Name": "햇빛당근" + }, + { + "Id:string": "item_ingredient_004", + "#Name": "꿈꾸는 해초" + }, + { + "Id:string": "item_ingredient_005", + "#Name": "미정" + }, + { + "Id:string": "item_ingredient_006", + "#Name": "토마토" + }, + { + "Id:string": "item_ingredient_007", + "#Name": "천일염" + }, + { + "Id:string": "item_ingredient_008", + "#Name": "눈물" + }, + { + "Id:string": "item_ingredient_009", + "#Name": "밀가루" + }, + { + "Id:string": "item_ingredient_010", + "#Name": "식초" + }, + { + "Id:string": "item_ingredient_011", + "#Name": "쫀징어" + }, + { + "Id:string": "item_ingredient_012", + "#Name": "치타닭 고기 " + }, + { + "Id:string": "item_ingredient_013", + "#Name": "비늘오리 고기" + }, + { + "Id:string": "item_ingredient_014", + "#Name": "뱀장어" + }, + { + "Id:string": "item_ingredient_015", + "#Name": "불꽃 고추" + }, + { + "Id:string": "item_ingredient_016", + "#Name": "유령상어" + }, + { + "Id:string": "item_ingredient_017", + "#Name": "유령새우" + }, + { + "Id:string": "item_ingredient_018", + "#Name": "비늘발고둥" + }, + { + "Id:string": "item_ingredient_019", + "#Name": "홍해파리" + }, + { + "Id:string": "item_ingredient_020", + "#Name": "미정" + }, + { + "Id:string": "item_ingredient_021", + "#Name": "탄산수" + }, + { + "Id:string": "item_ingredient_022", + "#Name": "위스키" + }, + { + "Id:string": "item_ingredient_023", + "#Name": "오렌지" + } + ], + "CookwareData": [ + { + "Id:string": "식별ID", + "#Name": "이름", + "CookwareType:NativeEnum": "요리도구 타입" + }, + { + "Id:string": "item_environment_cookware_001", + "#Name": "냄비", + "CookwareType:NativeEnum": "Pot" + }, + { + "Id:string": "item_environment_cookware_002", + "#Name": "튀김", + "CookwareType:NativeEnum": "Fryer" + }, + { + "Id:string": "item_environment_cookware_003", + "#Name": "화로", + "CookwareType:NativeEnum": "FirePit" + }, + { + "Id:string": "item_environment_cookware_004", + "#Name": "", + "CookwareType:NativeEnum": "CuttingBoard" + }, + { + "Id:string": "item_environment_cookware_005", + "#Name": "", + "CookwareType:NativeEnum": "Griddle" + }, + { + "Id:string": "item_environment_cookware_006", + "#Name": "", + "CookwareType:NativeEnum": "MagicOven" + }, + { + "Id:string": "item_environment_cookware_007", + "#Name": "", + "CookwareType:NativeEnum": "JuiceMachine" + }, + { + "Id:string": "item_environment_cookware_008", + "#Name": "", + "CookwareType:NativeEnum": "Barrel" + } + ], + "TasteData": [ + { + "Id:string": "식별ID", + "#Name": "이름", + "TasteType:NativeEnum": "맛 종류" + }, + { + "Id:string": "Sweet", + "#Name": "단맛", + "TasteType:NativeEnum": "Sweet" + }, + { + "Id:string": "Warm", + "#Name": "따뜻한", + "TasteType:NativeEnum": "Warm" + }, + { + "Id:string": "Vegetable", + "#Name": "채류", + "TasteType:NativeEnum": "Vegetable" + }, + { + "Id:string": "Bitter", + "#Name": "쓴맛", + "TasteType:NativeEnum": "Bitter" + }, + { + "Id:string": "Salty", + "#Name": "짠맛", + "TasteType:NativeEnum": "Salty" + }, + { + "Id:string": "Mild", + "#Name": "담백한", + "TasteType:NativeEnum": "Mild" + }, + { + "Id:string": "Addictive", + "#Name": "중독적인", + "TasteType:NativeEnum": "Addictive" + }, + { + "Id:string": "Sour", + "#Name": "신맛", + "TasteType:NativeEnum": "Sour" + }, + { + "Id:string": "Savory", + "#Name": "고소한", + "TasteType:NativeEnum": "Savory" + }, + { + "Id:string": "Meat", + "#Name": "육류", + "TasteType:NativeEnum": "Meat" + }, + { + "Id:string": "SuperHot", + "#Name": "핵불닭맛", + "TasteType:NativeEnum": "SuperHot" + }, + { + "Id:string": "Fish", + "#Name": "어류", + "TasteType:NativeEnum": "Fish" + }, + { + "Id:string": "NoneDegree", + "#Name": "도수가없는", + "TasteType:NativeEnum": "NoneDegree" + }, + { + "Id:string": "Soda", + "#Name": "탄산", + "TasteType:NativeEnum": "Soda" + }, + { + "Id:string": "LowDegree", + "#Name": "도수가낮은", + "TasteType:NativeEnum": "LowDegree" + }, + { + "Id:string": "WoodFlavor", + "#Name": "나무향", + "TasteType:NativeEnum": "WoodFlavor" + }, + { + "Id:string": "MiddleDegree", + "#Name": "도수가보통인", + "TasteType:NativeEnum": "MiddleDegree" + }, + { + "Id:string": "FruitFlavor", + "#Name": "과일향", + "TasteType:NativeEnum": "FruitFlavor" + } + ], + "EnvironmentData": [ + { + "Id": "식별번호", + "InteractionType:NativeEnum": "인터랙션타입", + "RendererType:Enum": "렌더러 타입", + "IsTrigger:int": "트리거 여부", + "SkeletonDataName:string": "스켈레톤 애니메이션 에셋 이름", + "SkinName:string": "스파인 스킨 이름", + "DefaultAnimationName:string": "", + "SpriteKey:string": "SpriteAtlas 키 값", + "Size:float": "유니티 내의 이미지 크기" + }, + { + "Id": "item_environment_001", + "InteractionType:NativeEnum": "None", + "RendererType:Enum": "Sprite", + "IsTrigger:int": 0, + "SkeletonDataName:string": "", + "SkinName:string": "", + "DefaultAnimationName:string": "", + "SpriteKey:string": "Barrel01", + "Size:float": 1 + }, + { + "Id": "item_environment_002", + "InteractionType:NativeEnum": "None", + "RendererType:Enum": "Spine", + "IsTrigger:int": 1, + "SkeletonDataName:string": "Coral_SkeletonData", + "SkinName:string": "Coral01", + "DefaultAnimationName:string": "Coral01/Idle", + "SpriteKey:string": "", + "Size:float": 1 + }, + { + "Id": "item_environment_003", + "InteractionType:NativeEnum": "None", + "RendererType:Enum": "Spine", + "IsTrigger:int": 1, + "SkeletonDataName:string": "Coral_SkeletonData", + "SkinName:string": "Coral02", + "DefaultAnimationName:string": "Coral02/Idle", + "SpriteKey:string": "", + "Size:float": 1 + }, + { + "Id": "item_environment_004", + "InteractionType:NativeEnum": "None", + "RendererType:Enum": "Spine", + "IsTrigger:int": 1, + "SkeletonDataName:string": "SummerGrass01_SkeletonData", + "SkinName:string": "default", + "DefaultAnimationName:string": "Normal", + "SpriteKey:string": "", + "Size:float": 0.3 + }, + { + "Id": "item_environment_005", + "InteractionType:NativeEnum": "RestaurantManagement", + "RendererType:Enum": "Spine", + "IsTrigger:int": 0, + "SkeletonDataName:string": "", + "SkinName:string": "", + "DefaultAnimationName:string": "", + "SpriteKey:string": "", + "Size:float": 1 + } + ] +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-08-12 13-23-34 by 남태건.json.meta b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-08-12 13-23-34 by 남태건.json.meta new file mode 100644 index 000000000..554f7b841 --- /dev/null +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-08-12 13-23-34 by 남태건.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 50c2a4b526b61864083332f609fde611 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-08-12 21-43-47 by 남태건.json b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-08-12 21-43-47 by 남태건.json new file mode 100644 index 000000000..ad75de9f2 --- /dev/null +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-08-12 21-43-47 by 남태건.json @@ -0,0 +1,1759 @@ +{ + "$개요": [ + { + "": "Sweet" + }, + { + "": "Sour" + }, + { + "": "Bitter" + }, + { + "": "Salty" + }, + { + "": "SuperHot" + }, + { + "": "Savory" + }, + { + "": "Mild" + }, + { + "": "Warm" + }, + { + "": "Addictive" + }, + { + "": "Fish" + }, + { + "": "Vegetable" + }, + { + "": "Meat" + }, + { + "": "" + }, + { + "": "Soda" + }, + { + "": "MiddleDegree" + }, + { + "": "LowDegree" + }, + { + "": "NoneDegree" + }, + { + "": "WoodFlavor" + }, + { + "": "FruitFlavor" + } + ], + "Test": [ + { + "Id:string": "식별번호", + "CustomerLimitCount": "손님 최대 수", + "Customers:string": "등장 손님", + "Test": 2352, + "Tests": "" + }, + { + "Id:string": "customer_pool_001", + "CustomerLimitCount": 4, + "Customers:string": "customer_001", + "Test": 0, + "Tests": "테스트, 테스트2" + }, + { + "Id:string": "customer_pool_002", + "CustomerLimitCount": 7, + "Customers:string": "customer_001 | customer_002", + "Test": 3, + "Tests": "1 , 2" + }, + { + "Id:string": "customer_pool_003", + "CustomerLimitCount": 9, + "Customers:string": "customer_001 | customer_002 | customer_003", + "Test": 2, + "Tests": "5, 23,253" + }, + { + "Id:string": "customer_pool_004", + "CustomerLimitCount": 3, + "Customers:string": "customer_001", + "Test": "", + "Tests": "" + }, + { + "Id:string": "customer_pool_005", + "CustomerLimitCount": 3, + "Customers:string": "customer_001", + "Test": "", + "Tests": 435 + }, + { + "Id:string": "customer_pool_006", + "CustomerLimitCount": 3, + "Customers:string": "customer_001", + "Test": "", + "Tests": "" + }, + { + "Id:string": "special_customer_pool_001", + "CustomerLimitCount": 1, + "Customers:string": "special_customer_001", + "Test": "", + "Tests": "111|234" + } + ], + "Test_view": [ + { + "Id:string": "식별번호", + "CustomerLimitCount": "손님 최대 수", + "Customers1": "등장 손님1", + "Customers2": "등장 손님2", + "Customers3": "등장 손님3", + "Customers4": "등장 손님4", + "Customers5": "등장 손님5", + "Customers6": "등장 손님6", + "Test": 2352, + "Tests1": "Tests1", + "Tests2": "Tests2", + "Tests3": "Tests3" + }, + { + "Id:string": "customer_pool_001", + "CustomerLimitCount": 4, + "Customers1": "customer_001", + "Customers2": "", + "Customers3": "", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": 0, + "Tests1": "테스트", + "Tests2": "테스트2", + "Tests3": "" + }, + { + "Id:string": "customer_pool_002", + "CustomerLimitCount": 7, + "Customers1": "customer_001", + "Customers2": "customer_002", + "Customers3": "", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": 3, + "Tests1": 1, + "Tests2": 2, + "Tests3": "" + }, + { + "Id:string": "customer_pool_003", + "CustomerLimitCount": 9, + "Customers1": "customer_001", + "Customers2": "customer_002", + "Customers3": "customer_003", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": 2, + "Tests1": 5, + "Tests2": 23, + "Tests3": 253 + }, + { + "Id:string": "customer_pool_004", + "CustomerLimitCount": 3, + "Customers1": "customer_001", + "Customers2": "", + "Customers3": "", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": "", + "Tests1": "", + "Tests2": "", + "Tests3": "" + }, + { + "Id:string": "customer_pool_005", + "CustomerLimitCount": 3, + "Customers1": "customer_001", + "Customers2": "", + "Customers3": "", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": "", + "Tests1": 435, + "Tests2": "", + "Tests3": "" + }, + { + "Id:string": "customer_pool_006", + "CustomerLimitCount": 3, + "Customers1": "customer_001", + "Customers2": "", + "Customers3": "", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": "", + "Tests1": "", + "Tests2": "", + "Tests3": "" + }, + { + "Id:string": "special_customer_pool_001", + "CustomerLimitCount": 1, + "Customers1": "special_customer_001", + "Customers2": "", + "Customers3": "", + "Customers4": "", + "Customers5": "", + "Customers6": "", + "Test": "", + "Tests1": 111, + "Tests2": 234, + "Tests3": "" + } + ], + "LevelData": [ + { + "Id:string": "식별번호", + "Level": "레벨 or 평판", + "Area:string": "등장 지역", + "CustomerPool:string": "일반 손님 풀", + "SpecialCustomerPool:string": "스페셜 손님 풀", + "SpawnType:NativeEnum": "스폰 타입", + "CustomerRespawnTime": "손님 리스폰 시간", + "Exp": "손님 1명당 경험치", + "OrderTime": "주문 대기 인내심 카운트 시간", + "WaitTime": "주문 인내심 카운트 시간", + "EatingTime": "식사 소요시간" + }, + { + "Id:string": "Level001", + "Level": 1, + "Area:string": "Area1", + "CustomerPool:string": "customer_pool_001", + "SpecialCustomerPool:string": "", + "SpawnType:NativeEnum": "Random", + "CustomerRespawnTime": 6, + "Exp": 13, + "OrderTime": 30, + "WaitTime": 60, + "EatingTime": 6 + }, + { + "Id:string": "Level002", + "Level": 2, + "Area:string": "Area1", + "CustomerPool:string": "customer_pool_002", + "SpecialCustomerPool:string": "special_customer_pool_001", + "SpawnType:NativeEnum": "Random", + "CustomerRespawnTime": 6, + "Exp": 13, + "OrderTime": 30, + "WaitTime": 60, + "EatingTime": 6 + }, + { + "Id:string": "Level003", + "Level": 3, + "Area:string": "Area1", + "CustomerPool:string": "customer_pool_003", + "SpecialCustomerPool:string": "special_customer_pool_001", + "SpawnType:NativeEnum": "Regular", + "CustomerRespawnTime": 6, + "Exp": 13, + "OrderTime": 30, + "WaitTime": 60, + "EatingTime": 6 + }, + { + "Id:string": "Level004", + "Level": 4, + "Area:string": "Area2", + "CustomerPool:string": "customer_pool_004", + "SpecialCustomerPool:string": "special_customer_pool_001", + "SpawnType:NativeEnum": "Regular", + "CustomerRespawnTime": 6, + "Exp": 13, + "OrderTime": 30, + "WaitTime": 60, + "EatingTime": 6 + }, + { + "Id:string": "Level005", + "Level": 5, + "Area:string": "Area2", + "CustomerPool:string": "customer_pool_005", + "SpecialCustomerPool:string": "special_customer_pool_001", + "SpawnType:NativeEnum": "Regular", + "CustomerRespawnTime": 6, + "Exp": 13, + "OrderTime": 30, + "WaitTime": 60, + "EatingTime": 6 + }, + { + "Id:string": "Level006", + "Level": 6, + "Area:string": "Area2", + "CustomerPool:string": "customer_pool_006", + "SpecialCustomerPool:string": "special_customer_pool_001", + "SpawnType:NativeEnum": "Random", + "CustomerRespawnTime": 6, + "Exp": 13, + "OrderTime": 30, + "WaitTime": 60, + "EatingTime": 6 + } + ], + "CustomerData": [ + { + "Id:string": "식별번호", + "CustomerType:NativeEnum": "손님 타입", + "#Name": "이름", + "SpineSkinKey": "스파인 스킨 키 값", + "FavoriteTastes": "선호 맛들" + }, + { + "Id:string": "customer_001", + "CustomerType:NativeEnum": "Normal", + "#Name": "유령1", + "SpineSkinKey": "", + "FavoriteTastes": "" + }, + { + "Id:string": "customer_002", + "CustomerType:NativeEnum": "Normal", + "#Name": "유령2", + "SpineSkinKey": "", + "FavoriteTastes": "" + }, + { + "Id:string": "customer_003", + "CustomerType:NativeEnum": "Normal", + "#Name": "유령3", + "SpineSkinKey": "", + "FavoriteTastes": "" + }, + { + "Id:string": "special_customer_001", + "CustomerType:NativeEnum": "Special", + "#Name": "차이", + "SpineSkinKey": "", + "FavoriteTastes": "" + } + ], + "CustomerPoolData": [ + { + "Id:string": "식별번호", + "CustomerLimitCount": "손님 최대 수", + "Customers:string": "등장 손님들" + }, + { + "Id:string": "customer_pool_001", + "CustomerLimitCount": 4, + "Customers:string": "customer_001" + }, + { + "Id:string": "customer_pool_002", + "CustomerLimitCount": 7, + "Customers:string": "customer_001, customer_002" + }, + { + "Id:string": "customer_pool_003", + "CustomerLimitCount": 9, + "Customers:string": "customer_001, customer_002, customer_003" + }, + { + "Id:string": "customer_pool_004", + "CustomerLimitCount": 3, + "Customers:string": "customer_001" + }, + { + "Id:string": "customer_pool_005", + "CustomerLimitCount": 3, + "Customers:string": "customer_001" + }, + { + "Id:string": "customer_pool_006", + "CustomerLimitCount": 3, + "Customers:string": "customer_001" + }, + { + "Id:string": "special_customer_pool_001", + "CustomerLimitCount": 1, + "Customers:string": "special_customer_001" + } + ], + "ItemData": [ + { + "Id": "식별번호", + "ItemType:NativeEnum": "아이템타입1" + }, + { + "Id": "item_food_001", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_002", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_003", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_004", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_005", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_006", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_007", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_008", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_009", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_010", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_011", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_012", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_013", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_014", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_015", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_016", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_017", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_018", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_019", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_food_020", + "ItemType:NativeEnum": "Food" + }, + { + "Id": "item_ingredient_001", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_002", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_003", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_004", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_005", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_006", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_007", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_008", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_009", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_010", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_011", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_012", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_013", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_014", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_015", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_016", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_017", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_018", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_019", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_020", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_021", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_022", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_ingredient_023", + "ItemType:NativeEnum": "Ingredient" + }, + { + "Id": "item_environment_001", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_002", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_003", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_004", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_005", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_cookware_001", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_cookware_002", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_cookware_003", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_cookware_004", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_cookware_005", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_cookware_006", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_cookware_007", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_environment_cookware_008", + "ItemType:NativeEnum": "Environment" + }, + { + "Id": "item_drink_001", + "ItemType:NativeEnum": "Drink" + }, + { + "Id": "item_drink_002", + "ItemType:NativeEnum": "Drink" + }, + { + "Id": "item_drink_003", + "ItemType:NativeEnum": "Drink" + }, + { + "Id": "item_drink_004", + "ItemType:NativeEnum": "Drink" + }, + { + "Id": "item_food_recipe_001", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_002", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_003", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_004", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_005", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_006", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_007", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_008", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_009", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_010", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_011", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_012", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_013", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_014", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_015", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_016", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_017", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_018", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_019", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_food_recipe_020", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_drink_recipe_001", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_drink_recipe_002", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_drink_recipe_003", + "ItemType:NativeEnum": "Recipe" + }, + { + "Id": "item_drink_recipe_004", + "ItemType:NativeEnum": "Recipe" + } + ], + "RecipeData": [ + { + "Id:string": "식별ID", + "#Name": "이름", + "RecipeType:NativeEnum": "레시피타입", + "RecipeResult:string": "완성 메뉴" + }, + { + "Id:string": "item_food_recipe_001", + "#Name": "블루 스튜 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_001" + }, + { + "Id:string": "item_food_recipe_002", + "#Name": "햇빛 스튜 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_002" + }, + { + "Id:string": "item_food_recipe_003", + "#Name": "심해기억 스튜 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_003" + }, + { + "Id:string": "item_food_recipe_004", + "#Name": "치킨 굴라쉬 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_004" + }, + { + "Id:string": "item_food_recipe_005", + "#Name": "꿈해초 크로켓 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_005" + }, + { + "Id:string": "item_food_recipe_006", + "#Name": "선라이즈 당근카츠 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_006" + }, + { + "Id:string": "item_food_recipe_007", + "#Name": "미정", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_007" + }, + { + "Id:string": "item_food_recipe_008", + "#Name": "비늘치킨덕 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_008" + }, + { + "Id:string": "item_food_recipe_009", + "#Name": "화룡장어 구이 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_009" + }, + { + "Id:string": "item_food_recipe_010", + "#Name": "미정", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_010" + }, + { + "Id:string": "item_food_recipe_011", + "#Name": "바다의선물 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_011" + }, + { + "Id:string": "item_food_recipe_012", + "#Name": "유령새우회 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_012" + }, + { + "Id:string": "item_food_recipe_013", + "#Name": "비늘초무침 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_013" + }, + { + "Id:string": "item_food_recipe_014", + "#Name": "쫀징어 냉채 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_014" + }, + { + "Id:string": "item_food_recipe_015", + "#Name": "쫀징어링 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_015" + }, + { + "Id:string": "item_food_recipe_016", + "#Name": "꿈해파리 볶음 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_016" + }, + { + "Id:string": "item_food_recipe_017", + "#Name": "페퍼포칼립스 레시피", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_017" + }, + { + "Id:string": "item_food_recipe_018", + "#Name": "미정", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_018" + }, + { + "Id:string": "item_food_recipe_019", + "#Name": "미정", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_019" + }, + { + "Id:string": "item_food_recipe_020", + "#Name": "미정", + "RecipeType:NativeEnum": "FoodRecipe", + "RecipeResult:string": "item_food_020" + }, + { + "Id:string": "item_drink_recipe_001", + "#Name": "토마토 주스 레시피", + "RecipeType:NativeEnum": "DrinkRecipe", + "RecipeResult:string": "item_drink_001" + }, + { + "Id:string": "item_drink_recipe_002", + "#Name": "오렌지 주스 레시피", + "RecipeType:NativeEnum": "DrinkRecipe", + "RecipeResult:string": "item_drink_002" + }, + { + "Id:string": "item_drink_recipe_003", + "#Name": "여신의눈물 레시피", + "RecipeType:NativeEnum": "DrinkRecipe", + "RecipeResult:string": "item_drink_003" + }, + { + "Id:string": "item_drink_recipe_004", + "#Name": "라벨블루 레시피", + "RecipeType:NativeEnum": "DrinkRecipe", + "RecipeResult:string": "item_drink_004" + } + ], + "FoodData": [ + { + "Id:string": "식별ID", + "#Name": "이름", + "CookwareKey:string": "요리도구 키 값", + "CookTime:int": "요리시간", + "Price:int": "요리가격", + "IngredientKey1:string": "재료1", + "IngredientAmount1:string": "재료1 갯수", + "IngredientKey2:string": "재료2", + "IngredientAmount2:string": "재료2 갯수", + "IngredientKey3:string": "재료3", + "IngredientAmount3:string": "재료3 갯수", + "IngredientKey4:string": "재료4", + "IngredientAmount4:string": "재료4 갯수", + "TasteKey1:string": "맛 키1", + "TasteKey2:string": "맛 키2", + "TasteKey3:string": "맛 키3", + "TasteKey4:string": "맛 키4", + "TasteKey5:string": "맛 키5", + "TasteKey6:string": "맛 키6" + }, + { + "Id:string": "item_food_001", + "#Name": "블루 스튜", + "CookwareKey:string": "item_environment_cookware_001", + "CookTime:int": 7, + "Price:int": 10, + "IngredientKey1:string": "item_ingredient_001", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_002", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sweet", + "TasteKey2:string": "Warm", + "TasteKey3:string": "Vegetable", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_002", + "#Name": "햇빛 스튜", + "CookwareKey:string": "item_environment_cookware_001", + "CookTime:int": 7, + "Price:int": 20, + "IngredientKey1:string": "item_ingredient_002", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_003", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sweet", + "TasteKey2:string": "Bitter", + "TasteKey3:string": "Warm", + "TasteKey4:string": "Vegetable", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_003", + "#Name": "심해기억 스튜", + "CookwareKey:string": "item_environment_cookware_001", + "CookTime:int": 7, + "Price:int": 15, + "IngredientKey1:string": "item_ingredient_002", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_004", + "IngredientAmount2:string": 2, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Salty", + "TasteKey2:string": "Mild", + "TasteKey3:string": "Vegetable", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_004", + "#Name": "치킨 굴라쉬", + "CookwareKey:string": "item_environment_cookware_001", + "CookTime:int": 10, + "Price:int": 30, + "IngredientKey1:string": "item_ingredient_005", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_006", + "IngredientAmount2:string": 2, + "IngredientKey3:string": "item_ingredient_007", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Salty", + "TasteKey2:string": "Sweet", + "TasteKey3:string": "Addictive", + "TasteKey4:string": "Vegetable", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_005", + "#Name": "꿈해초 크로켓", + "CookwareKey:string": "item_environment_cookware_002", + "CookTime:int": 5, + "Price:int": 20, + "IngredientKey1:string": "item_ingredient_007", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_008", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_009", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sour", + "TasteKey2:string": "Salty", + "TasteKey3:string": "Mild", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_006", + "#Name": "선라이즈 당근카츠", + "CookwareKey:string": "item_environment_cookware_002", + "CookTime:int": 5, + "Price:int": 30, + "IngredientKey1:string": "item_ingredient_003", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_007", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_009", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "item_ingredient_010", + "IngredientAmount4:string": 1, + "TasteKey1:string": "Sweet", + "TasteKey2:string": "Sour", + "TasteKey3:string": "Warm", + "TasteKey4:string": "Savory", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_007", + "#Name": "미정", + "CookwareKey:string": "item_environment_cookware_002", + "CookTime:int": 5, + "Price:int": 30, + "IngredientKey1:string": "item_ingredient_011", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_008", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "", + "TasteKey2:string": "", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_008", + "#Name": "비늘치킨덕", + "CookwareKey:string": "item_environment_cookware_003", + "CookTime:int": 6, + "Price:int": 30, + "IngredientKey1:string": "item_ingredient_012", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_013", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_007", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Salty", + "TasteKey2:string": "Mild", + "TasteKey3:string": "Addictive", + "TasteKey4:string": "Meat", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_009", + "#Name": "화룡장어 구이", + "CookwareKey:string": "item_environment_cookware_003", + "CookTime:int": 6, + "Price:int": 15, + "IngredientKey1:string": "item_ingredient_014", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_015", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sweet", + "TasteKey2:string": "Mild", + "TasteKey3:string": "SuperHot", + "TasteKey4:string": "Fish", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_010", + "#Name": "미정", + "CookwareKey:string": "item_environment_cookware_003", + "CookTime:int": 6, + "Price:int": 30, + "IngredientKey1:string": "item_ingredient_016", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_008", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "", + "TasteKey2:string": "", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_011", + "#Name": "바다의선물", + "CookwareKey:string": "item_environment_cookware_004", + "CookTime:int": 5, + "Price:int": 10, + "IngredientKey1:string": "item_ingredient_002", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_003", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sweet", + "TasteKey2:string": "Mild", + "TasteKey3:string": "Vegetable", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_012", + "#Name": "유령새우회", + "CookwareKey:string": "item_environment_cookware_004", + "CookTime:int": 5, + "Price:int": 25, + "IngredientKey1:string": "item_ingredient_017", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_007", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_004", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sweet", + "TasteKey2:string": "Salty", + "TasteKey3:string": "Addictive", + "TasteKey4:string": "Fish", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_013", + "#Name": "비늘초무침", + "CookwareKey:string": "item_environment_cookware_004", + "CookTime:int": 5, + "Price:int": 45, + "IngredientKey1:string": "item_ingredient_018", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_003", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_007", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "item_ingredient_010", + "IngredientAmount4:string": 2, + "TasteKey1:string": "Salty", + "TasteKey2:string": "Sour", + "TasteKey3:string": "Mild", + "TasteKey4:string": "Vegetable", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_014", + "#Name": "쫀징어 냉채", + "CookwareKey:string": "item_environment_cookware_004", + "CookTime:int": 5, + "Price:int": 15, + "IngredientKey1:string": "item_ingredient_011", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_003", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Salty", + "TasteKey2:string": "Vegetable", + "TasteKey3:string": "Fish", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_015", + "#Name": "쫀징어링", + "CookwareKey:string": "item_environment_cookware_005", + "CookTime:int": 8, + "Price:int": 25, + "IngredientKey1:string": "item_ingredient_011", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_007", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_015", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Salty", + "TasteKey2:string": "Sour", + "TasteKey3:string": "SuperHot", + "TasteKey4:string": "Fish", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_016", + "#Name": "꿈해파리 볶음", + "CookwareKey:string": "item_environment_cookware_005", + "CookTime:int": 6, + "Price:int": 15, + "IngredientKey1:string": "item_ingredient_019", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_004", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Salty", + "TasteKey2:string": "Sweet", + "TasteKey3:string": "Sour", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_017", + "#Name": "페퍼포칼립스", + "CookwareKey:string": "item_environment_cookware_005", + "CookTime:int": 6, + "Price:int": 25, + "IngredientKey1:string": "item_ingredient_012", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_015", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "item_ingredient_008", + "IngredientAmount3:string": 1, + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "Sweet", + "TasteKey2:string": "SuperHot", + "TasteKey3:string": "Meat", + "TasteKey4:string": "Vegetable", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_018", + "#Name": "미정", + "CookwareKey:string": "item_environment_cookware_006", + "CookTime:int": 0, + "Price:int": 0, + "IngredientKey1:string": "", + "IngredientAmount1:string": "", + "IngredientKey2:string": "", + "IngredientAmount2:string": "", + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "", + "TasteKey2:string": "", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_019", + "#Name": "미정", + "CookwareKey:string": "item_environment_cookware_006", + "CookTime:int": 0, + "Price:int": 0, + "IngredientKey1:string": "", + "IngredientAmount1:string": "", + "IngredientKey2:string": "", + "IngredientAmount2:string": "", + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "", + "TasteKey2:string": "", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_food_020", + "#Name": "미정", + "CookwareKey:string": "item_environment_cookware_006", + "CookTime:int": 0, + "Price:int": 0, + "IngredientKey1:string": "", + "IngredientAmount1:string": "", + "IngredientKey2:string": "", + "IngredientAmount2:string": "", + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "", + "TasteKey2:string": "", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + } + ], + "DrinkData": [ + { + "Id:string": "식별ID", + "#Name": "이름", + "CookwareKey:string": "요리도구 키 값", + "CookTime:int": "요리시간", + "Price:int": "요리가격", + "IngredientKey1:string": "재료1", + "IngredientAmount1:string": "재료1 갯수", + "IngredientKey2:string": "재료2", + "IngredientAmount2:string": "재료2 갯수", + "IngredientKey3:string": "재료3", + "IngredientAmount3:string": "재료3 갯수", + "IngredientKey4:string": "재료4", + "IngredientAmount4:string": "재료4 갯수", + "TasteKey1:string": "맛 키1", + "TasteKey2:string": "맛 키2", + "TasteKey3:string": "맛 키3", + "TasteKey4:string": "맛 키4", + "TasteKey5:string": "맛 키5", + "TasteKey6:string": "맛 키6" + }, + { + "Id:string": "item_drink_001", + "#Name": "토마토 주스", + "CookwareKey:string": "item_environment_cookware_007", + "CookTime:int": 1, + "Price:int": 10, + "IngredientKey1:string": "item_ingredient_006", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_021", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "NoneDegree", + "TasteKey2:string": "Soda", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_drink_002", + "#Name": "오렌지 주스", + "CookwareKey:string": "item_environment_cookware_007", + "CookTime:int": 1, + "Price:int": 10, + "IngredientKey1:string": "item_ingredient_023", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_021", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "NoneDegree", + "TasteKey2:string": "Sour", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_drink_003", + "#Name": "여신의눈물", + "CookwareKey:string": "item_environment_cookware_008", + "CookTime:int": 3, + "Price:int": 10, + "IngredientKey1:string": "item_ingredient_008", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_022", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "LowDegree", + "TasteKey2:string": "WoodFlavor", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + }, + { + "Id:string": "item_drink_004", + "#Name": "라벨블루", + "CookwareKey:string": "item_environment_cookware_008", + "CookTime:int": 3, + "Price:int": 10, + "IngredientKey1:string": "item_ingredient_002", + "IngredientAmount1:string": 1, + "IngredientKey2:string": "item_ingredient_022", + "IngredientAmount2:string": 1, + "IngredientKey3:string": "", + "IngredientAmount3:string": "", + "IngredientKey4:string": "", + "IngredientAmount4:string": "", + "TasteKey1:string": "MiddleDegree", + "TasteKey2:string": "FruitFlavor", + "TasteKey3:string": "", + "TasteKey4:string": "", + "TasteKey5:string": "", + "TasteKey6:string": "" + } + ], + "IngredientData": [ + { + "Id:string": "식별ID", + "#Name": "이름" + }, + { + "Id:string": "item_ingredient_001", + "#Name": "극락쌀" + }, + { + "Id:string": "item_ingredient_002", + "#Name": "블루애플" + }, + { + "Id:string": "item_ingredient_003", + "#Name": "햇빛당근" + }, + { + "Id:string": "item_ingredient_004", + "#Name": "꿈꾸는 해초" + }, + { + "Id:string": "item_ingredient_005", + "#Name": "미정" + }, + { + "Id:string": "item_ingredient_006", + "#Name": "토마토" + }, + { + "Id:string": "item_ingredient_007", + "#Name": "천일염" + }, + { + "Id:string": "item_ingredient_008", + "#Name": "눈물" + }, + { + "Id:string": "item_ingredient_009", + "#Name": "밀가루" + }, + { + "Id:string": "item_ingredient_010", + "#Name": "식초" + }, + { + "Id:string": "item_ingredient_011", + "#Name": "쫀징어" + }, + { + "Id:string": "item_ingredient_012", + "#Name": "치타닭 고기 " + }, + { + "Id:string": "item_ingredient_013", + "#Name": "비늘오리 고기" + }, + { + "Id:string": "item_ingredient_014", + "#Name": "뱀장어" + }, + { + "Id:string": "item_ingredient_015", + "#Name": "불꽃 고추" + }, + { + "Id:string": "item_ingredient_016", + "#Name": "유령상어" + }, + { + "Id:string": "item_ingredient_017", + "#Name": "유령새우" + }, + { + "Id:string": "item_ingredient_018", + "#Name": "비늘발고둥" + }, + { + "Id:string": "item_ingredient_019", + "#Name": "홍해파리" + }, + { + "Id:string": "item_ingredient_020", + "#Name": "미정" + }, + { + "Id:string": "item_ingredient_021", + "#Name": "탄산수" + }, + { + "Id:string": "item_ingredient_022", + "#Name": "위스키" + }, + { + "Id:string": "item_ingredient_023", + "#Name": "오렌지" + } + ], + "CookwareData": [ + { + "Id:string": "식별ID", + "#Name": "이름", + "CookwareType:NativeEnum": "요리도구 타입" + }, + { + "Id:string": "item_environment_cookware_001", + "#Name": "냄비", + "CookwareType:NativeEnum": "Pot" + }, + { + "Id:string": "item_environment_cookware_002", + "#Name": "튀김", + "CookwareType:NativeEnum": "Fryer" + }, + { + "Id:string": "item_environment_cookware_003", + "#Name": "화로", + "CookwareType:NativeEnum": "FirePit" + }, + { + "Id:string": "item_environment_cookware_004", + "#Name": "", + "CookwareType:NativeEnum": "CuttingBoard" + }, + { + "Id:string": "item_environment_cookware_005", + "#Name": "", + "CookwareType:NativeEnum": "Griddle" + }, + { + "Id:string": "item_environment_cookware_006", + "#Name": "", + "CookwareType:NativeEnum": "MagicOven" + }, + { + "Id:string": "item_environment_cookware_007", + "#Name": "", + "CookwareType:NativeEnum": "JuiceMachine" + }, + { + "Id:string": "item_environment_cookware_008", + "#Name": "", + "CookwareType:NativeEnum": "Barrel" + } + ], + "TasteData": [ + { + "Id:string": "식별ID", + "#Name": "이름", + "TasteType:NativeEnum": "맛 종류" + }, + { + "Id:string": "Sweet", + "#Name": "단맛", + "TasteType:NativeEnum": "Sweet" + }, + { + "Id:string": "Warm", + "#Name": "따뜻한", + "TasteType:NativeEnum": "Warm" + }, + { + "Id:string": "Vegetable", + "#Name": "채류", + "TasteType:NativeEnum": "Vegetable" + }, + { + "Id:string": "Bitter", + "#Name": "쓴맛", + "TasteType:NativeEnum": "Bitter" + }, + { + "Id:string": "Salty", + "#Name": "짠맛", + "TasteType:NativeEnum": "Salty" + }, + { + "Id:string": "Mild", + "#Name": "담백한", + "TasteType:NativeEnum": "Mild" + }, + { + "Id:string": "Addictive", + "#Name": "중독적인", + "TasteType:NativeEnum": "Addictive" + }, + { + "Id:string": "Sour", + "#Name": "신맛", + "TasteType:NativeEnum": "Sour" + }, + { + "Id:string": "Savory", + "#Name": "고소한", + "TasteType:NativeEnum": "Savory" + }, + { + "Id:string": "Meat", + "#Name": "육류", + "TasteType:NativeEnum": "Meat" + }, + { + "Id:string": "SuperHot", + "#Name": "핵불닭맛", + "TasteType:NativeEnum": "SuperHot" + }, + { + "Id:string": "Fish", + "#Name": "어류", + "TasteType:NativeEnum": "Fish" + }, + { + "Id:string": "NoneDegree", + "#Name": "도수가없는", + "TasteType:NativeEnum": "NoneDegree" + }, + { + "Id:string": "Soda", + "#Name": "탄산", + "TasteType:NativeEnum": "Soda" + }, + { + "Id:string": "LowDegree", + "#Name": "도수가낮은", + "TasteType:NativeEnum": "LowDegree" + }, + { + "Id:string": "WoodFlavor", + "#Name": "나무향", + "TasteType:NativeEnum": "WoodFlavor" + }, + { + "Id:string": "MiddleDegree", + "#Name": "도수가보통인", + "TasteType:NativeEnum": "MiddleDegree" + }, + { + "Id:string": "FruitFlavor", + "#Name": "과일향", + "TasteType:NativeEnum": "FruitFlavor" + } + ], + "EnvironmentData": [ + { + "Id": "식별번호", + "InteractionType:NativeEnum": "인터랙션타입", + "RendererType:Enum": "렌더러 타입", + "IsTrigger:int": "트리거 여부", + "SkeletonDataName:string": "스켈레톤 애니메이션 에셋 이름", + "SkinName:string": "스파인 스킨 이름", + "DefaultAnimationName:string": "", + "SpriteKey:string": "SpriteAtlas 키 값", + "Size:float": "유니티 내의 이미지 크기" + }, + { + "Id": "item_environment_001", + "InteractionType:NativeEnum": "None", + "RendererType:Enum": "Sprite", + "IsTrigger:int": 0, + "SkeletonDataName:string": "", + "SkinName:string": "", + "DefaultAnimationName:string": "", + "SpriteKey:string": "Barrel01", + "Size:float": 1 + }, + { + "Id": "item_environment_002", + "InteractionType:NativeEnum": "None", + "RendererType:Enum": "Spine", + "IsTrigger:int": 1, + "SkeletonDataName:string": "Coral_SkeletonData", + "SkinName:string": "Coral01", + "DefaultAnimationName:string": "Coral01/Idle", + "SpriteKey:string": "", + "Size:float": 1 + }, + { + "Id": "item_environment_003", + "InteractionType:NativeEnum": "None", + "RendererType:Enum": "Spine", + "IsTrigger:int": 1, + "SkeletonDataName:string": "Coral_SkeletonData", + "SkinName:string": "Coral02", + "DefaultAnimationName:string": "Coral02/Idle", + "SpriteKey:string": "", + "Size:float": 1 + }, + { + "Id": "item_environment_004", + "InteractionType:NativeEnum": "None", + "RendererType:Enum": "Spine", + "IsTrigger:int": 1, + "SkeletonDataName:string": "SummerGrass01_SkeletonData", + "SkinName:string": "default", + "DefaultAnimationName:string": "Normal", + "SpriteKey:string": "", + "Size:float": 0.3 + }, + { + "Id": "item_environment_005", + "InteractionType:NativeEnum": "RestaurantManagement", + "RendererType:Enum": "Spine", + "IsTrigger:int": 0, + "SkeletonDataName:string": "", + "SkinName:string": "", + "DefaultAnimationName:string": "", + "SpriteKey:string": "", + "Size:float": 1 + } + ] +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-08-12 21-43-47 by 남태건.json.meta b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-08-12 21-43-47 by 남태건.json.meta new file mode 100644 index 000000000..9f2b928c0 --- /dev/null +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/BackUps/2025-08-12 21-43-47 by 남태건.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d8e9bd49420826e45a28142af7e4c284 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CookwareData.cs b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CookwareData.cs index 73d3cb657..f7aceaaf8 100644 --- a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CookwareData.cs +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CookwareData.cs @@ -4,6 +4,19 @@ namespace DDD { + public enum CookwareType + { + None = 0, + Pot = 1, + Fryer = 2, + FirePit = 3, + CuttingBoard = 4, + Griddle = 5, + MagicOven = 6, + JuiceMachine = 7, + Barrel = 8, + } + [Serializable] public class CookwareData : IId { diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CustomerData.cs b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CustomerData.cs new file mode 100644 index 000000000..a79054176 --- /dev/null +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CustomerData.cs @@ -0,0 +1,39 @@ +// +using System; +using System.Collections.Generic; +using System.Linq; +using Sirenix.OdinInspector; +using UnityEngine; + +namespace DDD +{ + public enum CustomerType + { + None = 0, + Normal, + Special + } + + [Serializable] + public class CustomerData : IId + { + /// 식별번호 + [Tooltip("식별번호")] + [field: SerializeField] + public string Id { get; set; } + + /// 손님 타입 + [Tooltip("손님 타입")] + public CustomerType CustomerType; + + /// 스파인 스킨 키 값 + [Tooltip("스파인 스킨 키 값")] + public string SpineSkinKey; + + /// 선호 맛들 + [Tooltip("선호 맛들")] + public string FavoriteTastes; + + [ReadOnly] public List ValidFavoriteTastes = new(); + } +} diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CustomerData.cs.meta b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CustomerData.cs.meta new file mode 100644 index 000000000..2a4c791ea --- /dev/null +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CustomerData.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 24a354acd91b9d944aeb01375a9e9c4e \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CustomerDataSo.cs b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CustomerDataSo.cs new file mode 100644 index 000000000..ae0f0fb50 --- /dev/null +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CustomerDataSo.cs @@ -0,0 +1,19 @@ +// +using UnityEngine; + +namespace DDD +{ + [CreateAssetMenu(fileName = "CustomerDataSo", menuName = "GoogleSheet/CustomerDataSo")] + public class CustomerDataSo : DataSo + { + protected override void Initialize() + { + base.Initialize(); + + foreach (var customerData in _datas) + { + ParseDelimitedListInPlace(customerData.FavoriteTastes, customerData.ValidFavoriteTastes); + } + } + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CustomerDataSo.cs.meta b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CustomerDataSo.cs.meta new file mode 100644 index 000000000..efd8c8755 --- /dev/null +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CustomerDataSo.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 090ee4c808412044090f3281830e08f6 \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CustomerPoolData.cs b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CustomerPoolData.cs new file mode 100644 index 000000000..4ef4e3531 --- /dev/null +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CustomerPoolData.cs @@ -0,0 +1,28 @@ +// +using System; +using System.Collections.Generic; +using Sirenix.OdinInspector; +using UnityEngine; + +namespace DDD +{ + [Serializable] + public class CustomerPoolData : IId + { + /// 식별번호 + [Tooltip("식별번호")] + [field: SerializeField] + public string Id { get; set; } + + /// 손님 최대 수 + [Tooltip("손님 최대 수")] + public int CustomerLimitCount; + + /// 등장 손님들 + [Tooltip("등장 손님들")] + public string Customers; + + [ReadOnly] public List ValidCustomers = new(); + + } +} diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CustomerPoolData.cs.meta b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CustomerPoolData.cs.meta new file mode 100644 index 000000000..db439ef14 --- /dev/null +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CustomerPoolData.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 9bad451e3ceb644459533d83a8144378 \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CustomerPoolDataSo.cs b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CustomerPoolDataSo.cs new file mode 100644 index 000000000..076134084 --- /dev/null +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CustomerPoolDataSo.cs @@ -0,0 +1,19 @@ +// +using UnityEngine; + +namespace DDD +{ + [CreateAssetMenu(fileName = "CustomerPoolDataSo", menuName = "GoogleSheet/CustomerPoolDataSo")] + public class CustomerPoolDataSo : DataSo + { + protected override void Initialize() + { + base.Initialize(); + + foreach (var customerPoolData in _datas) + { + ParseDelimitedListInPlace(customerPoolData.Customers, customerPoolData.ValidCustomers); + } + } + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CustomerPoolDataSo.cs.meta b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CustomerPoolDataSo.cs.meta new file mode 100644 index 000000000..0766acd40 --- /dev/null +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/CustomerPoolDataSo.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8c31b1b5bf70f3f4e80ff11973c8eb8c \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/EnvironmentData.cs b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/EnvironmentData.cs index 2169d3349..7bcae5499 100644 --- a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/EnvironmentData.cs +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/EnvironmentData.cs @@ -4,6 +4,13 @@ namespace DDD { + public enum RendererType + { + None = 0, + Sprite = 1, + Spine = 2, + } + [Serializable] public class EnvironmentData : IId { diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/ItemData.cs b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/ItemData.cs index 3419b30c9..d4b5ba409 100644 --- a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/ItemData.cs +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/ItemData.cs @@ -4,6 +4,16 @@ namespace DDD { + public enum ItemType + { + None = 0, + Food = 1, + Ingredient = 2, + Environment = 3, + Drink = 4, + Recipe = 5, + } + [Serializable] public class ItemData : IId { diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/LevelData.cs b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/LevelData.cs index a14633fe0..ab2cbf1fa 100644 --- a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/LevelData.cs +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/LevelData.cs @@ -4,6 +4,13 @@ namespace DDD { + public enum SpawnType + { + None = 0, + Random, + Regular + } + [Serializable] public class LevelData : IId { @@ -12,6 +19,10 @@ public class LevelData : IId [field: SerializeField] public string Id { get; set; } + /// 레벨 or 평판 + [Tooltip("레벨 or 평판")] + public int Level; + /// 등장 지역 [Tooltip("등장 지역")] public string Area; @@ -24,14 +35,14 @@ public class LevelData : IId [Tooltip("스페셜 손님 풀")] public string SpecialCustomerPool; + /// 스폰 타입 + [Tooltip("스폰 타입")] + public SpawnType SpawnType; + /// 확정 스페셜 손님 수 [Tooltip("확정 스페셜 손님 수")] public int FixSpecialCustomerCount; - /// 추가 스페셜 손님 확률 - [Tooltip("추가 스페셜 손님 확률")] - public int AddSpecialCustomerCount; - /// 손님 리스폰 시간 [Tooltip("손님 리스폰 시간")] public int CustomerRespawnTime; diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/RecipeData.cs b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/RecipeData.cs index 714e8f98a..a38afbd14 100644 --- a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/RecipeData.cs +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/RecipeData.cs @@ -4,6 +4,13 @@ namespace DDD { + public enum RecipeType + { + None = 0, + FoodRecipe = 1, + DrinkRecipe = 2, + } + [Serializable] public class RecipeData : IId { diff --git a/Assets/_DDD/_Scripts/GameData/TasteData.cs b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/TasteData.cs similarity index 100% rename from Assets/_DDD/_Scripts/GameData/TasteData.cs rename to Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/TasteData.cs diff --git a/Assets/_DDD/_Scripts/GameData/TasteData.cs.meta b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/TasteData.cs.meta similarity index 100% rename from Assets/_DDD/_Scripts/GameData/TasteData.cs.meta rename to Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/TasteData.cs.meta diff --git a/Assets/_DDD/_Scripts/GameData/TasteDataSo.cs b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/TasteDataSo.cs similarity index 100% rename from Assets/_DDD/_Scripts/GameData/TasteDataSo.cs rename to Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/TasteDataSo.cs diff --git a/Assets/_DDD/_Scripts/GameData/TasteDataSo.cs.meta b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/TasteDataSo.cs.meta similarity index 100% rename from Assets/_DDD/_Scripts/GameData/TasteDataSo.cs.meta rename to Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Classes/TasteDataSo.cs.meta diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/EnumTypes.cs b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/EnumTypes.cs index 49ff66363..7935df725 100644 --- a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/EnumTypes.cs +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/EnumTypes.cs @@ -3,41 +3,4 @@ namespace DDD { - public enum CookwareType - { - None = 0, - Barrel = 1, - CuttingBoard = 2, - FirePit = 3, - Fryer = 4, - Griddle = 5, - JuiceMachine = 6, - MagicOven = 7, - Pot = 8, - } - - public enum ItemType - { - None = 0, - Drink = 1, - Environment = 2, - Food = 3, - Ingredient = 4, - Recipe = 5, - } - - public enum RecipeType - { - None = 0, - DrinkRecipe = 1, - FoodRecipe = 2, - } - - public enum RendererType - { - None = 0, - Spine = 1, - Sprite = 2, - } - } diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/GoogleSheetJson.json b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/GoogleSheetJson.json index cebc1d0bd..ad75de9f2 100644 --- a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/GoogleSheetJson.json +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/GoogleSheetJson.json @@ -99,7 +99,7 @@ "CustomerLimitCount": 3, "Customers:string": "customer_001", "Test": "", - "Tests": "435, 25" + "Tests": 435 }, { "Id:string": "customer_pool_006", @@ -198,7 +198,7 @@ "Customers6": "", "Test": "", "Tests1": 435, - "Tests2": 25, + "Tests2": "", "Tests3": "" }, { @@ -230,96 +230,14 @@ "Tests3": "" } ], - "CustomerPoolData": [ - { - "Id:string": "식별번호", - "CustomerLimitCount": "손님 최대 수", - "Customer1": "등장 손님1", - "Customer2": "등장 손님2", - "Customer3": "등장 손님3", - "Customer4": "등장 손님4", - "Customer5": "등장 손님5", - "Customer6": "등장 손님6" - }, - { - "Id:string": "customer_pool_001", - "CustomerLimitCount": 4, - "Customer1": "customer_001", - "Customer2": "", - "Customer3": "", - "Customer4": "", - "Customer5": "", - "Customer6": "" - }, - { - "Id:string": "customer_pool_002", - "CustomerLimitCount": 7, - "Customer1": "customer_001", - "Customer2": "customer_002", - "Customer3": "", - "Customer4": "", - "Customer5": "", - "Customer6": "" - }, - { - "Id:string": "customer_pool_003", - "CustomerLimitCount": 9, - "Customer1": "customer_001", - "Customer2": "customer_002", - "Customer3": " customer_003", - "Customer4": "", - "Customer5": "", - "Customer6": "" - }, - { - "Id:string": "customer_pool_004", - "CustomerLimitCount": 3, - "Customer1": "customer_001", - "Customer2": "", - "Customer3": "", - "Customer4": "", - "Customer5": "", - "Customer6": "" - }, - { - "Id:string": "customer_pool_005", - "CustomerLimitCount": 3, - "Customer1": "customer_001", - "Customer2": "", - "Customer3": "", - "Customer4": "", - "Customer5": "", - "Customer6": "" - }, - { - "Id:string": "customer_pool_006", - "CustomerLimitCount": 3, - "Customer1": "customer_001", - "Customer2": "", - "Customer3": "", - "Customer4": "", - "Customer5": "", - "Customer6": "" - }, - { - "Id:string": "special_customer_pool_001", - "CustomerLimitCount": 1, - "Customer1": "special_customer_001", - "Customer2": "", - "Customer3": "", - "Customer4": "", - "Customer5": "", - "Customer6": "" - } - ], "LevelData": [ { "Id:string": "식별번호", - "Area": "등장 지역", - "CustomerPool": "일반 손님 풀", - "SpecialCustomerPool": "스페셜 손님 풀", - "FixSpecialCustomerCount": "확정 스페셜 손님 수", - "AddSpecialCustomerCount": "추가 스페셜 손님 확률", + "Level": "레벨 or 평판", + "Area:string": "등장 지역", + "CustomerPool:string": "일반 손님 풀", + "SpecialCustomerPool:string": "스페셜 손님 풀", + "SpawnType:NativeEnum": "스폰 타입", "CustomerRespawnTime": "손님 리스폰 시간", "Exp": "손님 1명당 경험치", "OrderTime": "주문 대기 인내심 카운트 시간", @@ -327,12 +245,12 @@ "EatingTime": "식사 소요시간" }, { - "Id:string": 1, - "Area": "Area1", - "CustomerPool": "customer_pool_001", - "SpecialCustomerPool": "", - "FixSpecialCustomerCount": 0, - "AddSpecialCustomerCount": 0, + "Id:string": "Level001", + "Level": 1, + "Area:string": "Area1", + "CustomerPool:string": "customer_pool_001", + "SpecialCustomerPool:string": "", + "SpawnType:NativeEnum": "Random", "CustomerRespawnTime": 6, "Exp": 13, "OrderTime": 30, @@ -340,12 +258,12 @@ "EatingTime": 6 }, { - "Id:string": 2, - "Area": "Area1", - "CustomerPool": "customer_pool_002", - "SpecialCustomerPool": "special_customer_pool_001", - "FixSpecialCustomerCount": 1, - "AddSpecialCustomerCount": 10, + "Id:string": "Level002", + "Level": 2, + "Area:string": "Area1", + "CustomerPool:string": "customer_pool_002", + "SpecialCustomerPool:string": "special_customer_pool_001", + "SpawnType:NativeEnum": "Random", "CustomerRespawnTime": 6, "Exp": 13, "OrderTime": 30, @@ -353,12 +271,12 @@ "EatingTime": 6 }, { - "Id:string": 3, - "Area": "Area1", - "CustomerPool": "customer_pool_003", - "SpecialCustomerPool": "special_customer_pool_001", - "FixSpecialCustomerCount": 2, - "AddSpecialCustomerCount": 30, + "Id:string": "Level003", + "Level": 3, + "Area:string": "Area1", + "CustomerPool:string": "customer_pool_003", + "SpecialCustomerPool:string": "special_customer_pool_001", + "SpawnType:NativeEnum": "Regular", "CustomerRespawnTime": 6, "Exp": 13, "OrderTime": 30, @@ -366,12 +284,12 @@ "EatingTime": 6 }, { - "Id:string": 4, - "Area": "Area2", - "CustomerPool": "customer_pool_004", - "SpecialCustomerPool": "special_customer_pool_001", - "FixSpecialCustomerCount": 3, - "AddSpecialCustomerCount": 50, + "Id:string": "Level004", + "Level": 4, + "Area:string": "Area2", + "CustomerPool:string": "customer_pool_004", + "SpecialCustomerPool:string": "special_customer_pool_001", + "SpawnType:NativeEnum": "Regular", "CustomerRespawnTime": 6, "Exp": 13, "OrderTime": 30, @@ -379,12 +297,12 @@ "EatingTime": 6 }, { - "Id:string": 5, - "Area": "Area2", - "CustomerPool": "customer_pool_005", - "SpecialCustomerPool": "special_customer_pool_001", - "FixSpecialCustomerCount": 3, - "AddSpecialCustomerCount": 50, + "Id:string": "Level005", + "Level": 5, + "Area:string": "Area2", + "CustomerPool:string": "customer_pool_005", + "SpecialCustomerPool:string": "special_customer_pool_001", + "SpawnType:NativeEnum": "Regular", "CustomerRespawnTime": 6, "Exp": 13, "OrderTime": 30, @@ -392,12 +310,12 @@ "EatingTime": 6 }, { - "Id:string": 6, - "Area": "Area2", - "CustomerPool": "customer_pool_006", - "SpecialCustomerPool": "special_customer_pool_001", - "FixSpecialCustomerCount": 3, - "AddSpecialCustomerCount": 50, + "Id:string": "Level006", + "Level": 6, + "Area:string": "Area2", + "CustomerPool:string": "customer_pool_006", + "SpecialCustomerPool:string": "special_customer_pool_001", + "SpawnType:NativeEnum": "Random", "CustomerRespawnTime": 6, "Exp": 13, "OrderTime": 30, @@ -407,557 +325,574 @@ ], "CustomerData": [ { - "Id": "식별번호", - "CustomerType": "손님 타입", + "Id:string": "식별번호", + "CustomerType:NativeEnum": "손님 타입", "#Name": "이름", "SpineSkinKey": "스파인 스킨 키 값", - "FavoriteTaste1": "선호 맛1", - "FavoriteTaste2": "선호 맛2", - "FavoriteTaste3": "선호 맛3", - "FavoriteTaste4": "선호 맛4", - "FavoriteTaste5": "선호 맛5", - "FavoriteTaste6": "선호 맛6" + "FavoriteTastes": "선호 맛들" }, { - "Id": "customer_001", - "CustomerType": "Normal", + "Id:string": "customer_001", + "CustomerType:NativeEnum": "Normal", "#Name": "유령1", "SpineSkinKey": "", - "FavoriteTaste1": "", - "FavoriteTaste2": "", - "FavoriteTaste3": "", - "FavoriteTaste4": "", - "FavoriteTaste5": "", - "FavoriteTaste6": "" + "FavoriteTastes": "" }, { - "Id": "customer_002", - "CustomerType": "Normal", + "Id:string": "customer_002", + "CustomerType:NativeEnum": "Normal", "#Name": "유령2", "SpineSkinKey": "", - "FavoriteTaste1": "", - "FavoriteTaste2": "", - "FavoriteTaste3": "", - "FavoriteTaste4": "", - "FavoriteTaste5": "", - "FavoriteTaste6": "" + "FavoriteTastes": "" }, { - "Id": "customer_003", - "CustomerType": "Normal", + "Id:string": "customer_003", + "CustomerType:NativeEnum": "Normal", "#Name": "유령3", "SpineSkinKey": "", - "FavoriteTaste1": "", - "FavoriteTaste2": "", - "FavoriteTaste3": "", - "FavoriteTaste4": "", - "FavoriteTaste5": "", - "FavoriteTaste6": "" + "FavoriteTastes": "" }, { - "Id": "special_customer_001", - "CustomerType": "Special", + "Id:string": "special_customer_001", + "CustomerType:NativeEnum": "Special", "#Name": "차이", "SpineSkinKey": "", - "FavoriteTaste1": "", - "FavoriteTaste2": "", - "FavoriteTaste3": "", - "FavoriteTaste4": "", - "FavoriteTaste5": "", - "FavoriteTaste6": "" + "FavoriteTastes": "" + } + ], + "CustomerPoolData": [ + { + "Id:string": "식별번호", + "CustomerLimitCount": "손님 최대 수", + "Customers:string": "등장 손님들" + }, + { + "Id:string": "customer_pool_001", + "CustomerLimitCount": 4, + "Customers:string": "customer_001" + }, + { + "Id:string": "customer_pool_002", + "CustomerLimitCount": 7, + "Customers:string": "customer_001, customer_002" + }, + { + "Id:string": "customer_pool_003", + "CustomerLimitCount": 9, + "Customers:string": "customer_001, customer_002, customer_003" + }, + { + "Id:string": "customer_pool_004", + "CustomerLimitCount": 3, + "Customers:string": "customer_001" + }, + { + "Id:string": "customer_pool_005", + "CustomerLimitCount": 3, + "Customers:string": "customer_001" + }, + { + "Id:string": "customer_pool_006", + "CustomerLimitCount": 3, + "Customers:string": "customer_001" + }, + { + "Id:string": "special_customer_pool_001", + "CustomerLimitCount": 1, + "Customers:string": "special_customer_001" } ], "ItemData": [ { "Id": "식별번호", - "ItemType:Enum": "아이템타입1" + "ItemType:NativeEnum": "아이템타입1" }, { "Id": "item_food_001", - "ItemType:Enum": "Food" + "ItemType:NativeEnum": "Food" }, { "Id": "item_food_002", - "ItemType:Enum": "Food" + "ItemType:NativeEnum": "Food" }, { "Id": "item_food_003", - "ItemType:Enum": "Food" + "ItemType:NativeEnum": "Food" }, { "Id": "item_food_004", - "ItemType:Enum": "Food" + "ItemType:NativeEnum": "Food" }, { "Id": "item_food_005", - "ItemType:Enum": "Food" + "ItemType:NativeEnum": "Food" }, { "Id": "item_food_006", - "ItemType:Enum": "Food" + "ItemType:NativeEnum": "Food" }, { "Id": "item_food_007", - "ItemType:Enum": "Food" + "ItemType:NativeEnum": "Food" }, { "Id": "item_food_008", - "ItemType:Enum": "Food" + "ItemType:NativeEnum": "Food" }, { "Id": "item_food_009", - "ItemType:Enum": "Food" + "ItemType:NativeEnum": "Food" }, { "Id": "item_food_010", - "ItemType:Enum": "Food" + "ItemType:NativeEnum": "Food" }, { "Id": "item_food_011", - "ItemType:Enum": "Food" + "ItemType:NativeEnum": "Food" }, { "Id": "item_food_012", - "ItemType:Enum": "Food" + "ItemType:NativeEnum": "Food" }, { "Id": "item_food_013", - "ItemType:Enum": "Food" + "ItemType:NativeEnum": "Food" }, { "Id": "item_food_014", - "ItemType:Enum": "Food" + "ItemType:NativeEnum": "Food" }, { "Id": "item_food_015", - "ItemType:Enum": "Food" + "ItemType:NativeEnum": "Food" }, { "Id": "item_food_016", - "ItemType:Enum": "Food" + "ItemType:NativeEnum": "Food" }, { "Id": "item_food_017", - "ItemType:Enum": "Food" + "ItemType:NativeEnum": "Food" }, { "Id": "item_food_018", - "ItemType:Enum": "Food" + "ItemType:NativeEnum": "Food" }, { "Id": "item_food_019", - "ItemType:Enum": "Food" + "ItemType:NativeEnum": "Food" }, { "Id": "item_food_020", - "ItemType:Enum": "Food" + "ItemType:NativeEnum": "Food" }, { "Id": "item_ingredient_001", - "ItemType:Enum": "Ingredient" + "ItemType:NativeEnum": "Ingredient" }, { "Id": "item_ingredient_002", - "ItemType:Enum": "Ingredient" + "ItemType:NativeEnum": "Ingredient" }, { "Id": "item_ingredient_003", - "ItemType:Enum": "Ingredient" + "ItemType:NativeEnum": "Ingredient" }, { "Id": "item_ingredient_004", - "ItemType:Enum": "Ingredient" + "ItemType:NativeEnum": "Ingredient" }, { "Id": "item_ingredient_005", - "ItemType:Enum": "Ingredient" + "ItemType:NativeEnum": "Ingredient" }, { "Id": "item_ingredient_006", - "ItemType:Enum": "Ingredient" + "ItemType:NativeEnum": "Ingredient" }, { "Id": "item_ingredient_007", - "ItemType:Enum": "Ingredient" + "ItemType:NativeEnum": "Ingredient" }, { "Id": "item_ingredient_008", - "ItemType:Enum": "Ingredient" + "ItemType:NativeEnum": "Ingredient" }, { "Id": "item_ingredient_009", - "ItemType:Enum": "Ingredient" + "ItemType:NativeEnum": "Ingredient" }, { "Id": "item_ingredient_010", - "ItemType:Enum": "Ingredient" + "ItemType:NativeEnum": "Ingredient" }, { "Id": "item_ingredient_011", - "ItemType:Enum": "Ingredient" + "ItemType:NativeEnum": "Ingredient" }, { "Id": "item_ingredient_012", - "ItemType:Enum": "Ingredient" + "ItemType:NativeEnum": "Ingredient" }, { "Id": "item_ingredient_013", - "ItemType:Enum": "Ingredient" + "ItemType:NativeEnum": "Ingredient" }, { "Id": "item_ingredient_014", - "ItemType:Enum": "Ingredient" + "ItemType:NativeEnum": "Ingredient" }, { "Id": "item_ingredient_015", - "ItemType:Enum": "Ingredient" + "ItemType:NativeEnum": "Ingredient" }, { "Id": "item_ingredient_016", - "ItemType:Enum": "Ingredient" + "ItemType:NativeEnum": "Ingredient" }, { "Id": "item_ingredient_017", - "ItemType:Enum": "Ingredient" + "ItemType:NativeEnum": "Ingredient" }, { "Id": "item_ingredient_018", - "ItemType:Enum": "Ingredient" + "ItemType:NativeEnum": "Ingredient" }, { "Id": "item_ingredient_019", - "ItemType:Enum": "Ingredient" + "ItemType:NativeEnum": "Ingredient" }, { "Id": "item_ingredient_020", - "ItemType:Enum": "Ingredient" + "ItemType:NativeEnum": "Ingredient" }, { "Id": "item_ingredient_021", - "ItemType:Enum": "Ingredient" + "ItemType:NativeEnum": "Ingredient" }, { "Id": "item_ingredient_022", - "ItemType:Enum": "Ingredient" + "ItemType:NativeEnum": "Ingredient" }, { "Id": "item_ingredient_023", - "ItemType:Enum": "Ingredient" + "ItemType:NativeEnum": "Ingredient" }, { "Id": "item_environment_001", - "ItemType:Enum": "Environment" + "ItemType:NativeEnum": "Environment" }, { "Id": "item_environment_002", - "ItemType:Enum": "Environment" + "ItemType:NativeEnum": "Environment" }, { "Id": "item_environment_003", - "ItemType:Enum": "Environment" + "ItemType:NativeEnum": "Environment" }, { "Id": "item_environment_004", - "ItemType:Enum": "Environment" + "ItemType:NativeEnum": "Environment" }, { "Id": "item_environment_005", - "ItemType:Enum": "Environment" + "ItemType:NativeEnum": "Environment" }, { "Id": "item_environment_cookware_001", - "ItemType:Enum": "Environment" + "ItemType:NativeEnum": "Environment" }, { "Id": "item_environment_cookware_002", - "ItemType:Enum": "Environment" + "ItemType:NativeEnum": "Environment" }, { "Id": "item_environment_cookware_003", - "ItemType:Enum": "Environment" + "ItemType:NativeEnum": "Environment" }, { "Id": "item_environment_cookware_004", - "ItemType:Enum": "Environment" + "ItemType:NativeEnum": "Environment" }, { "Id": "item_environment_cookware_005", - "ItemType:Enum": "Environment" + "ItemType:NativeEnum": "Environment" }, { "Id": "item_environment_cookware_006", - "ItemType:Enum": "Environment" + "ItemType:NativeEnum": "Environment" }, { "Id": "item_environment_cookware_007", - "ItemType:Enum": "Environment" + "ItemType:NativeEnum": "Environment" }, { "Id": "item_environment_cookware_008", - "ItemType:Enum": "Environment" + "ItemType:NativeEnum": "Environment" }, { "Id": "item_drink_001", - "ItemType:Enum": "Drink" + "ItemType:NativeEnum": "Drink" }, { "Id": "item_drink_002", - "ItemType:Enum": "Drink" + "ItemType:NativeEnum": "Drink" }, { "Id": "item_drink_003", - "ItemType:Enum": "Drink" + "ItemType:NativeEnum": "Drink" }, { "Id": "item_drink_004", - "ItemType:Enum": "Drink" + "ItemType:NativeEnum": "Drink" }, { "Id": "item_food_recipe_001", - "ItemType:Enum": "Recipe" + "ItemType:NativeEnum": "Recipe" }, { "Id": "item_food_recipe_002", - "ItemType:Enum": "Recipe" + "ItemType:NativeEnum": "Recipe" }, { "Id": "item_food_recipe_003", - "ItemType:Enum": "Recipe" + "ItemType:NativeEnum": "Recipe" }, { "Id": "item_food_recipe_004", - "ItemType:Enum": "Recipe" + "ItemType:NativeEnum": "Recipe" }, { "Id": "item_food_recipe_005", - "ItemType:Enum": "Recipe" + "ItemType:NativeEnum": "Recipe" }, { "Id": "item_food_recipe_006", - "ItemType:Enum": "Recipe" + "ItemType:NativeEnum": "Recipe" }, { "Id": "item_food_recipe_007", - "ItemType:Enum": "Recipe" + "ItemType:NativeEnum": "Recipe" }, { "Id": "item_food_recipe_008", - "ItemType:Enum": "Recipe" + "ItemType:NativeEnum": "Recipe" }, { "Id": "item_food_recipe_009", - "ItemType:Enum": "Recipe" + "ItemType:NativeEnum": "Recipe" }, { "Id": "item_food_recipe_010", - "ItemType:Enum": "Recipe" + "ItemType:NativeEnum": "Recipe" }, { "Id": "item_food_recipe_011", - "ItemType:Enum": "Recipe" + "ItemType:NativeEnum": "Recipe" }, { "Id": "item_food_recipe_012", - "ItemType:Enum": "Recipe" + "ItemType:NativeEnum": "Recipe" }, { "Id": "item_food_recipe_013", - "ItemType:Enum": "Recipe" + "ItemType:NativeEnum": "Recipe" }, { "Id": "item_food_recipe_014", - "ItemType:Enum": "Recipe" + "ItemType:NativeEnum": "Recipe" }, { "Id": "item_food_recipe_015", - "ItemType:Enum": "Recipe" + "ItemType:NativeEnum": "Recipe" }, { "Id": "item_food_recipe_016", - "ItemType:Enum": "Recipe" + "ItemType:NativeEnum": "Recipe" }, { "Id": "item_food_recipe_017", - "ItemType:Enum": "Recipe" + "ItemType:NativeEnum": "Recipe" }, { "Id": "item_food_recipe_018", - "ItemType:Enum": "Recipe" + "ItemType:NativeEnum": "Recipe" }, { "Id": "item_food_recipe_019", - "ItemType:Enum": "Recipe" + "ItemType:NativeEnum": "Recipe" }, { "Id": "item_food_recipe_020", - "ItemType:Enum": "Recipe" + "ItemType:NativeEnum": "Recipe" }, { "Id": "item_drink_recipe_001", - "ItemType:Enum": "Recipe" + "ItemType:NativeEnum": "Recipe" }, { "Id": "item_drink_recipe_002", - "ItemType:Enum": "Recipe" + "ItemType:NativeEnum": "Recipe" }, { "Id": "item_drink_recipe_003", - "ItemType:Enum": "Recipe" + "ItemType:NativeEnum": "Recipe" }, { "Id": "item_drink_recipe_004", - "ItemType:Enum": "Recipe" + "ItemType:NativeEnum": "Recipe" } ], "RecipeData": [ { "Id:string": "식별ID", "#Name": "이름", - "RecipeType:Enum": "레시피타입", + "RecipeType:NativeEnum": "레시피타입", "RecipeResult:string": "완성 메뉴" }, { "Id:string": "item_food_recipe_001", "#Name": "블루 스튜 레시피", - "RecipeType:Enum": "FoodRecipe", + "RecipeType:NativeEnum": "FoodRecipe", "RecipeResult:string": "item_food_001" }, { "Id:string": "item_food_recipe_002", "#Name": "햇빛 스튜 레시피", - "RecipeType:Enum": "FoodRecipe", + "RecipeType:NativeEnum": "FoodRecipe", "RecipeResult:string": "item_food_002" }, { "Id:string": "item_food_recipe_003", "#Name": "심해기억 스튜 레시피", - "RecipeType:Enum": "FoodRecipe", + "RecipeType:NativeEnum": "FoodRecipe", "RecipeResult:string": "item_food_003" }, { "Id:string": "item_food_recipe_004", "#Name": "치킨 굴라쉬 레시피", - "RecipeType:Enum": "FoodRecipe", + "RecipeType:NativeEnum": "FoodRecipe", "RecipeResult:string": "item_food_004" }, { "Id:string": "item_food_recipe_005", "#Name": "꿈해초 크로켓 레시피", - "RecipeType:Enum": "FoodRecipe", + "RecipeType:NativeEnum": "FoodRecipe", "RecipeResult:string": "item_food_005" }, { "Id:string": "item_food_recipe_006", "#Name": "선라이즈 당근카츠 레시피", - "RecipeType:Enum": "FoodRecipe", + "RecipeType:NativeEnum": "FoodRecipe", "RecipeResult:string": "item_food_006" }, { "Id:string": "item_food_recipe_007", "#Name": "미정", - "RecipeType:Enum": "FoodRecipe", + "RecipeType:NativeEnum": "FoodRecipe", "RecipeResult:string": "item_food_007" }, { "Id:string": "item_food_recipe_008", "#Name": "비늘치킨덕 레시피", - "RecipeType:Enum": "FoodRecipe", + "RecipeType:NativeEnum": "FoodRecipe", "RecipeResult:string": "item_food_008" }, { "Id:string": "item_food_recipe_009", "#Name": "화룡장어 구이 레시피", - "RecipeType:Enum": "FoodRecipe", + "RecipeType:NativeEnum": "FoodRecipe", "RecipeResult:string": "item_food_009" }, { "Id:string": "item_food_recipe_010", "#Name": "미정", - "RecipeType:Enum": "FoodRecipe", + "RecipeType:NativeEnum": "FoodRecipe", "RecipeResult:string": "item_food_010" }, { "Id:string": "item_food_recipe_011", "#Name": "바다의선물 레시피", - "RecipeType:Enum": "FoodRecipe", + "RecipeType:NativeEnum": "FoodRecipe", "RecipeResult:string": "item_food_011" }, { "Id:string": "item_food_recipe_012", "#Name": "유령새우회 레시피", - "RecipeType:Enum": "FoodRecipe", + "RecipeType:NativeEnum": "FoodRecipe", "RecipeResult:string": "item_food_012" }, { "Id:string": "item_food_recipe_013", "#Name": "비늘초무침 레시피", - "RecipeType:Enum": "FoodRecipe", + "RecipeType:NativeEnum": "FoodRecipe", "RecipeResult:string": "item_food_013" }, { "Id:string": "item_food_recipe_014", "#Name": "쫀징어 냉채 레시피", - "RecipeType:Enum": "FoodRecipe", + "RecipeType:NativeEnum": "FoodRecipe", "RecipeResult:string": "item_food_014" }, { "Id:string": "item_food_recipe_015", "#Name": "쫀징어링 레시피", - "RecipeType:Enum": "FoodRecipe", + "RecipeType:NativeEnum": "FoodRecipe", "RecipeResult:string": "item_food_015" }, { "Id:string": "item_food_recipe_016", "#Name": "꿈해파리 볶음 레시피", - "RecipeType:Enum": "FoodRecipe", + "RecipeType:NativeEnum": "FoodRecipe", "RecipeResult:string": "item_food_016" }, { "Id:string": "item_food_recipe_017", "#Name": "페퍼포칼립스 레시피", - "RecipeType:Enum": "FoodRecipe", + "RecipeType:NativeEnum": "FoodRecipe", "RecipeResult:string": "item_food_017" }, { "Id:string": "item_food_recipe_018", "#Name": "미정", - "RecipeType:Enum": "FoodRecipe", + "RecipeType:NativeEnum": "FoodRecipe", "RecipeResult:string": "item_food_018" }, { "Id:string": "item_food_recipe_019", "#Name": "미정", - "RecipeType:Enum": "FoodRecipe", + "RecipeType:NativeEnum": "FoodRecipe", "RecipeResult:string": "item_food_019" }, { "Id:string": "item_food_recipe_020", "#Name": "미정", - "RecipeType:Enum": "FoodRecipe", + "RecipeType:NativeEnum": "FoodRecipe", "RecipeResult:string": "item_food_020" }, { "Id:string": "item_drink_recipe_001", "#Name": "토마토 주스 레시피", - "RecipeType:Enum": "DrinkRecipe", + "RecipeType:NativeEnum": "DrinkRecipe", "RecipeResult:string": "item_drink_001" }, { "Id:string": "item_drink_recipe_002", "#Name": "오렌지 주스 레시피", - "RecipeType:Enum": "DrinkRecipe", + "RecipeType:NativeEnum": "DrinkRecipe", "RecipeResult:string": "item_drink_002" }, { "Id:string": "item_drink_recipe_003", "#Name": "여신의눈물 레시피", - "RecipeType:Enum": "DrinkRecipe", + "RecipeType:NativeEnum": "DrinkRecipe", "RecipeResult:string": "item_drink_003" }, { "Id:string": "item_drink_recipe_004", "#Name": "라벨블루 레시피", - "RecipeType:Enum": "DrinkRecipe", + "RecipeType:NativeEnum": "DrinkRecipe", "RecipeResult:string": "item_drink_004" } ], @@ -1613,144 +1548,144 @@ { "Id:string": "식별ID", "#Name": "이름", - "CookwareType:Enum": "요리도구 타입" + "CookwareType:NativeEnum": "요리도구 타입" }, { "Id:string": "item_environment_cookware_001", "#Name": "냄비", - "CookwareType:Enum": "Pot" + "CookwareType:NativeEnum": "Pot" }, { "Id:string": "item_environment_cookware_002", "#Name": "튀김", - "CookwareType:Enum": "Fryer" + "CookwareType:NativeEnum": "Fryer" }, { "Id:string": "item_environment_cookware_003", "#Name": "화로", - "CookwareType:Enum": "FirePit" + "CookwareType:NativeEnum": "FirePit" }, { "Id:string": "item_environment_cookware_004", "#Name": "", - "CookwareType:Enum": "CuttingBoard" + "CookwareType:NativeEnum": "CuttingBoard" }, { "Id:string": "item_environment_cookware_005", "#Name": "", - "CookwareType:Enum": "Griddle" + "CookwareType:NativeEnum": "Griddle" }, { "Id:string": "item_environment_cookware_006", "#Name": "", - "CookwareType:Enum": "MagicOven" + "CookwareType:NativeEnum": "MagicOven" }, { "Id:string": "item_environment_cookware_007", "#Name": "", - "CookwareType:Enum": "JuiceMachine" + "CookwareType:NativeEnum": "JuiceMachine" }, { "Id:string": "item_environment_cookware_008", "#Name": "", - "CookwareType:Enum": "Barrel" + "CookwareType:NativeEnum": "Barrel" } ], "TasteData": [ { "Id:string": "식별ID", "#Name": "이름", - "TasteType:Enum": "맛 종류" + "TasteType:NativeEnum": "맛 종류" }, { "Id:string": "Sweet", "#Name": "단맛", - "TasteType:Enum": "Sweet" + "TasteType:NativeEnum": "Sweet" }, { "Id:string": "Warm", "#Name": "따뜻한", - "TasteType:Enum": "Warm" + "TasteType:NativeEnum": "Warm" }, { "Id:string": "Vegetable", "#Name": "채류", - "TasteType:Enum": "Vegetable" + "TasteType:NativeEnum": "Vegetable" }, { "Id:string": "Bitter", "#Name": "쓴맛", - "TasteType:Enum": "Bitter" + "TasteType:NativeEnum": "Bitter" }, { "Id:string": "Salty", "#Name": "짠맛", - "TasteType:Enum": "Salty" + "TasteType:NativeEnum": "Salty" }, { "Id:string": "Mild", "#Name": "담백한", - "TasteType:Enum": "Mild" + "TasteType:NativeEnum": "Mild" }, { "Id:string": "Addictive", "#Name": "중독적인", - "TasteType:Enum": "Addictive" + "TasteType:NativeEnum": "Addictive" }, { "Id:string": "Sour", "#Name": "신맛", - "TasteType:Enum": "Sour" + "TasteType:NativeEnum": "Sour" }, { "Id:string": "Savory", "#Name": "고소한", - "TasteType:Enum": "Savory" + "TasteType:NativeEnum": "Savory" }, { "Id:string": "Meat", "#Name": "육류", - "TasteType:Enum": "Meat" + "TasteType:NativeEnum": "Meat" }, { "Id:string": "SuperHot", "#Name": "핵불닭맛", - "TasteType:Enum": "SuperHot" + "TasteType:NativeEnum": "SuperHot" }, { "Id:string": "Fish", "#Name": "어류", - "TasteType:Enum": "Fish" + "TasteType:NativeEnum": "Fish" }, { "Id:string": "NoneDegree", "#Name": "도수가없는", - "TasteType:Enum": "NoneDegree" + "TasteType:NativeEnum": "NoneDegree" }, { "Id:string": "Soda", "#Name": "탄산", - "TasteType:Enum": "Soda" + "TasteType:NativeEnum": "Soda" }, { "Id:string": "LowDegree", "#Name": "도수가낮은", - "TasteType:Enum": "LowDegree" + "TasteType:NativeEnum": "LowDegree" }, { "Id:string": "WoodFlavor", "#Name": "나무향", - "TasteType:Enum": "WoodFlavor" + "TasteType:NativeEnum": "WoodFlavor" }, { "Id:string": "MiddleDegree", "#Name": "도수가보통인", - "TasteType:Enum": "MiddleDegree" + "TasteType:NativeEnum": "MiddleDegree" }, { "Id:string": "FruitFlavor", "#Name": "과일향", - "TasteType:Enum": "FruitFlavor" + "TasteType:NativeEnum": "FruitFlavor" } ], "EnvironmentData": [ diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Logs/GoogleSheetChangeLog.asset b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Logs/GoogleSheetChangeLog.asset index 4acb7faa1..6df281516 100644 --- a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Logs/GoogleSheetChangeLog.asset +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/Logs/GoogleSheetChangeLog.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f3f4c2e9c2ddaadd90561c4f4448421b5a58001c9d9195494568f9d6d2c79e38 -size 310088 +oid sha256:34b91a5ff42be5195c45ebd572c39243eb9957553a70654522cd5ef422f9d5b2 +size 554482 diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/CookwareDataSo.asset b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/CookwareDataSo.asset index f4701e166..e78767be5 100644 --- a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/CookwareDataSo.asset +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/CookwareDataSo.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c1e97cb28737aea6d913e708ac816a2310fd87d758ebe3aae479fcdc514a9c1c -size 1012 +oid sha256:38b93c1a21f0361c1e0bb154afdc0a0d9103225195b9f0cedd26e74de126eb3f +size 1013 diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/CustomerDataSo.asset b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/CustomerDataSo.asset new file mode 100644 index 000000000..18a74e4e4 --- /dev/null +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/CustomerDataSo.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:19d677d0d6a155058cba8b6ad1454aa43979a8f97508d11ff15db65447c1f5f9 +size 925 diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/CustomerDataSo.asset.meta b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/CustomerDataSo.asset.meta new file mode 100644 index 000000000..010a75bb6 --- /dev/null +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/CustomerDataSo.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 63f18758dde45c349bf1eb84a6b2b507 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/CustomerPoolDataSo.asset b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/CustomerPoolDataSo.asset new file mode 100644 index 000000000..2a1e06063 --- /dev/null +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/CustomerPoolDataSo.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:744e0087510d2c2d522b5f894d684df478acfae5456ec547157af0c662c018f5 +size 1316 diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/CustomerPoolDataSo.asset.meta b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/CustomerPoolDataSo.asset.meta new file mode 100644 index 000000000..47928e4f3 --- /dev/null +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/CustomerPoolDataSo.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b2607a9819d236b418d2280c56fd3e62 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/DrinkDataSo.asset b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/DrinkDataSo.asset index 30c93bf7e..0373fbe90 100644 --- a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/DrinkDataSo.asset +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/DrinkDataSo.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:146d0605b841d4f75123aa854480103925e0f7d1c6a8c922f9bfb0a5b54e8b4a -size 2211 +oid sha256:3dfdc5570d516edbb7436c74cd98e4c4722fd4691afab34ba094b93a041dc2f9 +size 2212 diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/EnvironmentDataSo.asset b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/EnvironmentDataSo.asset index c238d161d..d1b5123d1 100644 --- a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/EnvironmentDataSo.asset +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/EnvironmentDataSo.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:340f178103ea72f69aded0a8a302e46913b8ee03f090836881ca18ad7461b1d3 -size 1533 +oid sha256:863b433c27804f5f08c20382a8565fcfa5d4f79c61a0941ba31545db5031e660 +size 1534 diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/FoodDataSo.asset b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/FoodDataSo.asset index 76388db15..31da407d7 100644 --- a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/FoodDataSo.asset +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/FoodDataSo.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0356172c0b9ac94313c3db5ec6a944f79bb5abb2dcf2bd430dc75033e047668c -size 9431 +oid sha256:12ddf4f70c6d37a1fb65c09de7281602c7d70f99255e3fe5d7aa198f6b829810 +size 9432 diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/IngredientDataSo.asset b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/IngredientDataSo.asset index c99bbb8bb..a916baa64 100644 --- a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/IngredientDataSo.asset +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/IngredientDataSo.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:470e4d57ba4f7324ac8beaeb07a8ed4476614c83c0c8931ddf66ce64f38b0aba -size 1449 +oid sha256:32cb5468e3b617ba50526c12255e072cfa8d658c73800a32a4ac852a37307f51 +size 1450 diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/ItemDataSo.asset b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/ItemDataSo.asset index 012240a51..0cb1025ce 100644 --- a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/ItemDataSo.asset +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/ItemDataSo.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c14edcf362af45cd5bd685be9e4a7fb1852dc7310b789deb1bd45f1af916bc77 -size 5505 +oid sha256:6e75e05c2ca952b82d8b3204ebcd86ac4459c4d4a06b311a4ee99ebb8a39605e +size 5506 diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/LevelDataSo.asset b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/LevelDataSo.asset index 7b7eb2a3c..7db412a21 100644 --- a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/LevelDataSo.asset +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/LevelDataSo.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:633f15de93305e44d4275f65f010caa7cb77436a92ed3bdff21b976b196b456f -size 2093 +oid sha256:563078d8747c408ee7fd6442914fe4c071effe4ed8fcd1782cd9ddfbffb3890b +size 2125 diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/RecipeDataSo.asset b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/RecipeDataSo.asset index 7ccc9b24e..1739578ea 100644 --- a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/RecipeDataSo.asset +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/RecipeDataSo.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f2ce334eb471556a3986b305c184170fbada351da8e34cb9cc89fe8ef9990e30 -size 2722 +oid sha256:cfb22ca245534fdd789d910626dd295eb2eb7abdbedfcb62c8927bdec52a8e79 +size 2723 diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/TasteDataSo.asset b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/TasteDataSo.asset index d3fe93a8f..afe417bbc 100644 --- a/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/TasteDataSo.asset +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/AutoCreated/So/TasteDataSo.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f3ef07464dce6d19dca169da8bc99f71b8c6c7f718f0db814bee113aeadcd36d -size 1316 +oid sha256:d408dbe2e5bfcf05f5cb6c69620258d694b22a6924be0c1b90343908907b47f0 +size 1317 diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/Core/Implementations/Reload/SessionStateReloadCoordinator.cs b/Assets/_DDD/_Scripts/GenerateGoogleSheet/Core/Implementations/Reload/SessionStateReloadCoordinator.cs index 3d90f9ac9..747fc1659 100644 --- a/Assets/_DDD/_Scripts/GenerateGoogleSheet/Core/Implementations/Reload/SessionStateReloadCoordinator.cs +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/Core/Implementations/Reload/SessionStateReloadCoordinator.cs @@ -80,7 +80,7 @@ private static async void TryRun() { // 짧은 안정화 대기 (도메인 리로드 직후 임포트 마무리용) await Task.Delay(100); - await manager.ContinueSoSyncAfterReload_Public(); // ← 아래 3) 참고(퍼블릭 메서드) + await manager.ContinueSoSyncAfterReload(); // ← 아래 3) 참고(퍼블릭 메서드) } catch (System.Exception e) { diff --git a/Assets/_DDD/_Scripts/GenerateGoogleSheet/Core/Manager/GoogleSheetManager.cs b/Assets/_DDD/_Scripts/GenerateGoogleSheet/Core/Manager/GoogleSheetManager.cs index 5846c5da7..dc32b3e26 100644 --- a/Assets/_DDD/_Scripts/GenerateGoogleSheet/Core/Manager/GoogleSheetManager.cs +++ b/Assets/_DDD/_Scripts/GenerateGoogleSheet/Core/Manager/GoogleSheetManager.cs @@ -23,6 +23,8 @@ public class GoogleSheetManager : ScriptableObject [LabelText("선택 버전"), ValueDropdown(nameof(GetVersionOptions))] [SerializeField] private int _selectedVersionIndex; + [SerializeField] private bool _isBusy; + private string _lastJsonCache; private IGoogleSheetSource _source; @@ -129,21 +131,22 @@ await RunOnMainThread(() => } // 6) SO 동기화 - await ContinueSoSync(json); + await ContinueSoSync(json, true); } - public async Task ContinueSoSyncAfterReload_Public() + public async Task ContinueSoSyncAfterReload() { if (string.IsNullOrEmpty(_lastJsonCache)) { Debug.LogWarning("[GoogleSheetManager] 리로드 후 캐시 JSON 없음"); return; } - await ContinueSoSync(_lastJsonCache); + await ContinueSoSync(_lastJsonCache, true); _lastJsonCache = null; } - private async Task ContinueSoSync(string json) + // 기존 메서드 대체 + private async Task ContinueSoSync(string json, bool saveSnapshot) { var selected = new HashSet(StringComparer.Ordinal); if (_settings.AutoCreateSheets != null) foreach (var s in _settings.AutoCreateSheets) selected.Add(s); @@ -159,13 +162,17 @@ private async Task ContinueSoSync(string json) _addressablesRegistrar.BuildIfNeeded(_settings.AutoBuildAddressables); } - _versionStore.SaveSnapshot(json, _editorName, _settings.BackupsFolderAssetPath); - _editorName = null; + if (saveSnapshot) + { + _versionStore.SaveSnapshot(json, _editorName, _settings.BackupsFolderAssetPath); + _editorName = null; + } Debug.Log(ok ? "✅ SO 동기화 완료" : "⚠️ SO 동기화 중 일부 실패"); await Task.CompletedTask; } + [Button("선택 버전으로 복구")] public async Task RestoreWithVersionIndex() { @@ -208,7 +215,7 @@ public async Task RestoreWithVersionIndex() return; } - await ContinueSoSync(restoreJson); + await ContinueSoSync(restoreJson, true); } [Button("선택 버전과 현재 비교")] @@ -299,6 +306,143 @@ private int GetSnapshotCountSafe() var log = AssetDatabase.LoadAssetAtPath(_settings.ChangeLogAssetPath); return (log != null && log.Logs != null) ? log.Logs.Count : 0; } + + private async Task GuardAsync(Func body, string tag, int timeoutMs = 90000) + { + if (_isBusy) + { + Debug.LogWarning($"[{tag}] 이미 실행 중입니다."); + return false; + } + + _isBusy = true; + try + { + // 본문과 타임아웃 중 먼저 끝나는 쪽을 기다린다 + var work = body(); + var done = await Task.WhenAny(work, Task.Delay(timeoutMs)); + if (done != work) + throw new TimeoutException($"[{tag}] {timeoutMs}ms 타임아웃"); + + // body() 내부 예외 전파 + await work; + return true; + } + catch (OperationCanceledException) + { + Debug.LogWarning($"[{tag}] 취소됨"); + return false; + } + catch (Exception e) + { + Debug.LogError($"[{tag}] 실행 중 예외: {e}"); + return false; + } + finally + { + _isBusy = false; + } + } + + [Button("데이터만 가져오기 (웹앱/로컬 소스)")] + public async Task FetchJsonOnly() + { + await GuardAsync(async () => + { + if (_settings == null) { Debug.LogError("Settings So가 없습니다."); return; } + BuildServices(); + + Debug.Log("[FetchJsonOnly] 1) 시작"); + var fetchTask = _source.FetchAllJsonAsync(); + + // 네트워크 대기를 한 번 더 보호 (HttpClient/UnityWebRequest가 내부 타임아웃 실패 시 대비) + var done = await Task.WhenAny(fetchTask, Task.Delay(_settings.HttpTimeoutSeconds * 2000)); + if (done != fetchTask) + throw new TimeoutException("[FetchJsonOnly] 소스에서 응답 지연(추가 타임아웃)"); + + var json = await fetchTask; + Debug.Log($"[FetchJsonOnly] 2) 페치 완료 len={(json?.Length ?? 0)}"); + if (string.IsNullOrWhiteSpace(json)) + { + Debug.LogWarning("[FetchJsonOnly] 가져온 JSON이 비어있습니다."); + return; + } + + Debug.Log("[FetchJsonOnly] 3) 메인스레드에서 저장/임포트 예약"); + await RunOnMainThread(() => + { + var full = GoogleSheetSettingsSo.AssetToFull(_settings.JsonWorkFileAssetPath); + var dir = System.IO.Path.GetDirectoryName(full); + if (!string.IsNullOrEmpty(dir) && !System.IO.Directory.Exists(dir)) + System.IO.Directory.CreateDirectory(dir); + + System.IO.File.WriteAllText(full, json); + AssetDatabase.ImportAsset(_settings.JsonWorkFileAssetPath); + }); + + Debug.Log("[FetchJsonOnly] 4) 완료"); + }, tag: "FetchJsonOnly"); + } + + + [Button("코드만 생성 (현재 JSON)")] + public async Task GenerateCodeOnlyFromCurrentJson() + { + if (_settings == null) { Debug.LogError("Settings So가 없습니다."); return; } + BuildServices(); + + var text = AssetDatabase.LoadAssetAtPath(_settings.JsonWorkFileAssetPath); + if (text == null) + { + EditorUtility.DisplayDialog( + "코드 생성 불가", + $"작업 JSON이 없습니다.\n{_settings.JsonWorkFileAssetPath}\n먼저 데이터 가져오기를 실행하세요.", + "확인"); + return; + } + + var gen = _codeGenerator.Generate( + text.text, + _settings.AutoCreateSheets ?? new List(), + _settings.RootNamespace, + _settings.GenerateAssetBasePath, + _settings.EnumTypesAssetPath, + _settings.ClassesFolderAssetPath + ); + + if (gen.AnyFileCreated) + { + // 코드만 생성: 리로드만 기다리고 종료 (SoSync 예약 X) + while (EditorApplication.isCompiling) await Task.Delay(150); + AssetDatabase.Refresh(); + Debug.Log("✅ 코드만 생성 완료 (리로드됨)."); + } + else + { + Debug.Log("코드 생성: 변경 없음."); + } + } + + [Button("SO만 동기화 (현재 JSON)")] + public async Task SyncSoOnlyFromCurrentJson() + { + if (_settings == null) { Debug.LogError("Settings So가 없습니다."); return; } + BuildServices(); + + var text = AssetDatabase.LoadAssetAtPath(_settings.JsonWorkFileAssetPath); + if (text == null) + { + EditorUtility.DisplayDialog( + "SO 동기화 불가", + $"작업 JSON이 없습니다.\n{_settings.JsonWorkFileAssetPath}\n먼저 데이터 가져오기 또는 코드 생성 파이프라인을 실행하세요.", + "확인"); + return; + } + + // 스냅샷 남기지 않음(필요하면 true로 바꾸세요) + await ContinueSoSync(text.text, saveSnapshot: false); + Debug.Log("✅ SO만 동기화 완료."); + } } } #endif \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/ICurrentDirection.cs b/Assets/_DDD/_Scripts/RestaurantCharacter/ICurrentDirection.cs new file mode 100644 index 000000000..fafe07a1c --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/ICurrentDirection.cs @@ -0,0 +1,9 @@ +using UnityEngine; + +namespace DDD +{ + public interface ICurrentDirection + { + Vector3 GetCurrentDirection(); + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/ICurrentDirection.cs.meta b/Assets/_DDD/_Scripts/RestaurantCharacter/ICurrentDirection.cs.meta new file mode 100644 index 000000000..0e99fab28 --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/ICurrentDirection.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: e2dc4bb972964f36bba4e0ccc2adbcf8 +timeCreated: 1754992211 \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/Npc/Customer/CustomerCharacter.cs b/Assets/_DDD/_Scripts/RestaurantCharacter/Npc/Customer/CustomerCharacter.cs index 77f409cd6..549e1cd4c 100644 --- a/Assets/_DDD/_Scripts/RestaurantCharacter/Npc/Customer/CustomerCharacter.cs +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/Npc/Customer/CustomerCharacter.cs @@ -2,8 +2,15 @@ namespace DDD { - public class CustomerCharacter : MonoBehaviour + public class CustomerCharacter : RestaurantNpcCharacter, ICustomerInitializer { + private CustomerData _customerData; + public void Initialize(string customerDataId, CustomerData customerData) + { + _customerData = customerData; + + // TODO : 손님 생성 로직 추가 + } } } \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/Npc/RestaurantNpcCharacter.cs b/Assets/_DDD/_Scripts/RestaurantCharacter/Npc/RestaurantNpcCharacter.cs new file mode 100644 index 000000000..f84416c76 --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/Npc/RestaurantNpcCharacter.cs @@ -0,0 +1,18 @@ +using BehaviorDesigner.Runtime; + +namespace DDD +{ + public class RestaurantNpcCharacter : RestaurantCharacter + { + protected BehaviorTree _behaviorTree; + protected SpineController _spineController; + + protected override void Awake() + { + base.Awake(); + + _behaviorTree = GetComponent(); + _spineController = GetComponent(); + } + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/Npc/RestaurantNpcCharacter.cs.meta b/Assets/_DDD/_Scripts/RestaurantCharacter/Npc/RestaurantNpcCharacter.cs.meta new file mode 100644 index 000000000..781b532d7 --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/Npc/RestaurantNpcCharacter.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: cade447fb525e0c49a3c9baaa4da135f \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/Npc/RestaurantNpcMovement.cs b/Assets/_DDD/_Scripts/RestaurantCharacter/Npc/RestaurantNpcMovement.cs index 1e691ffd3..e718d28b7 100644 --- a/Assets/_DDD/_Scripts/RestaurantCharacter/Npc/RestaurantNpcMovement.cs +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/Npc/RestaurantNpcMovement.cs @@ -3,9 +3,10 @@ namespace DDD { - public class RestaurantNpcMovement : RestaurantCharacterMovement, IAiMovement + public class RestaurantNpcMovement : RestaurantCharacterMovement, IAiMovement, ICurrentDirection { private IAstarAI _iAstarAi; + private Vector3 _lastDirection = Vector3.forward; private const int MaxRandomMoveAttempts = 1000; @@ -142,5 +143,17 @@ public bool TryMoveToRandomPositionInRange(float range, int graphIndex = 0) PlayMove(); return true; } + + public Vector3 GetCurrentDirection() + { + var currentVelocity = _iAstarAi.velocity; + + if (currentVelocity.sqrMagnitude > 0.0001f) + { + _lastDirection = currentVelocity.normalized; + } + + return _lastDirection; + } } } \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/Player/RestaurantPlayerCharacter.cs b/Assets/_DDD/_Scripts/RestaurantCharacter/Player/RestaurantPlayerCharacter.cs index 796c1da66..851c03542 100644 --- a/Assets/_DDD/_Scripts/RestaurantCharacter/Player/RestaurantPlayerCharacter.cs +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/Player/RestaurantPlayerCharacter.cs @@ -4,34 +4,6 @@ namespace DDD { public class RestaurantPlayerCharacter : RestaurantCharacter { - private RestaurantPlayerMovement _movement; - private Transform _rootObject; - private Transform _visualLook; - - private void Awake() - { - _movement = GetComponent(); - - _rootObject = transform.Find(CommonConstants.RootObject); - _visualLook = _rootObject.Find(CommonConstants.VisualLook); - } - - private void Update() - { - FlipVisualLook(); - } - - private void FlipVisualLook() - { - Vector3 localScale = _visualLook.localScale; - localScale.x = _movement.GetCurrentDirection().x switch - { - > 0.01f => -Mathf.Abs(localScale.x), - < -0.01f => Mathf.Abs(localScale.x), - _ => localScale.x - }; - _visualLook.localScale = localScale; - } } } \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/Player/RestaurantPlayerMovement.cs b/Assets/_DDD/_Scripts/RestaurantCharacter/Player/RestaurantPlayerMovement.cs index 0ec205d5f..e97ca81cc 100644 --- a/Assets/_DDD/_Scripts/RestaurantCharacter/Player/RestaurantPlayerMovement.cs +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/Player/RestaurantPlayerMovement.cs @@ -7,7 +7,7 @@ namespace DDD { - public class RestaurantPlayerMovement : RestaurantCharacterMovement + public class RestaurantPlayerMovement : RestaurantCharacterMovement, ICurrentDirection { #region Fields diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacter.cs b/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacter.cs index 33aae44a9..46ecfa207 100644 --- a/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacter.cs +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacter.cs @@ -1,19 +1,26 @@ +using Sirenix.OdinInspector; using UnityEngine; namespace DDD { public class RestaurantCharacter : MonoBehaviour, IGameCharacter, IInteractor { - private void Start() + [EnumToggleButtons, SerializeField] protected InteractionType _interactionType; + + protected virtual void Awake() { } + + protected virtual void Start() { - // TODO : Add event solvers dynamically - for (int i = 0; i < (int)InteractionType.Count; i++) + foreach (var typeToSolver in RestaurantInteractionEventSolvers.TypeToSolver) { - InteractionType interactionType = (InteractionType)i; - // TODO : if this character should handle the interaction? - if (RestaurantInteractionEventSolvers.TypeToSolver.TryGetValue(interactionType, out var solverType)) + var flag = typeToSolver.Key; + if (flag == InteractionType.None) continue; + + if ((_interactionType & flag) == 0) continue; + + if (!TryGetComponent(typeToSolver.Value, out _)) { - gameObject.AddComponent(solverType); + gameObject.AddComponent(typeToSolver.Value); } } } diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacterInteraction.cs b/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacterInteraction.cs index f706014b9..30a022f59 100644 --- a/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacterInteraction.cs +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacterInteraction.cs @@ -72,7 +72,7 @@ protected void ResetInteractionState() protected IInteractable GetNearestInteractable() { - int colliderCount = Physics.OverlapSphereNonAlloc(transform.position, _interactionRadius, _nearColliders, _interactionLayerMask); + int colliderCount = Physics.OverlapSphereNonAlloc(transform.position, _interactionRadius, _nearColliders, _interactionLayerMask, QueryTriggerInteraction.Collide); float closestDistance = float.MaxValue; IInteractable closest = null; diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacterVisual.cs b/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacterVisual.cs new file mode 100644 index 000000000..13b6bfa02 --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacterVisual.cs @@ -0,0 +1,35 @@ +using UnityEngine; + +namespace DDD +{ + public class RestaurantCharacterVisual : MonoBehaviour + { + private ICurrentDirection _iCurrentDirection; + + private Transform _rootObject; + + private void Awake() + { + _iCurrentDirection = GetComponent(); + + _rootObject = transform.Find(CommonConstants.RootObject); + } + + private void Update() + { + FlipVisualLook(); + } + + private void FlipVisualLook() + { + Vector3 localScale = _rootObject.localScale; + localScale.x = _iCurrentDirection.GetCurrentDirection().x switch + { + > 0.01f => -Mathf.Abs(localScale.x), + < -0.01f => Mathf.Abs(localScale.x), + _ => localScale.x + }; + _rootObject.localScale = localScale; + } + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacterVisual.cs.meta b/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacterVisual.cs.meta new file mode 100644 index 000000000..8e99450cb --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantCharacter/RestaurantCharacterVisual.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ae2637d1ed321b945af3815436c11226 \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantController/CreateRestaurantPlayerSo.cs b/Assets/_DDD/_Scripts/RestaurantController/CreateRestaurantPlayerSo.cs index 49664b737..741b74041 100644 --- a/Assets/_DDD/_Scripts/RestaurantController/CreateRestaurantPlayerSo.cs +++ b/Assets/_DDD/_Scripts/RestaurantController/CreateRestaurantPlayerSo.cs @@ -4,17 +4,22 @@ namespace DDD { [CreateAssetMenu(fileName = "CreateRestaurantPlayerSo", menuName = "GameFlow/CreateRestaurantPlayerSo")] - public class CreateRestaurantPlayerSo : GameFlowTask + public class CreateRestaurantPlayerSo : ScriptableObject, IGameFlowHandler { [SerializeField] private Vector3 _spawnPosition; - public override async Task OnReadyNewFlow(GameFlowState newFlowState) + public async Task OnReadyNewFlow(GameFlowState newFlowState) { var playerPrefab = await AssetManager.LoadAsset(CommonConstants.RestaurantPlayer); var player = Instantiate(playerPrefab, _spawnPosition, playerPrefab.transform.rotation); player.name = CommonConstants.RestaurantPlayer; CameraManager.Instance.GetCameraGameObject(CameraType.RestaurantBaseCamera).SetFollowAndLookAtTarget(player.transform); } + + public Task OnExitCurrentFlow(GameFlowState exitingFlowState) + { + return Task.CompletedTask; + } } } \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantController/RestaurantController.cs b/Assets/_DDD/_Scripts/RestaurantController/RestaurantController.cs index 95769734c..1a66843b8 100644 --- a/Assets/_DDD/_Scripts/RestaurantController/RestaurantController.cs +++ b/Assets/_DDD/_Scripts/RestaurantController/RestaurantController.cs @@ -6,6 +6,7 @@ namespace DDD public class RestaurantController : Singleton, IManager, IGameFlowHandler { public RestaurantEnvironmentStateSo RestaurantEnvironmentStateSo { get; private set; } + public RestaurantCustomerStateSo RestaurantCustomerStateSo { get; private set; } private const string CreateRestaurantPlayerSo = "CreateRestaurantPlayerSo"; private const string CreateEnvironmentSo = "CreateEnvironmentSo"; @@ -16,9 +17,9 @@ public void PreInit() RegisterFlowHandler(); } - public Task Init() + public async Task Init() { - return Task.CompletedTask;; + await LoadData(); } public void PostInit() @@ -37,6 +38,11 @@ private void LoadOrCreateRestaurantState() RestaurantEnvironmentStateSo = ScriptableObject.CreateInstance(); } + private async Task LoadData() + { + RestaurantCustomerStateSo = await AssetManager.LoadAsset(DataConstants.RestaurantCustomerStateSo); + } + private void GenerateDummyEnvironmentProps() { // Make dummy placement data @@ -70,6 +76,26 @@ public async Task OnReadyNewFlow(GameFlowState newFlowState) InputManager.Instance.SwitchCurrentActionMap(InputActionMaps.Restaurant); await Task.WhenAll(playerHandle, todayMenuHandle); } + else if (newFlowState == GameFlowState.RunRestaurant) + { + var restaurantCustomerStateHandle = RestaurantCustomerStateSo.OnReadyNewFlow(newFlowState); + + await Task.WhenAll(restaurantCustomerStateHandle); + } + } + + public async Task OnExitCurrentFlow(GameFlowState exitingFlowState) + { + if (exitingFlowState == GameFlowState.ReadyForRestaurant) + { + + } + else if (exitingFlowState == GameFlowState.RunRestaurant) + { + var restaurantCustomerStateHandle = RestaurantCustomerStateSo.OnExitCurrentFlow(exitingFlowState); + + await Task.WhenAll(restaurantCustomerStateHandle); + } } } } \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantEnvironment/CreateEnvironmentSo.cs b/Assets/_DDD/_Scripts/RestaurantEnvironment/CreateEnvironmentSo.cs index adffd304a..a046d4f92 100644 --- a/Assets/_DDD/_Scripts/RestaurantEnvironment/CreateEnvironmentSo.cs +++ b/Assets/_DDD/_Scripts/RestaurantEnvironment/CreateEnvironmentSo.cs @@ -4,9 +4,9 @@ namespace DDD { [CreateAssetMenu(fileName = "CreateEnvironmentSo", menuName = "GameFlow/CreateEnvironmentSo")] - public class CreateEnvironmentSo : GameFlowTask + public class CreateEnvironmentSo : ScriptableObject, IGameFlowHandler { - public override async Task OnReadyNewFlow(GameFlowState newFlowState) + public async Task OnReadyNewFlow(GameFlowState newFlowState) { var baseRestaurantEnvironmentPrefab = await AssetManager.LoadAsset(CommonConstants.BaseRestaurantEnvironment); @@ -17,5 +17,10 @@ public override async Task OnReadyNewFlow(GameFlowState newFlowState) restaurantEnvironment.Initialize(prop); } } + + public Task OnExitCurrentFlow(GameFlowState exitingFlowState) + { + return Task.CompletedTask; + } } } \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantEvent/RestaurantOpenEventSolver.cs b/Assets/_DDD/_Scripts/RestaurantEvent/RestaurantOpenEventSolver.cs index 0ea0c75fa..3ee7f40ae 100644 --- a/Assets/_DDD/_Scripts/RestaurantEvent/RestaurantOpenEventSolver.cs +++ b/Assets/_DDD/_Scripts/RestaurantEvent/RestaurantOpenEventSolver.cs @@ -19,6 +19,7 @@ private async Task Initialize() public bool ExecuteInteraction(IInteractor interactor, IInteractable interactable, ScriptableObject interactionPayloadSo = null) { + print("발생"); if (CanExecuteInteraction() == false) return false; GameFlowManager.Instance.ChangeFlow(GameFlowState.RunRestaurant); diff --git a/Assets/_DDD/_Scripts/RestaurantState/Customer.meta b/Assets/_DDD/_Scripts/RestaurantState/Customer.meta new file mode 100644 index 000000000..869aa2dfc --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantState/Customer.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e9059e1c629bec940846db50327f1072 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_DDD/_Scripts/RestaurantState/Customer/CustomerFactory.cs b/Assets/_DDD/_Scripts/RestaurantState/Customer/CustomerFactory.cs new file mode 100644 index 000000000..418dfa049 --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantState/Customer/CustomerFactory.cs @@ -0,0 +1,45 @@ +using System.Threading.Tasks; +using UnityEngine; + +namespace DDD +{ + public interface ICustomerFactory + { + Task CreateAsync(CustomerSpawnArgs args); + } + + public interface ICustomerInitializer + { + void Initialize(string customerDataId, CustomerData customerData); + } + + public struct CustomerSpawnArgs + { + public string CustomerDataId; + public CustomerData CustomerData; + public Vector3 Position; + public Quaternion Rotation; + public Transform Parent; + } + + public class CustomerFactory : ICustomerFactory + { + private GameObject _customerPrefab; + + public async Task CreateAsync(CustomerSpawnArgs args) + { + if (!_customerPrefab) + { + _customerPrefab = await AssetManager.LoadAsset(DataConstants.CustomerNpcPrefab); + } + + var newCustomer = Object.Instantiate(_customerPrefab, args.Position, args.Rotation, args.Parent); + + if (newCustomer.TryGetComponent(out ICustomerInitializer initializer)) + { + initializer.Initialize(args.CustomerDataId, args.CustomerData); + } + return newCustomer; + } + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantState/Customer/CustomerFactory.cs.meta b/Assets/_DDD/_Scripts/RestaurantState/Customer/CustomerFactory.cs.meta new file mode 100644 index 000000000..f59221a05 --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantState/Customer/CustomerFactory.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: d15841beb12379f49bbc944529426a18 \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantState/Customer/RandomSpawnScheduleBuilder.cs b/Assets/_DDD/_Scripts/RestaurantState/Customer/RandomSpawnScheduleBuilder.cs new file mode 100644 index 000000000..77646b3f5 --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantState/Customer/RandomSpawnScheduleBuilder.cs @@ -0,0 +1,53 @@ +using System; +using System.Collections.Generic; +using static DDD.SpawnScheduleUtils; + +namespace DDD +{ + public class RandomSpawnScheduleBuilder : ISpawnScheduleBuilder + { + public SpawnSchedule Build(SpawnScheduleBuildArgs args) + { + var randomGenerator = new Random(args.Seed); + + int normalQuota = Math.Max(0, args.NormalQuota); + int specialQuota = Math.Max(0, args.SpecialQuota); + if (args.NormalIds == null || args.NormalIds.Count == 0) normalQuota = 0; + if (args.SpecialIds == null || args.SpecialIds.Count == 0) specialQuota = 0; + + int total = normalQuota + specialQuota; + if (total == 0) return new SpawnSchedule(Array.Empty()); + + // 스페셜 위치만 무작위 고정(정확히 specialQuota개) + var specialPositions = new HashSet(); + PickUniqueIndices(total, specialQuota, randomGenerator, specialPositions); + + int normalIndex = 0; + int specialIndex = 0; + var result = new List(total); + + for (int i = 0; i < total; i++) + { + bool isSpecial = specialPositions.Contains(i); + if (isSpecial) + { + var id = NextRoundRobin(args.SpecialIds, ref specialIndex); + if (string.IsNullOrEmpty(id) == false) + { + result.Add(id); + } + } + else + { + var id = NextRoundRobin(args.NormalIds, ref normalIndex); + if (string.IsNullOrEmpty(id) == false) + { + result.Add(id); + } + } + } + + return new SpawnSchedule(result); + } + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantState/Customer/RandomSpawnScheduleBuilder.cs.meta b/Assets/_DDD/_Scripts/RestaurantState/Customer/RandomSpawnScheduleBuilder.cs.meta new file mode 100644 index 000000000..9f67144c6 --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantState/Customer/RandomSpawnScheduleBuilder.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 50b8d085ff474935a42522d081d6c9d9 +timeCreated: 1754985083 \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantState/Customer/RegularSpawnScheduleBuilder.cs b/Assets/_DDD/_Scripts/RestaurantState/Customer/RegularSpawnScheduleBuilder.cs new file mode 100644 index 000000000..9823d668d --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantState/Customer/RegularSpawnScheduleBuilder.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using static DDD.SpawnScheduleUtils; + +namespace DDD +{ + public class RegularSpawnScheduleBuilder : ISpawnScheduleBuilder + { + public SpawnSchedule Build(SpawnScheduleBuildArgs args) + { + int normalQuota = Math.Max(0, args.NormalQuota); + int specialQuota = Math.Max(0, args.SpecialQuota); + if (args.NormalIds == null || args.NormalIds.Count == 0) normalQuota = 0; + if (args.SpecialIds == null || args.SpecialIds.Count == 0) specialQuota = 0; + + var kinds = BuildProportionalKinds(normalQuota, specialQuota); + + int normalIndex = 0, specialIndex = 0; + var result = new List(kinds.Count); + + foreach (var kind in kinds) + { + if (kind == CustomerType.Special) + { + var id = NextRoundRobin(args.SpecialIds, ref specialIndex); + if (!string.IsNullOrEmpty(id)) result.Add(id); + } + else + { + var id = NextRoundRobin(args.NormalIds, ref normalIndex); + if (!string.IsNullOrEmpty(id)) result.Add(id); + } + } + + return new SpawnSchedule(result); + } + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantState/Customer/RegularSpawnScheduleBuilder.cs.meta b/Assets/_DDD/_Scripts/RestaurantState/Customer/RegularSpawnScheduleBuilder.cs.meta new file mode 100644 index 000000000..62678c8c8 --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantState/Customer/RegularSpawnScheduleBuilder.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: dbde1bb5bc8d4378add6c1e0c793f361 +timeCreated: 1754985186 \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantState/Customer/RestaurantCustomerStateSo.cs b/Assets/_DDD/_Scripts/RestaurantState/Customer/RestaurantCustomerStateSo.cs new file mode 100644 index 000000000..5c641f8d1 --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantState/Customer/RestaurantCustomerStateSo.cs @@ -0,0 +1,137 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using Sirenix.OdinInspector; +using UnityEngine; + +namespace DDD +{ + [CreateAssetMenu(fileName = "RestaurantCustomerStateSo", menuName = "RestaurantState/RestaurantCustomerStateSo")] + public class RestaurantCustomerStateSo : ScriptableObject, IGameFlowHandler + { + [Title("스폰 제어")] + [Tooltip("플로우 시작 후 첫 손님이 등장하기까지 대기 시간(초)")] + [SerializeField] private float _firstSpawnDelaySeconds = 5f; + + [SerializeField] private Vector3 _spawnPoint = new(5f, 0f, 4f); + + [Title("디버그")] + [SerializeField] private SpawnSchedule _spawnSchedule; + + private GameStateSo _gameStateSo; + private LevelDataSo _levelDataSo; + private CustomerDataSo _customerDataSo; + private CustomerPoolDataSo _customerPoolDataSo; + + private ICustomerFactory _iCustomerFactory; + + private CancellationTokenSource _spawnLoopCancellationTokenSource; + + public async Task OnReadyNewFlow(GameFlowState newFlowState) + { + if (newFlowState == GameFlowState.RunRestaurant) + { + await InitializeRunRestaurant(); + } + } + + public Task OnExitCurrentFlow(GameFlowState exitingFlowState) + { + if (exitingFlowState == GameFlowState.RunRestaurant) + { + _spawnLoopCancellationTokenSource?.Cancel(); + _spawnLoopCancellationTokenSource?.Dispose(); + _spawnLoopCancellationTokenSource = null; + } + + return Task.CompletedTask; + } + + private async Task InitializeRunRestaurant() + { + _gameStateSo = await AssetManager.LoadAsset(DataConstants.GameStateSo); + + Debug.Assert(_gameStateSo != null, "_gameStateSo is null"); + + _iCustomerFactory = new CustomerFactory(); + + var currentGameLevel = _gameStateSo.GetCurrentLevel(); + if (_levelDataSo == null) + { + _levelDataSo = DataManager.Instance.GetDataSo(); + } + if (_customerDataSo == null) + { + _customerDataSo = DataManager.Instance.GetDataSo(); + } + if (_customerPoolDataSo == null) + { + _customerPoolDataSo = DataManager.Instance.GetDataSo(); + } + var currentLevelData = _levelDataSo.GetDataList().FirstOrDefault(data => data.Level == currentGameLevel); + + Debug.Assert(currentLevelData != null, "currentLevelData is null"); + + var normalPool = _customerPoolDataSo.GetDataById(currentLevelData.CustomerPool); + var specialPool = _customerPoolDataSo.GetDataById(currentLevelData.SpecialCustomerPool); + + _spawnLoopCancellationTokenSource?.Cancel(); + _spawnLoopCancellationTokenSource = new CancellationTokenSource(); + _ = RunSpawnLoopAsync(currentLevelData, normalPool, specialPool, _spawnLoopCancellationTokenSource.Token); + } + + private async Task RunSpawnLoopAsync(LevelData levelData, CustomerPoolData normalPool, CustomerPoolData specialPool, CancellationToken token) + { + if (_firstSpawnDelaySeconds > 0) + await Task.Delay(TimeSpan.FromSeconds(_firstSpawnDelaySeconds), token); + + var scheduleBuilder = CreateBuilder(levelData.SpawnType); + int randomSeed = Environment.TickCount; + + SpawnSchedule MakeSchedule() => scheduleBuilder.Build(new SpawnScheduleBuildArgs + { + NormalIds = (IReadOnlyList) (normalPool?.ValidCustomers) ?? Array.Empty(), + SpecialIds = (IReadOnlyList) (specialPool?.ValidCustomers) ?? Array.Empty(), + NormalQuota = Math.Max(0, normalPool?.CustomerLimitCount ?? 0), + SpecialQuota = Math.Max(0, specialPool?.CustomerLimitCount ?? 0), + Seed = ++randomSeed + }); + + _spawnSchedule = MakeSchedule(); + float wait = Mathf.Max(0.1f, levelData.CustomerRespawnTime); + + while (token.IsCancellationRequested == false) + { + if (_spawnSchedule.TryDequeue(out var customerId) == false) break; + + if (_customerDataSo.TryGetDataById(customerId, out var customerData)) + { + var rotation = Quaternion.identity; + + _ = _iCustomerFactory.CreateAsync(new CustomerSpawnArgs + { + CustomerDataId = customerId, + CustomerData = customerData, + Position = _spawnPoint, + Rotation = rotation, + Parent = null + }); + } + + await Task.Delay(TimeSpan.FromSeconds(wait), token); + } + } + + private ISpawnScheduleBuilder CreateBuilder(SpawnType type) + { + return type switch + { + SpawnType.Random => new RandomSpawnScheduleBuilder(), + SpawnType.Regular => new RegularSpawnScheduleBuilder(), + _ => new RandomSpawnScheduleBuilder() + }; + } + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantState/Customer/RestaurantCustomerStateSo.cs.meta b/Assets/_DDD/_Scripts/RestaurantState/Customer/RestaurantCustomerStateSo.cs.meta new file mode 100644 index 000000000..cbadc045a --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantState/Customer/RestaurantCustomerStateSo.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 545b3710d04aa3e48923f79f03b5dfc5 \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantState/Customer/SpawnPointProvider.cs b/Assets/_DDD/_Scripts/RestaurantState/Customer/SpawnPointProvider.cs new file mode 100644 index 000000000..1557012bb --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantState/Customer/SpawnPointProvider.cs @@ -0,0 +1,16 @@ +using UnityEngine; + +namespace DDD +{ + public interface ISpawnPointProvider + { + Vector3 GetSpawnPoint(); + } + + public class SpawnPointProvider : ISpawnPointProvider + { + private Vector3 _spawnPoint = new(5f, 0f, 4f); + + public Vector3 GetSpawnPoint() => _spawnPoint; + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantState/Customer/SpawnPointProvider.cs.meta b/Assets/_DDD/_Scripts/RestaurantState/Customer/SpawnPointProvider.cs.meta new file mode 100644 index 000000000..75f3e1d93 --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantState/Customer/SpawnPointProvider.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 7c8eed1028a2d62478e2be784587e268 \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantState/Customer/SpawnSchedule.cs b/Assets/_DDD/_Scripts/RestaurantState/Customer/SpawnSchedule.cs new file mode 100644 index 000000000..3e698025a --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantState/Customer/SpawnSchedule.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using Sirenix.OdinInspector; + +namespace DDD +{ + [Serializable] + public sealed class SpawnSchedule + { + [ShowInInspector] private readonly Queue _queue; + public int Count => _queue.Count; + + public SpawnSchedule(IEnumerable ids) + { + _queue = new Queue(ids); + } + + public bool TryDequeue(out string id) + { + if (_queue.Count == 0) + { + id = null; + return false; + } + + id = _queue.Dequeue(); + return true; + } + } + + public struct SpawnScheduleBuildArgs + { + public IReadOnlyList NormalIds; // Normal 풀의 ValidCustomers + public IReadOnlyList SpecialIds; // Special 풀의 ValidCustomers (없으면 null 또는 빈 목록) + public int NormalQuota; // 한 번의 스케줄에서 뽑아둘 Normal 개수 + public int SpecialQuota; // 한 번의 스케줄에서 뽑아둘 Special 개수 + public int Seed; // 셔플 시드(재현성 필요 시) + } + + public interface ISpawnScheduleBuilder + { + SpawnSchedule Build(SpawnScheduleBuildArgs args); + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantState/Customer/SpawnSchedule.cs.meta b/Assets/_DDD/_Scripts/RestaurantState/Customer/SpawnSchedule.cs.meta new file mode 100644 index 000000000..35bda1b71 --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantState/Customer/SpawnSchedule.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 95cd95783b894ae0a43c3ccf3ddac0ce +timeCreated: 1754985041 \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantState/Customer/SpawnScheduleUtils.cs b/Assets/_DDD/_Scripts/RestaurantState/Customer/SpawnScheduleUtils.cs new file mode 100644 index 000000000..b1237639c --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantState/Customer/SpawnScheduleUtils.cs @@ -0,0 +1,71 @@ +using System; +using System.Collections.Generic; + +namespace DDD +{ + internal static class SpawnScheduleUtils + { + public static string NextRoundRobin(IReadOnlyList source, ref int index) + { + if (source == null || source.Count == 0) return null; + + if (index >= source.Count) + { + index = 0; + } + + return source[index++]; + } + + /// + /// 비율 분배 시퀀스(N/S)를 생성합니다. 스페셜 우선이 아니라 '노말 우선'입니다. + /// accumulator += specialQuota; if (accumulator > total) => S, else N. + /// + public static List BuildProportionalKinds(int normalQuota, int specialQuota) + { + int normal = Math.Max(0, normalQuota); + int special = Math.Max(0, specialQuota); + int total = normal + special; + + var kinds = new List(total); + if (total == 0) return kinds; + + int accumulator = 0; + for (int i = 0; i < total; i++) + { + accumulator += special; + if (accumulator >= total) // 스페셜 개수 보장 + { + kinds.Add(CustomerType.Special); + accumulator -= total; + } + else + { + kinds.Add(CustomerType.Normal); + } + } + return kinds; + } + + public static void PickUniqueIndices(int total, int pickCount, Random randomGenerator, HashSet output) + { + output.Clear(); + pickCount = Math.Min(Math.Max(0, pickCount), total); + if (pickCount == 0 || total == 0) return; + + // 0..total-1을 부분 Fisher–Yates + var indices = new int[total]; + for (int i = 0; i < total; i++) + { + indices[i] = i; + } + + for (int i = 0; i < pickCount; i++) + { + int j = randomGenerator.Next(i, total); + (indices[i], indices[j]) = (indices[j], indices[i]); + output.Add(indices[i]); + } + } + } +} \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/RestaurantState/Customer/SpawnScheduleUtils.cs.meta b/Assets/_DDD/_Scripts/RestaurantState/Customer/SpawnScheduleUtils.cs.meta new file mode 100644 index 000000000..b9ba844a1 --- /dev/null +++ b/Assets/_DDD/_Scripts/RestaurantState/Customer/SpawnScheduleUtils.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: c842c3816a9f401595f053255cfba46f +timeCreated: 1754985116 \ No newline at end of file diff --git a/Assets/_DDD/_Scripts/GameState/RestaurantManagementSo.cs b/Assets/_DDD/_Scripts/RestaurantState/RestaurantManagementSo.cs similarity index 95% rename from Assets/_DDD/_Scripts/GameState/RestaurantManagementSo.cs rename to Assets/_DDD/_Scripts/RestaurantState/RestaurantManagementSo.cs index 3f40aad3d..8c04a016c 100644 --- a/Assets/_DDD/_Scripts/GameState/RestaurantManagementSo.cs +++ b/Assets/_DDD/_Scripts/RestaurantState/RestaurantManagementSo.cs @@ -7,7 +7,7 @@ namespace DDD { [CreateAssetMenu(fileName = "RestaurantManagementSo", menuName = "GameState/RestaurantManagementSo")] - public class RestaurantManagementSo : GameFlowTask + public class RestaurantManagementSo : ScriptableObject, IGameFlowHandler { // TODO : 체크리스트 기능 @@ -24,6 +24,7 @@ public class RestaurantManagementSo : GameFlowTask public int MaxCookwareCount = 6; [Title("실시간 데이터")] + [ReadOnly, SerializeField] private bool _isOpenable; [ReadOnly, ShowInInspector] private Dictionary _todayFoodRecipeIds = new(); [ReadOnly, ShowInInspector] private Dictionary _todayDrinkRecipeIds = new(); [ReadOnly, ShowInInspector] private List _todayWorkerIds = new(); @@ -34,7 +35,7 @@ public class RestaurantManagementSo : GameFlowTask public IReadOnlyList TodayWorkerIds => _todayWorkerIds; public IReadOnlyDictionary> CookwareToRecipeIds => _cookwareToRecipeIds; - public override Task OnReadyNewFlow(GameFlowState newFlowState) + public Task OnReadyNewFlow(GameFlowState newFlowState) { if (newFlowState == GameFlowState.ReadyForRestaurant) { @@ -44,6 +45,11 @@ public override Task OnReadyNewFlow(GameFlowState newFlowState) return Task.CompletedTask; } + public Task OnExitCurrentFlow(GameFlowState exitingFlowState) + { + return Task.CompletedTask; + } + private void InitializeReadyForRestaurant() { _todayFoodRecipeIds.Clear(); @@ -57,8 +63,9 @@ public bool IsOpenable() // TODO : 영업 가능한 상태인지 조건 추가 (최소 요리, 요리도구 배치 등) bool isExistedCookware = CookwareToRecipeIds.Count > 0; bool isExistedMatchedMenu = _cookwareToRecipeIds.Values.Any(recipeSet => recipeSet is { Count: > 0 }); - - return isExistedCookware && isExistedMatchedMenu; + + _isOpenable = isExistedCookware && isExistedMatchedMenu; + return _isOpenable; } public bool TryAddTodayMenu(ItemViewModel model) diff --git a/Assets/_DDD/_Scripts/GameState/RestaurantManagementSo.cs.meta b/Assets/_DDD/_Scripts/RestaurantState/RestaurantManagementSo.cs.meta similarity index 100% rename from Assets/_DDD/_Scripts/GameState/RestaurantManagementSo.cs.meta rename to Assets/_DDD/_Scripts/RestaurantState/RestaurantManagementSo.cs.meta diff --git a/Assets/_DDD/_Scripts/Utilities/Constants.cs b/Assets/_DDD/_Scripts/Utilities/Constants.cs index 3610128db..035451764 100644 --- a/Assets/_DDD/_Scripts/Utilities/Constants.cs +++ b/Assets/_DDD/_Scripts/Utilities/Constants.cs @@ -12,6 +12,7 @@ public static class CommonConstants public static class DataConstants { + public const string GameStateSo = "GameStateSo"; public const string InventoryTestDataSo = "InventoryTestDataSo"; public const string ItemDataSo = "ItemDataSo"; public const string RecipeDataSo = "RecipeDataSo"; @@ -21,12 +22,18 @@ public static class DataConstants public const string CookwareDataSo = "CookwareDataSo"; public const string TasteDataSo = "TasteDataSo"; public const string EnvironmentDataSo = "EnvironmentDataSo"; + public const string LevelDataSo = "LevelDataSo"; + public const string CustomerDataSo = "CustomerDataSo"; + public const string CustomerPoolDataSo = "CustomerPoolDataSo"; public const string RestaurantPlayerDataSo = "RestaurantPlayerDataSo"; public const string UiInputBindingSo = "UiInputBindingSo"; public const string RestaurantManagementSo = "RestaurantManagementSo"; + public const string RestaurantCustomerStateSo = "RestaurantCustomerStateSo"; public const string AtlasLabel = "Atlas"; public const string BasePropSpriteMaterial = "BasePropSpriteMaterial"; + + public const string CustomerNpcPrefab = "CustomerNpc"; } public static class RestaurantPlayerAnimation