술 제조 작업 중

This commit is contained in:
NTG_Lenovo 2024-09-10 16:26:29 +09:00
parent 4ddf944b31
commit 9be98366fa
21 changed files with 1215 additions and 971 deletions

View File

@ -1107,6 +1107,83 @@ RectTransform:
m_CorrespondingSourceObject: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3}
m_PrefabInstance: {fileID: 65862157}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &75333518
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalScale.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalScale.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalScale.z
value: 1
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalPosition.x
value: -13
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalPosition.z
value: 4.47
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1535180298174803447, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: _idx
value: LiquidD
objectReference: {fileID: 0}
- target: {fileID: 1535180298174803447, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: _liquidController
value:
objectReference: {fileID: 1006730367}
- target: {fileID: 5897095096647521783, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_Name
value: Barrel (3)
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
--- !u!1 &79484690
GameObject:
m_ObjectHideFlags: 0
@ -2324,6 +2401,83 @@ Transform:
m_CorrespondingSourceObject: {fileID: 2798544366308408093, guid: 9ce588004bafc1e4e9617fdaa2d77c8d, type: 3}
m_PrefabInstance: {fileID: 5626406452199475265}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &214275878
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalScale.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalScale.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalScale.z
value: 1
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalPosition.x
value: -14
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalPosition.z
value: 4.47
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1535180298174803447, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: _idx
value: LiquidC
objectReference: {fileID: 0}
- target: {fileID: 1535180298174803447, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: _liquidController
value:
objectReference: {fileID: 1006730367}
- target: {fileID: 5897095096647521783, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_Name
value: Barrel (2)
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
--- !u!1 &215611423
GameObject:
m_ObjectHideFlags: 0
@ -6520,6 +6674,83 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 677143481}
m_CullTransparentMesh: 1
--- !u!1001 &679106599
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalScale.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalScale.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalScale.z
value: 1
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalPosition.x
value: -15
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalPosition.z
value: 4.47
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1535180298174803447, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: _idx
value: LiquidB
objectReference: {fileID: 0}
- target: {fileID: 1535180298174803447, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: _liquidController
value:
objectReference: {fileID: 1006730367}
- target: {fileID: 5897095096647521783, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_Name
value: Barrel (1)
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
--- !u!1 &713557313
GameObject:
m_ObjectHideFlags: 0
@ -7412,6 +7643,83 @@ RectTransform:
m_CorrespondingSourceObject: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3}
m_PrefabInstance: {fileID: 810401071}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &828349206
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalScale.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalScale.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalScale.z
value: 1
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalPosition.x
value: -12
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalPosition.z
value: 4.47
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1535180298174803447, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: _idx
value: LiquidE
objectReference: {fileID: 0}
- target: {fileID: 1535180298174803447, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: _liquidController
value:
objectReference: {fileID: 1006730367}
- target: {fileID: 5897095096647521783, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_Name
value: Barrel (4)
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
--- !u!1001 &842924126
PrefabInstance:
m_ObjectHideFlags: 0
@ -8298,11 +8606,6 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 15c02fef22ba8d0488bd2517167c117c, type: 3}
--- !u!4 &884456513 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 6495816087516714767, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
m_PrefabInstance: {fileID: 8752897640629310614}
m_PrefabAsset: {fileID: 0}
--- !u!1 &891021167
GameObject:
m_ObjectHideFlags: 0
@ -8508,17 +8811,6 @@ RectTransform:
m_CorrespondingSourceObject: {fileID: 4291285538023367731, guid: f9e46dadb5448ee4883f8b114e9c6488, type: 3}
m_PrefabInstance: {fileID: 909457639}
m_PrefabAsset: {fileID: 0}
--- !u!114 &909457641 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 267286335665872847, guid: f9e46dadb5448ee4883f8b114e9c6488, type: 3}
m_PrefabInstance: {fileID: 909457639}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9cbe519b68d07ad4285f091528d6a34d, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &963867002
GameObject:
m_ObjectHideFlags: 0
@ -9035,6 +9327,7 @@ MonoBehaviour:
_colorIntensity: 2
_objectPoolCount: 1000
_moveDuration: 0.5
_currentBarrel: {fileID: 0}
--- !u!1001 &1011627381
PrefabInstance:
m_ObjectHideFlags: 0
@ -9447,7 +9740,6 @@ MonoBehaviour:
<TycoonUpgradeUi>k__BackingField: {fileID: 1496452083}
<TycoonManagementUi>k__BackingField: {fileID: 102499729}
<TycoonStageUi>k__BackingField: {fileID: 1733600343}
<BrewingUi>k__BackingField: {fileID: 1909799358}
_fadeImage: {fileID: 2055805162}
--- !u!114 &1049919594
MonoBehaviour:
@ -13295,7 +13587,7 @@ MonoBehaviour:
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 1909799358}
- m_Target: {fileID: 0}
m_TargetAssemblyTypeName: BlueWater.Uis.BrewingUi, Assembly-CSharp
m_MethodName: ConvertButton
m_Mode: 1
@ -14912,17 +15204,6 @@ RectTransform:
m_CorrespondingSourceObject: {fileID: 4291285538023367731, guid: f9e46dadb5448ee4883f8b114e9c6488, type: 3}
m_PrefabInstance: {fileID: 8086743652407108747}
m_PrefabAsset: {fileID: 0}
--- !u!114 &1518298344 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 267286335665872847, guid: f9e46dadb5448ee4883f8b114e9c6488, type: 3}
m_PrefabInstance: {fileID: 8086743652407108747}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9cbe519b68d07ad4285f091528d6a34d, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1527652764
GameObject:
m_ObjectHideFlags: 0
@ -15829,17 +16110,6 @@ RectTransform:
m_CorrespondingSourceObject: {fileID: 4291285538023367731, guid: f9e46dadb5448ee4883f8b114e9c6488, type: 3}
m_PrefabInstance: {fileID: 1627308700}
m_PrefabAsset: {fileID: 0}
--- !u!114 &1627308702 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 267286335665872847, guid: f9e46dadb5448ee4883f8b114e9c6488, type: 3}
m_PrefabInstance: {fileID: 1627308700}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9cbe519b68d07ad4285f091528d6a34d, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &1628404463
PrefabInstance:
m_ObjectHideFlags: 0
@ -19843,7 +20113,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalPosition.x
value: -13.37
value: -16
objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalPosition.y
@ -19881,13 +20151,17 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1535180298174803447, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: _idx
value: LiquidA
objectReference: {fileID: 0}
- target: {fileID: 1535180298174803447, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: _liquidController
value:
objectReference: {fileID: 1006730367}
- target: {fileID: 5897095096647521783, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_Name
value: Liquid
value: Barrel
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
@ -19903,7 +20177,6 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 1909799357}
- component: {fileID: 1909799358}
m_Layer: 5
m_Name: BrewingUi
m_TagString: Untagged
@ -19932,47 +20205,6 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1909799358
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1909799356}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e31b5881c81ad924b93ec7dcfe7baf19, type: 3}
m_Name:
m_EditorClassIdentifier:
SwitchMapsOpened: 2
SwitchMapsClosed: 1
liquidRecipeSlotUiPrefab: {fileID: 282528693430034096, guid: 5d001eb1c848ebd468b622667d90cad8, type: 3}
_drinkRecipeSpawnLocation: {fileID: 1858488035}
_recipeName: {fileID: 713557315}
_drinkImage: {fileID: 1835523529}
_convertButton: {fileID: 1381895787}
_brewingIngredientSlotUis:
- {fileID: 1518298344}
- {fileID: 909457641}
- {fileID: 1627308702}
selectedLiquidData:
<Idx>k__BackingField:
<Name>k__BackingField:
<Category>k__BackingField: 0
<Amount>k__BackingField: 0
<AlcoholVolume>k__BackingField: 0
<Temperature>k__BackingField: 0
<BitterSweet>k__BackingField: 0
<Scent>k__BackingField: 0
<IngredientIdx1>k__BackingField:
<IngredientQuantity1>k__BackingField: 0
<IngredientIdx2>k__BackingField:
<IngredientQuantity2>k__BackingField: 0
<IngredientIdx3>k__BackingField:
<IngredientQuantity3>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
<Color>k__BackingField: {r: 0, g: 0, b: 0, a: 0}
_currentBrewing: {fileID: 0}
--- !u!1 &1918605129
GameObject:
m_ObjectHideFlags: 0
@ -20848,7 +21080,7 @@ Camera:
m_Depth: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 2147745791
m_Bits: 2147614719
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
@ -21769,7 +22001,7 @@ GameObject:
- component: {fileID: 2105041735}
- component: {fileID: 2105041734}
- component: {fileID: 2105041736}
m_Layer: 0
m_Layer: 18
m_Name: LiquidRenderTexture
m_TagString: Untagged
m_Icon: {fileID: 0}
@ -24135,7 +24367,7 @@ PrefabInstance:
- target: {fileID: 4385792948314753237, guid: 981817fdc4897a34bafc0040f15656b9, type: 3}
propertyPath: _targetTransform
value:
objectReference: {fileID: 884456513}
objectReference: {fileID: 0}
- target: {fileID: 9041926907780427371, guid: 981817fdc4897a34bafc0040f15656b9, type: 3}
propertyPath: m_Name
value: TycoonMap
@ -24145,11 +24377,6 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 981817fdc4897a34bafc0040f15656b9, type: 3}
--- !u!4 &7827484746149782378 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 4353418070280708860, guid: 981817fdc4897a34bafc0040f15656b9, type: 3}
m_PrefabInstance: {fileID: 7827484746149782377}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &8086743652407108747
PrefabInstance:
m_ObjectHideFlags: 0
@ -24251,127 +24478,6 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: f9e46dadb5448ee4883f8b114e9c6488, type: 3}
--- !u!1001 &8752897640629310614
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 912470863235380595, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
propertyPath: m_Camera
value:
objectReference: {fileID: 873223991}
- target: {fileID: 1086074593099002285, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
propertyPath: m_Camera
value:
objectReference: {fileID: 873223991}
- target: {fileID: 1666635675717542762, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
propertyPath: m_Camera
value:
objectReference: {fileID: 873223991}
- target: {fileID: 1890371639221043381, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
propertyPath: m_Camera
value:
objectReference: {fileID: 873223991}
- target: {fileID: 2722074097486048961, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
propertyPath: m_Camera
value:
objectReference: {fileID: 873223991}
- target: {fileID: 2886802892998475356, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
propertyPath: m_LocalPosition.x
value: 300
objectReference: {fileID: 0}
- target: {fileID: 2886802892998475356, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2886802892998475356, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2886802892998475356, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2886802892998475356, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 2886802892998475356, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 2886802892998475356, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 2886802892998475356, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2886802892998475356, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2886802892998475356, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2996670218762927670, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
propertyPath: m_Camera
value:
objectReference: {fileID: 873223991}
- target: {fileID: 3095287805770434576, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
propertyPath: m_Camera
value:
objectReference: {fileID: 873223991}
- target: {fileID: 3693116244118559590, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
propertyPath: m_Camera
value:
objectReference: {fileID: 873223991}
- target: {fileID: 4219651580152309109, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
propertyPath: m_Camera
value:
objectReference: {fileID: 873223991}
- target: {fileID: 4997544144761056320, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
propertyPath: m_Camera
value:
objectReference: {fileID: 873223991}
- target: {fileID: 5779811900454425323, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
propertyPath: m_Camera
value:
objectReference: {fileID: 873223991}
- target: {fileID: 6130559905385202114, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
propertyPath: m_Camera
value:
objectReference: {fileID: 873223991}
- target: {fileID: 6526493802215800102, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
propertyPath: _targetTransform
value:
objectReference: {fileID: 7827484746149782378}
- target: {fileID: 6957473214045006851, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
propertyPath: m_Camera
value:
objectReference: {fileID: 873223991}
- target: {fileID: 7151238213608218518, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
propertyPath: m_Camera
value:
objectReference: {fileID: 873223991}
- target: {fileID: 7174987760914822137, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
propertyPath: m_Name
value: BreweryMap
objectReference: {fileID: 0}
- target: {fileID: 8465324282818528478, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
propertyPath: m_Camera
value:
objectReference: {fileID: 873223991}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: f7c3d6c0326461c4a97315587aa777d3, type: 3}
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
@ -24379,8 +24485,8 @@ SceneRoots:
- {fileID: 166220741}
- {fileID: 88262798}
- {fileID: 873223992}
- {fileID: 1774013120}
- {fileID: 1985878520}
- {fileID: 1774013120}
- {fileID: 1634548838}
- {fileID: 355668244}
- {fileID: 1222632321}
@ -24401,9 +24507,12 @@ SceneRoots:
- {fileID: 141729588}
- {fileID: 852387592}
- {fileID: 7827484746149782377}
- {fileID: 8752897640629310614}
- {fileID: 5626406452199475265}
- {fileID: 1899123652}
- {fileID: 679106599}
- {fileID: 214275878}
- {fileID: 75333518}
- {fileID: 828349206}
- {fileID: 1006730365}
- {fileID: 20736010}
- {fileID: 218784750}

View File

@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using BlueWater.Interfaces;
using Newtonsoft.Json;
using Sirenix.OdinInspector;
using UnityEngine;
@ -24,31 +23,31 @@ namespace BlueWater.Items
public string IngredientIdx1 { get; set; }
[field: SerializeField, Tooltip("1번 재료 수량 Idx"), BoxGroup("Json 데이터 영역")]
public int IngredientRatio1 { get; set; }
public int IngredientAmount1 { get; set; }
[field: SerializeField, Tooltip("2번 재료 식별 Idx"), BoxGroup("Json 데이터 영역")]
public string IngredientIdx2 { get; set; }
[field: SerializeField, Tooltip("2번 재료 수량 Idx"), BoxGroup("Json 데이터 영역")]
public int IngredientRatio2 { get; set; }
public int IngredientAmount2 { get; set; }
[field: SerializeField, Tooltip("3번 재료 식별 Idx"), BoxGroup("Json 데이터 영역")]
public string IngredientIdx3 { get; set; }
[field: SerializeField, Tooltip("3번 재료 수량 Idx"), BoxGroup("Json 데이터 영역")]
public int IngredientRatio3 { get; set; }
public int IngredientAmount3 { get; set; }
[field: SerializeField, Tooltip("4번 재료 식별 Idx"), BoxGroup("Json 데이터 영역")]
public string IngredientIdx4 { get; set; }
[field: SerializeField, Tooltip("4번 재료 수량 Idx"), BoxGroup("Json 데이터 영역")]
public int IngredientRatio4 { get; set; }
public int IngredientAmount4 { get; set; }
[field: SerializeField, Tooltip("5번 재료 식별 Idx"), BoxGroup("Json 데이터 영역")]
public string IngredientIdx5 { get; set; }
[field: SerializeField, Tooltip("5번 재료 수량 Idx"), BoxGroup("Json 데이터 영역")]
public int IngredientRatio5 { get; set; }
public int IngredientAmount5 { get; set; }
[BoxGroup("직접 추가하는 영역")]
[field: SerializeField, BoxGroup("직접 추가하는 영역")]
@ -58,13 +57,24 @@ namespace BlueWater.Items
{
var ingredients = new List<CocktailIngredient>(5);
if (!string.IsNullOrEmpty(IngredientIdx1)) ingredients.Add(new CocktailIngredient(IngredientIdx1, IngredientRatio1));
if (!string.IsNullOrEmpty(IngredientIdx2)) ingredients.Add(new CocktailIngredient(IngredientIdx2, IngredientRatio2));
if (!string.IsNullOrEmpty(IngredientIdx3)) ingredients.Add(new CocktailIngredient(IngredientIdx3, IngredientRatio3));
if (!string.IsNullOrEmpty(IngredientIdx4)) ingredients.Add(new CocktailIngredient(IngredientIdx4, IngredientRatio4));
if (!string.IsNullOrEmpty(IngredientIdx5)) ingredients.Add(new CocktailIngredient(IngredientIdx5, IngredientRatio5));
if (!string.IsNullOrEmpty(IngredientIdx1)) ingredients.Add(new CocktailIngredient(IngredientIdx1, IngredientAmount1));
if (!string.IsNullOrEmpty(IngredientIdx2)) ingredients.Add(new CocktailIngredient(IngredientIdx2, IngredientAmount2));
if (!string.IsNullOrEmpty(IngredientIdx3)) ingredients.Add(new CocktailIngredient(IngredientIdx3, IngredientAmount3));
if (!string.IsNullOrEmpty(IngredientIdx4)) ingredients.Add(new CocktailIngredient(IngredientIdx4, IngredientAmount4));
if (!string.IsNullOrEmpty(IngredientIdx5)) ingredients.Add(new CocktailIngredient(IngredientIdx5, IngredientAmount5));
return ingredients;
}
public int GetCocktailAmount(List<CocktailIngredient> cocktailIngredients)
{
var amount = 0;
foreach (var element in cocktailIngredients)
{
amount += element.Amount;
}
return amount;
}
}
}

View File

@ -6,12 +6,12 @@ namespace BlueWater.Items
public class CocktailIngredient
{
public string Idx { get; set; }
public int Ratio { get; set; }
public int Amount { get; set; }
public CocktailIngredient(string idx, int quantity)
public CocktailIngredient(string idx, int amount)
{
Idx = idx;
Ratio = quantity;
Amount = amount;
}
}
}

View File

@ -1,18 +1,10 @@
using System;
using System.Collections.Generic;
using BlueWater.Interfaces;
using Sirenix.OdinInspector;
using UnityEngine;
namespace BlueWater.Items
{
public enum DrinkCategory
{
None = 0,
Alcohol,
Garnish
}
[Serializable]
public class LiquidData : IIdx
{
@ -22,43 +14,10 @@ namespace BlueWater.Items
[field: SerializeField, Tooltip("이름"), BoxGroup("Json 데이터 영역")]
public string Name { get; set; }
[field: SerializeField, Tooltip("종류"), BoxGroup("Json 데이터 영역")]
public DrinkCategory Category { get; set; }
[field: SerializeField, Tooltip("총량"), BoxGroup("Json 데이터 영역")]
public int Amount { get; set; }
[field: SerializeField, Tooltip("도수"), BoxGroup("Json 데이터 영역")]
public int AlcoholVolume { get; set; }
[field: SerializeField, Tooltip("온도"), BoxGroup("Json 데이터 영역")]
public int Temperature { get; set; }
[field: SerializeField, Tooltip("맛"), BoxGroup("Json 데이터 영역")]
public int BitterSweet { get; set; }
[field: SerializeField, Tooltip("향"), BoxGroup("Json 데이터 영역")]
public int Scent { get; set; }
[field: SerializeField, Tooltip("1번 재료 식별 Idx"), BoxGroup("Json 데이터 영역")]
public string IngredientIdx1 { get; set; }
[field: SerializeField, Tooltip("1번 재료 수량 Idx"), BoxGroup("Json 데이터 영역")]
public int IngredientQuantity1 { get; set; }
[field: SerializeField, Tooltip("2번 재료 식별 Idx"), BoxGroup("Json 데이터 영역")]
public string IngredientIdx2 { get; set; }
[field: SerializeField, Tooltip("2번 재료 수량 Idx"), BoxGroup("Json 데이터 영역")]
public int IngredientQuantity2 { get; set; }
[field: SerializeField, Tooltip("3번 재료 식별 Idx"), BoxGroup("Json 데이터 영역")]
public string IngredientIdx3 { get; set; }
[field: SerializeField, Tooltip("3번 재료 수량 Idx"), BoxGroup("Json 데이터 영역")]
public int IngredientQuantity3 { get; set; }
[BoxGroup("직접 추가하는 영역")]
[field: SerializeField, BoxGroup("직접 추가하는 영역")]
public Sprite Sprite { get; set; }
@ -66,16 +25,10 @@ namespace BlueWater.Items
[BoxGroup("직접 추가하는 영역")]
[field: SerializeField, BoxGroup("직접 추가하는 영역")]
public Color Color { get; set; }
public List<Ingredient> GetValidIngredients()
public int GetMaxAmount()
{
var ingredients = new List<Ingredient>(3);
if (!string.IsNullOrEmpty(IngredientIdx1)) ingredients.Add(new Ingredient(IngredientIdx1, IngredientQuantity1));
if (!string.IsNullOrEmpty(IngredientIdx2)) ingredients.Add(new Ingredient(IngredientIdx2, IngredientQuantity2));
if (!string.IsNullOrEmpty(IngredientIdx3)) ingredients.Add(new Ingredient(IngredientIdx3, IngredientQuantity3));
return ingredients;
return Amount == 99999 ? int.MaxValue : Amount;
}
}
}

View File

@ -31,7 +31,7 @@ namespace BlueWater.Items
[FormerlySerializedAs("_drinkDataSo")] [SerializeField, Required]
private LiquidDataSo liquidDataSo;
private Dictionary<string, LiquidData> _drinkDatas;
private Dictionary<string, LiquidData> _liquidDatas;
[field: SerializeField, Required]
public ItemSlotDataSo ItemSlotDataSo { get; private set; }
@ -58,7 +58,7 @@ namespace BlueWater.Items
_itemDropTables = InitializeDictionary(_itemDropTableSo.ItemDropTables, table => table.CharacterData.CharacterIdx);
_foodDatas = InitializeDictionary(_foodDataSo.Datas, data => data.Idx);
_cocktailDatas = InitializeDictionary(_cocktailDataSo.Datas, data => data.Idx);
_drinkDatas = InitializeDictionary(liquidDataSo.Datas, data => data.Idx);
_liquidDatas = InitializeDictionary(liquidDataSo.Datas, data => data.Idx);
}
private Dictionary<string, T> InitializeDictionary<T>(List<T> dataList, Func<T, string> keySelector)
@ -134,6 +134,7 @@ namespace BlueWater.Items
public FoodData GetFoodDataByIdx(string idx) => GetDataByIdx(_foodDatas, idx);
public CocktailData GetCocktailDataByIdx(string idx) => GetDataByIdx(_cocktailDatas, idx);
public LiquidData GetDrinkDataByIdx(string idx) => GetDataByIdx(_drinkDatas, idx);
public Dictionary<string, CocktailData> GetCocktailDatas() => _cocktailDatas;
public LiquidData GetLiquidDataByIdx(string idx) => GetDataByIdx(_liquidDatas, idx);
}
}

View File

@ -1,10 +1,13 @@
using System.Collections.Generic;
using System.Linq;
using BlueWater.Items;
using BlueWater.Tycoons;
using DG.Tweening;
using Sirenix.OdinInspector;
using TMPro;
using UnityEngine;
using UnityEngine.Pool;
using UnityEngine.Serialization;
namespace BlueWater
{
@ -44,9 +47,6 @@ namespace BlueWater
[Title("액체")]
[SerializeField, Required, Tooltip("액체 프리팹")]
private Liquid _liquidObject;
[SerializeField, Tooltip("떨어지는 액체의 색상")]
private Color _liquidColor = new(1f, 0.8431373f, 0f, 1f);
[SerializeField, Tooltip("초당 생성되는 액체 수(ml)")]
private int _liquidsPerSecond = 80;
@ -68,9 +68,13 @@ namespace BlueWater
[SerializeField]
private float _moveDuration = 0.5f;
[Title("실시간 정보")]
[SerializeField]
private Barrel _currentBarrel;
private IObjectPool<Liquid> _objectPool;
private List<Liquid> _activeLiquids = new();
private Dictionary<Color, int> _colorCounts = new();
private Dictionary<LiquidData, int> _liquidDataCounts = new();
private Material _instanceMaterial;
private Tween _showTween;
private Tween _hideTween;
@ -113,9 +117,9 @@ namespace BlueWater
_instanceMaterial = Instantiate(_liquidRenderer.material);
_liquidRenderer.material = _instanceMaterial;
_timeInterval = 1f / _liquidsPerSecond;
_instanceMaterial.SetFloat(_liquidAmountHash, 0f);
_timeInterval = 1f / _liquidsPerSecond;
_instanceLiquidCount = 0;
SetCurrentAmount(0f);
}
@ -123,21 +127,30 @@ namespace BlueWater
{
if (_isPouring)
{
if (_instanceLiquidCount >= _maxLiquidCount)
// 현재 술의 재고가 없을 때
if (!_currentBarrel.CanConsume(1))
{
InActiveIsPouring();
return;
}
// 술이 완성되었을 때
if (_instanceLiquidCount >= _maxLiquidCount)
{
CompleteLiquid();
return;
}
if (Time.time - _startTime >= _timeInterval)
{
_objectPool.Get();
if (!_colorCounts.TryAdd(_liquidColor, 1))
if (!_liquidDataCounts.TryAdd(_currentBarrel.GetLiquidData(), 1))
{
_colorCounts[_liquidColor] += 1;
_liquidDataCounts[_currentBarrel.GetLiquidData()] += 1;
}
_currentBarrel.Consume(1);
_startTime = Time.time;
}
}
@ -157,19 +170,6 @@ namespace BlueWater
#endregion
// Initialize methods
#region Initialize methods
public void Initialize()
{
_instanceLiquidCount = 0;
SetCurrentAmount(0f);
_currentMixedColor = _liquidColor;
_instanceMaterial.SetColor(_liquidColorHash, _currentMixedColor * _colorIntensity);
}
#endregion
// Object pooling system
#region Object pooling system
@ -186,10 +186,11 @@ namespace BlueWater
liquid.transform.rotation = Quaternion.identity;
liquid.gameObject.SetActive(true);
_instanceLiquidCount++;
liquid.Initialize(this, _reachedCollider, _liquidColor, _pushDirection.normalized * _pushPower);
if (_renderTexture && _renderTexture.material.GetColor(_renderTextureColorHash) != _liquidColor)
var liquidColor = _currentBarrel.GetLiquidData().Color;
liquid.Initialize(this, _reachedCollider, liquidColor, _pushDirection.normalized * _pushPower);
if (_renderTexture && _renderTexture.material.GetColor(_renderTextureColorHash) != liquidColor)
{
_renderTexture.material.SetColor(_renderTextureColorHash, _liquidColor);
_renderTexture.material.SetColor(_renderTextureColorHash, liquidColor);
}
_activeLiquids.Add(liquid);
}
@ -211,9 +212,6 @@ namespace BlueWater
// Custom methods
#region Custom methods
[Button("기본 색상")]
private void DefaultColor() => _liquidColor = new Color(1f, 0.8431373f, 0f, 1f);
/// <summary>
/// 술 제조 과정 초기화 함수
/// </summary>
@ -225,14 +223,29 @@ namespace BlueWater
_activeLiquids[i].Destroy();
}
_colorCounts.Clear();
_liquidDataCounts.Clear();
_instanceLiquidCount = 0;
SetCurrentAmount(0f);
_instanceMaterial.SetFloat(_liquidAmountHash, 0f);
}
/// <summary>
/// 현재 상호작용 중인 Barrel 연동
/// </summary>
/// <param name="barrel"></param>
public void SetBarrel(Barrel barrel)
{
_currentBarrel = barrel;
}
public void ActiveIsPouring()
{
if (_instanceLiquidCount == 0)
{
_currentMixedColor = _currentBarrel.GetLiquidData().Color;
_instanceMaterial.SetColor(_liquidColorHash, _currentMixedColor * _colorIntensity);
}
_startTime = Time.time;
_isPouring = true;
}
@ -259,19 +272,96 @@ namespace BlueWater
}
}
}
/// <summary>
/// 술을 완성한 경우
/// </summary>
private void CompleteLiquid()
{
InActiveIsPouring();
// TODO : 완성된 음료를 데이터베이스와 비교하기
var currentCocktailIngredients = new List<CocktailIngredient>(5);
foreach (var element in _liquidDataCounts)
{
var idx = element.Key.Idx;
var amount = element.Value;
currentCocktailIngredients.Add(new CocktailIngredient(idx, amount));
}
// ItemManager를 통해 모든 CocktailData 가져오기
var cocktailDatas = ItemManager.Instance.GetCocktailDatas();
CocktailData matchingCocktail = null;
// 모든 칵테일 데이터를 순회하면서 조건에 맞는 칵테일 찾기
foreach (var cocktailData in cocktailDatas.Values)
{
var validIngredients = cocktailData.GetValidIngredients();
// 조건 1: 재료 개수 동일 체크
if (validIngredients.Count != currentCocktailIngredients.Count)
continue;
var allIngredientsMatch = true;
// 현재 음료 재료를 하나씩 validIngredients와 비교
foreach (var currentIngredient in currentCocktailIngredients)
{
// 동일한 Idx를 가진 재료가 있는지 찾음
var matchingValidIngredient = validIngredients.FirstOrDefault(ingredient => ingredient.Idx == currentIngredient.Idx);
// 만약 Idx가 일치하는 재료가 없으면 조건 불충족
if (matchingValidIngredient == null)
{
allIngredientsMatch = false;
break;
}
// 조건 2: Amount 값이 RatioRange에 따른 오차 범위 내에 있는지 체크
var validAmount = matchingValidIngredient.Amount;
//var maxLiquidCount = cocktailData.GetCocktailAmount(validIngredients);
var range = _maxLiquidCount / 100 * cocktailData.RatioRange;
var minAmount = validAmount - range;
var maxAmount = validAmount + range;
if (currentIngredient.Amount < minAmount || currentIngredient.Amount > maxAmount)
{
allIngredientsMatch = false;
break;
}
}
// 조건이 모두 만족하면 매칭되는 칵테일을 찾음
if (allIngredientsMatch)
{
matchingCocktail = cocktailData;
break;
}
}
// 조건에 만족하는 칵테일이 없음
if (matchingCocktail == null)
{
matchingCocktail = ItemManager.Instance.GetCocktailDataByIdx("Cocktail000");
}
Debug.Log($"{matchingCocktail.Idx} 음료 완성");
// TODO : 플레이어 이벤트를 통해 음료 들기
}
/// <summary>
/// 사용된 색상의 비율에 맞게 색을 혼합시키는 함수
/// </summary>
private Color MixColorsByTime()
{
var totalCounts = _colorCounts.Values.Sum();
var totalCounts = _liquidDataCounts.Values.Sum();
var mixedColor = Color.black;
foreach (var element in _colorCounts)
foreach (var element in _liquidDataCounts)
{
var color = element.Key;
var color = element.Key.Color;
var count = element.Value;
var ratio = count / (float)totalCounts;

View File

@ -0,0 +1,72 @@
using BlueWater.Items;
using UnityEngine;
namespace BlueWater.Tycoons
{
public class Barrel : InteractionFurniture
{
[SerializeField]
private string _idx;
[SerializeField]
private LiquidData _liquidData;
[SerializeField]
private int _currentAmount;
private LiquidController _liquidController;
protected override void Awake()
{
base.Awake();
_liquidController = FindAnyObjectByType<LiquidController>();
_liquidData = ItemManager.Instance.GetLiquidDataByIdx(_idx);
_currentAmount = _liquidData.GetMaxAmount();
}
public override void Interaction()
{
_liquidController.SetBarrel(this);
_liquidController.ActiveIsPouring();
}
public override void CancelInteraction()
{
_liquidController.InActiveIsPouring();
}
/// <summary>
/// 1. 플레이어가 빈 잔을 들고 있거나 완성되지 않은 잔을 들고 있을 때
/// </summary>
public override bool CanInteraction()
{
return true;
}
public bool CanConsume(int amount)
{
return _currentAmount - amount > 0;
}
public void Consume(int amount)
{
if (_currentAmount == int.MaxValue)
{
return;
}
_currentAmount -= amount;
}
public bool TryConsume(int amount)
{
if (!CanConsume(amount)) return false;
Consume(amount);
return true;
}
public LiquidData GetLiquidData() => _liquidData;
}
}

View File

@ -1,47 +1,47 @@
using BlueWater.Items;
using BlueWater.Uis;
using UnityEngine;
using UnityEngine.Serialization;
namespace BlueWater.Tycoons
{
public class Brewing : InteractionFurniture
{
[SerializeField]
private DrinkCategory _category;
[FormerlySerializedAs("_currentDrinkData")] [SerializeField]
private LiquidData currentLiquidData;
[SerializeField]
private int _currentQuantity;
public override void Interaction()
{
var brewingUi = TycoonUiManager.Instance.BrewingUi;
brewingUi.SetBrewing(this);
brewingUi.Open(TycoonUiManager.Instance.PopupUiList);
}
public override bool CanInteraction()
{
return !IsOpened;
}
public void SetDrink(LiquidData liquidData)
{
currentLiquidData = liquidData;
_currentQuantity = currentLiquidData.Amount;
}
public bool IsEmptyDrink()
{
return currentLiquidData == null || _currentQuantity <= 0;
}
public DrinkCategory GetDrinkCategory()
{
return _category;
}
}
}
// using BlueWater.Items;
// using BlueWater.Uis;
// using UnityEngine;
// using UnityEngine.Serialization;
//
// namespace BlueWater.Tycoons
// {
// public class Brewing : InteractionFurniture
// {
// [SerializeField]
// private DrinkCategory _category;
//
// [FormerlySerializedAs("_currentDrinkData")] [SerializeField]
// private LiquidData currentLiquidData;
//
// [SerializeField]
// private int _currentQuantity;
//
// public override void Interaction()
// {
// var brewingUi = TycoonUiManager.Instance.BrewingUi;
// brewingUi.SetBrewing(this);
// brewingUi.Open(TycoonUiManager.Instance.PopupUiList);
// }
//
// public override bool CanInteraction()
// {
// return !IsOpened;
// }
//
// public void SetDrink(LiquidData liquidData)
// {
// currentLiquidData = liquidData;
// _currentQuantity = currentLiquidData.Amount;
// }
//
// public bool IsEmptyDrink()
// {
// return currentLiquidData == null || _currentQuantity <= 0;
// }
//
// public DrinkCategory GetDrinkCategory()
// {
// return _category;
// }
// }
// }

View File

@ -1,32 +0,0 @@
using UnityEngine;
namespace BlueWater.Tycoons
{
public class Liquid : InteractionFurniture
{
[SerializeField]
private LiquidController _liquidController;
protected override void Awake()
{
base.Awake();
_liquidController = FindAnyObjectByType<LiquidController>();
}
public override void Interaction()
{
_liquidController.ActiveIsPouring();
}
public override void CancelInteraction()
{
_liquidController.InActiveIsPouring();
}
public override bool CanInteraction()
{
return true;
}
}
}

View File

@ -13,143 +13,227 @@ MonoBehaviour:
m_Name: CocktailDataTable
m_EditorClassIdentifier:
<Datas>k__BackingField:
- <Idx>k__BackingField: Cocktail300
<Name>k__BackingField: "\uB2EC\uBE5B \uC0D8\uBB3C"
- <Idx>k__BackingField: Cocktail000
<Name>k__BackingField: "\uC4F0\uB808\uAE30"
<RatioRange>k__BackingField: 0
<IngredientIdx1>k__BackingField: Liquid100
<IngredientRatio1>k__BackingField: 100
<IngredientIdx1>k__BackingField:
<IngredientAmount1>k__BackingField: 0
<IngredientIdx2>k__BackingField:
<IngredientRatio2>k__BackingField: 0
<IngredientAmount2>k__BackingField: 0
<IngredientIdx3>k__BackingField:
<IngredientRatio3>k__BackingField: 0
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientRatio4>k__BackingField: 0
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientRatio5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 06a07650d842ee94390ca2505955e94d, type: 3}
- <Idx>k__BackingField: Cocktail301
<Name>k__BackingField: "\uB9DD\uB839 \uB9E5\uC8FC"
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail001
<Name>k__BackingField: "\uCE75\uD14C\uC77CA"
<RatioRange>k__BackingField: 0
<IngredientIdx1>k__BackingField: Liquid101
<IngredientRatio1>k__BackingField: 100
<IngredientIdx1>k__BackingField: LiquidA
<IngredientAmount1>k__BackingField: 400
<IngredientIdx2>k__BackingField:
<IngredientRatio2>k__BackingField: 0
<IngredientAmount2>k__BackingField: 0
<IngredientIdx3>k__BackingField:
<IngredientRatio3>k__BackingField: 0
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientRatio4>k__BackingField: 0
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientRatio5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 19df9fcd0ddf5754890f7ea9c127b905, type: 3}
- <Idx>k__BackingField: Cocktail302
<Name>k__BackingField: "\uAC80\uC740 \uC218\uC5FC"
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail002
<Name>k__BackingField: "\uCE75\uD14C\uC77CB"
<RatioRange>k__BackingField: 0
<IngredientIdx1>k__BackingField: Liquid102
<IngredientRatio1>k__BackingField: 100
<IngredientIdx1>k__BackingField: LiquidB
<IngredientAmount1>k__BackingField: 400
<IngredientIdx2>k__BackingField:
<IngredientRatio2>k__BackingField: 0
<IngredientAmount2>k__BackingField: 0
<IngredientIdx3>k__BackingField:
<IngredientRatio3>k__BackingField: 0
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientRatio4>k__BackingField: 0
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientRatio5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: a51b37c5e512c7e488e80f986f5f8aac, type: 3}
- <Idx>k__BackingField: Cocktail303
<Name>k__BackingField: "\uC6A9\uC554 \uB9E5\uC8FC"
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail003
<Name>k__BackingField: "\uCE75\uD14C\uC77CC"
<RatioRange>k__BackingField: 0
<IngredientIdx1>k__BackingField: Liquid103
<IngredientRatio1>k__BackingField: 100
<IngredientIdx1>k__BackingField: LiquidC
<IngredientAmount1>k__BackingField: 400
<IngredientIdx2>k__BackingField:
<IngredientRatio2>k__BackingField: 0
<IngredientAmount2>k__BackingField: 0
<IngredientIdx3>k__BackingField:
<IngredientRatio3>k__BackingField: 0
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientRatio4>k__BackingField: 0
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientRatio5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: d74e702a3e490a54e8a159128222f175, type: 3}
- <Idx>k__BackingField: Cocktail304
<Name>k__BackingField: "\uC8FD\uC74C\uC758 \uC774\uC2AC"
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail004
<Name>k__BackingField: "\uCE75\uD14C\uC77CD"
<RatioRange>k__BackingField: 0
<IngredientIdx1>k__BackingField: Liquid104
<IngredientRatio1>k__BackingField: 100
<IngredientIdx1>k__BackingField: LiquidD
<IngredientAmount1>k__BackingField: 400
<IngredientIdx2>k__BackingField:
<IngredientRatio2>k__BackingField: 0
<IngredientAmount2>k__BackingField: 0
<IngredientIdx3>k__BackingField:
<IngredientRatio3>k__BackingField: 0
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientRatio4>k__BackingField: 0
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientRatio5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: bff0ff1345b7ae446b330a01e6ef7bd3, type: 3}
- <Idx>k__BackingField: Cocktail305
<Name>k__BackingField: "\uC5BC\uC74C"
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail005
<Name>k__BackingField: "\uCE75\uD14C\uC77CE"
<RatioRange>k__BackingField: 0
<IngredientIdx1>k__BackingField: Garnish200
<IngredientRatio1>k__BackingField: 100
<IngredientIdx1>k__BackingField: LiquidE
<IngredientAmount1>k__BackingField: 400
<IngredientIdx2>k__BackingField:
<IngredientRatio2>k__BackingField: 0
<IngredientAmount2>k__BackingField: 0
<IngredientIdx3>k__BackingField:
<IngredientRatio3>k__BackingField: 0
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientRatio4>k__BackingField: 0
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientRatio5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 006a36cba2a146247a1d25b9e246faaa, type: 3}
- <Idx>k__BackingField: Cocktail306
<Name>k__BackingField: "\uC5BC\uC5B4\uBD99\uC740 \uB9DD\uB839"
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail006
<Name>k__BackingField: "\uCE75\uD14C\uC77CAC"
<RatioRange>k__BackingField: 5
<IngredientIdx1>k__BackingField: LiquidA
<IngredientAmount1>k__BackingField: 200
<IngredientIdx2>k__BackingField: LiquidC
<IngredientAmount2>k__BackingField: 200
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail007
<Name>k__BackingField: "\uCE75\uD14C\uC77CBD"
<RatioRange>k__BackingField: 5
<IngredientIdx1>k__BackingField: LiquidB
<IngredientAmount1>k__BackingField: 200
<IngredientIdx2>k__BackingField: LiquidD
<IngredientAmount2>k__BackingField: 200
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail008
<Name>k__BackingField: "\uCE75\uD14C\uC77CCD"
<RatioRange>k__BackingField: 5
<IngredientIdx1>k__BackingField: LiquidC
<IngredientAmount1>k__BackingField: 200
<IngredientIdx2>k__BackingField: LiquidD
<IngredientAmount2>k__BackingField: 200
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail009
<Name>k__BackingField: "\uCE75\uD14C\uC77CABE"
<RatioRange>k__BackingField: 10
<IngredientIdx1>k__BackingField: Liquid101
<IngredientRatio1>k__BackingField: 80
<IngredientIdx2>k__BackingField: Garnish200
<IngredientRatio2>k__BackingField: 20
<IngredientIdx3>k__BackingField:
<IngredientRatio3>k__BackingField: 0
<IngredientIdx1>k__BackingField: LiquidA
<IngredientAmount1>k__BackingField: 100
<IngredientIdx2>k__BackingField: LiquidB
<IngredientAmount2>k__BackingField: 100
<IngredientIdx3>k__BackingField: LiquidE
<IngredientAmount3>k__BackingField: 200
<IngredientIdx4>k__BackingField:
<IngredientRatio4>k__BackingField: 0
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientRatio5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 31d7e535d499d5f43ab64731acc3eec3, type: 3}
- <Idx>k__BackingField: Cocktail307
<Name>k__BackingField: "\uC2AC\uB77C\uC784 \uD480"
<RatioRange>k__BackingField: 25
<IngredientIdx1>k__BackingField: Liquid100
<IngredientRatio1>k__BackingField: 50
<IngredientIdx2>k__BackingField: Garnish200
<IngredientRatio2>k__BackingField: 50
<IngredientIdx3>k__BackingField:
<IngredientRatio3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientRatio4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientRatio5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 997d0aea13894a9428bf9d9f7fb66762, type: 3}
- <Idx>k__BackingField: Cocktail308
<Name>k__BackingField: "\uBD88\uD0C4 \uC218\uC5FC"
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail010
<Name>k__BackingField: "\uCE75\uD14C\uC77CCDE"
<RatioRange>k__BackingField: 10
<IngredientIdx1>k__BackingField: Liquid102
<IngredientRatio1>k__BackingField: 20
<IngredientIdx2>k__BackingField: Liquid103
<IngredientRatio2>k__BackingField: 80
<IngredientIdx3>k__BackingField:
<IngredientRatio3>k__BackingField: 0
<IngredientIdx1>k__BackingField: LiquidC
<IngredientAmount1>k__BackingField: 100
<IngredientIdx2>k__BackingField: LiquidD
<IngredientAmount2>k__BackingField: 100
<IngredientIdx3>k__BackingField: LiquidE
<IngredientAmount3>k__BackingField: 200
<IngredientIdx4>k__BackingField:
<IngredientRatio4>k__BackingField: 0
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientRatio5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 3d04bfa220b9ebe40a4ae3f0a68c0911, type: 3}
- <Idx>k__BackingField: Cocktail309
<Name>k__BackingField: "\uB77C\uBC14 \uACE0\uC2A4\uD2B8"
<RatioRange>k__BackingField: 15
<IngredientIdx1>k__BackingField: Liquid101
<IngredientRatio1>k__BackingField: 50
<IngredientIdx2>k__BackingField: Liquid103
<IngredientRatio2>k__BackingField: 50
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail011
<Name>k__BackingField: "\uCE75\uD14C\uC77CB1"
<RatioRange>k__BackingField: 10
<IngredientIdx1>k__BackingField: LiquidB
<IngredientAmount1>k__BackingField: 320
<IngredientIdx2>k__BackingField: Garnish1
<IngredientAmount2>k__BackingField: 80
<IngredientIdx3>k__BackingField:
<IngredientRatio3>k__BackingField: 0
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientRatio4>k__BackingField: 0
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientRatio5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 09168d6395b3e9b41b195a2aa8ae0a82, type: 3}
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail012
<Name>k__BackingField: "\uCE75\uD14C\uC77CD1"
<RatioRange>k__BackingField: 10
<IngredientIdx1>k__BackingField: LiquidD
<IngredientAmount1>k__BackingField: 320
<IngredientIdx2>k__BackingField: Garnish1
<IngredientAmount2>k__BackingField: 80
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail013
<Name>k__BackingField: "\uCE75\uD14C\uC77CA2"
<RatioRange>k__BackingField: 5
<IngredientIdx1>k__BackingField: LiquidA
<IngredientAmount1>k__BackingField: 360
<IngredientIdx2>k__BackingField: Garnish2
<IngredientAmount2>k__BackingField: 40
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail014
<Name>k__BackingField: "\uCE75\uD14C\uC77CC2"
<RatioRange>k__BackingField: 5
<IngredientIdx1>k__BackingField: LiquidC
<IngredientAmount1>k__BackingField: 360
<IngredientIdx2>k__BackingField: Garnish2
<IngredientAmount2>k__BackingField: 40
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail015
<Name>k__BackingField: "\uCE75\uD14C\uC77CE2"
<RatioRange>k__BackingField: 5
<IngredientIdx1>k__BackingField: LiquidE
<IngredientAmount1>k__BackingField: 360
<IngredientIdx2>k__BackingField: Garnish2
<IngredientAmount2>k__BackingField: 40
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}

View File

@ -13,99 +13,38 @@ MonoBehaviour:
m_Name: LiquidDataTable
m_EditorClassIdentifier:
<Datas>k__BackingField:
- <Idx>k__BackingField: Garnish200
<Name>k__BackingField: "\uC5BC\uC74C \uC2AC\uB77C\uC784\uC758 \uC870\uAC01"
<Category>k__BackingField: 2
<Amount>k__BackingField: 1000
<AlcoholVolume>k__BackingField: 0
<Temperature>k__BackingField: -20
<BitterSweet>k__BackingField: 0
<Scent>k__BackingField: 0
<IngredientIdx1>k__BackingField: Ingredient05
<IngredientQuantity1>k__BackingField: 2
<IngredientIdx2>k__BackingField: 0
<IngredientQuantity2>k__BackingField: 0
<IngredientIdx3>k__BackingField: 0
<IngredientQuantity3>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: ddde5976023f9be4e83dc3d867c2dc30, type: 3}
<Color>k__BackingField: {r: 0, g: 0, b: 0, a: 0}
- <Idx>k__BackingField: Liquid100
<Name>k__BackingField: "\uB2EC\uBE5B \uC0D8\uBB3C \uC6D0\uC561"
<Category>k__BackingField: 1
<Amount>k__BackingField: 99999
<AlcoholVolume>k__BackingField: 0
<Temperature>k__BackingField: 10
<BitterSweet>k__BackingField: 0
<Scent>k__BackingField: 0
<IngredientIdx1>k__BackingField: 0
<IngredientQuantity1>k__BackingField: 0
<IngredientIdx2>k__BackingField: 0
<IngredientQuantity2>k__BackingField: 0
<IngredientIdx3>k__BackingField: 0
<IngredientQuantity3>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
<Color>k__BackingField: {r: 0, g: 0, b: 0, a: 0}
- <Idx>k__BackingField: Liquid101
<Name>k__BackingField: "\uB9DD\uB839 \uB9E5\uC8FC \uC6D0\uC561"
<Category>k__BackingField: 1
- <Idx>k__BackingField: Garnish1
<Name>k__BackingField: "\uAC00\uB098\uC26C1"
<Amount>k__BackingField: 2000
<AlcoholVolume>k__BackingField: 7
<Temperature>k__BackingField: -20
<BitterSweet>k__BackingField: -10
<Scent>k__BackingField: 0
<IngredientIdx1>k__BackingField: Ingredient00
<IngredientQuantity1>k__BackingField: 2
<IngredientIdx2>k__BackingField: 0
<IngredientQuantity2>k__BackingField: 0
<IngredientIdx3>k__BackingField: 0
<IngredientQuantity3>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
<Color>k__BackingField: {r: 0, g: 0, b: 0, a: 0}
- <Idx>k__BackingField: Liquid102
<Name>k__BackingField: "\uAC80\uC740 \uC218\uC5FC \uB7FC \uC6D0\uC561"
<Category>k__BackingField: 1
<Amount>k__BackingField: 1200
<AlcoholVolume>k__BackingField: 20
<Temperature>k__BackingField: -30
<BitterSweet>k__BackingField: -15
<Scent>k__BackingField: 0
<IngredientIdx1>k__BackingField: Ingredient01
<IngredientQuantity1>k__BackingField: 3
<IngredientIdx2>k__BackingField: Ingredient00
<IngredientQuantity2>k__BackingField: 1
<IngredientIdx3>k__BackingField: 0
<IngredientQuantity3>k__BackingField: 0
<Color>k__BackingField: {r: 0, g: 0, b: 0, a: 1}
- <Idx>k__BackingField: Garnish2
<Name>k__BackingField: "\uAC00\uB098\uC26C2"
<Amount>k__BackingField: 2000
<Sprite>k__BackingField: {fileID: 0}
<Color>k__BackingField: {r: 0, g: 0, b: 0, a: 0}
- <Idx>k__BackingField: Liquid103
<Name>k__BackingField: "\uC6A9\uC554 \uB9E5\uC8FC \uC6D0\uC561"
<Category>k__BackingField: 1
<Amount>k__BackingField: 2800
<AlcoholVolume>k__BackingField: 6
<Temperature>k__BackingField: 20
<BitterSweet>k__BackingField: 10
<Scent>k__BackingField: 0
<IngredientIdx1>k__BackingField: Ingredient02
<IngredientQuantity1>k__BackingField: 1
<IngredientIdx2>k__BackingField: Ingredient03
<IngredientQuantity2>k__BackingField: 3
<IngredientIdx3>k__BackingField: 0
<IngredientQuantity3>k__BackingField: 0
<Color>k__BackingField: {r: 0, g: 0, b: 0, a: 1}
- <Idx>k__BackingField: LiquidA
<Name>k__BackingField: "\uC220 \uC6D0\uC561A"
<Amount>k__BackingField: 99999
<Sprite>k__BackingField: {fileID: 0}
<Color>k__BackingField: {r: 0, g: 0, b: 0, a: 0}
- <Idx>k__BackingField: Liquid104
<Name>k__BackingField: "\uC8FD\uC74C\uC758 \uC774\uC2AC \uC6D0\uC561"
<Category>k__BackingField: 1
<Amount>k__BackingField: 800
<AlcoholVolume>k__BackingField: 30
<Temperature>k__BackingField: -25
<BitterSweet>k__BackingField: 20
<Scent>k__BackingField: 0
<IngredientIdx1>k__BackingField: Ingredient04
<IngredientQuantity1>k__BackingField: 2
<IngredientIdx2>k__BackingField: 0
<IngredientQuantity2>k__BackingField: 0
<IngredientIdx3>k__BackingField: 0
<IngredientQuantity3>k__BackingField: 0
<Color>k__BackingField: {r: 1, g: 0, b: 0, a: 1}
- <Idx>k__BackingField: LiquidB
<Name>k__BackingField: "\uC220 \uC6D0\uC561B"
<Amount>k__BackingField: 2000
<Sprite>k__BackingField: {fileID: 0}
<Color>k__BackingField: {r: 0, g: 0, b: 0, a: 0}
<Color>k__BackingField: {r: 1, g: 0.5019608, b: 0, a: 1}
- <Idx>k__BackingField: LiquidC
<Name>k__BackingField: "\uC220 \uC6D0\uC561C"
<Amount>k__BackingField: 2000
<Sprite>k__BackingField: {fileID: 0}
<Color>k__BackingField: {r: 1, g: 1, b: 0, a: 1}
- <Idx>k__BackingField: LiquidD
<Name>k__BackingField: "\uC220 \uC6D0\uC561D"
<Amount>k__BackingField: 2000
<Sprite>k__BackingField: {fileID: 0}
<Color>k__BackingField: {r: 0, g: 1, b: 0, a: 1}
- <Idx>k__BackingField: LiquidE
<Name>k__BackingField: "\uC220 \uC6D0\uC561E"
<Amount>k__BackingField: 2000
<Sprite>k__BackingField: {fileID: 0}
<Color>k__BackingField: {r: 0, g: 0, b: 1, a: 1}

View File

@ -34,11 +34,11 @@ namespace BlueWater.Tycoons
{
if (DrinkRecipes.Contains(idx)) return;
var drinkData = ItemManager.Instance.GetDrinkDataByIdx(idx);
var drinkData = ItemManager.Instance.GetLiquidDataByIdx(idx);
if (drinkData == null) return;
DrinkRecipes.Add(idx);
TycoonEvents.OnDrinkRecipeAcquired?.Invoke(idx);
//TycoonEvents.OnDrinkRecipeAcquired?.Invoke(idx);
}
}
}

View File

@ -6,17 +6,12 @@ namespace BlueWater
public static class TycoonEvents
{
// 음료
public static Action<string> OnDrinkRecipeAcquired;
// public static Action<string> OnDrinkRecipeAcquired;
// public static Action<LiquidData> OnDrinkRecipeSelected;
public static Action OnLiquidRegionEntered;
public static Action OnLiquidRegionExited;
public static Action OnBrewingUiOpened;
public static Action OnBrewingUiClosed;
public static Action<LiquidData> OnDrinkRecipeSelected;
public static Action OnDrinkUiOpened;
public static Action OnDrinkUiClosed;
// 요리

View File

@ -1,189 +1,189 @@
using System.Collections.Generic;
using BlueWater.Items;
using BlueWater.Tycoons;
using Sirenix.OdinInspector;
using TMPro;
using UnityEngine;
using UnityEngine.Serialization;
using UnityEngine.UI;
namespace BlueWater.Uis
{
public class BrewingUi : SwitchActionPopupUi
{
[FormerlySerializedAs("_drinkRecipeSlotUiPrefab")] [SerializeField, Required]
private LiquidRecipeSlotUi liquidRecipeSlotUiPrefab;
[SerializeField, Required]
private Transform _drinkRecipeSpawnLocation;
[SerializeField]
private TMP_Text _recipeName;
[SerializeField]
private Image _drinkImage;
[SerializeField]
private Button _convertButton;
[Title("실시간 데이터")]
[SerializeField]
private List<BrewingIngredientSlotUi> _brewingIngredientSlotUis = new(3);
[FormerlySerializedAs("_selectedDrinkData")] [SerializeField]
private LiquidData selectedLiquidData;
[SerializeField]
private Brewing _currentBrewing;
private List<LiquidRecipeSlotUi> _drinkRecipeSlotUis = new();
private void Start()
{
Initialize();
TycoonEvents.OnDrinkRecipeAcquired += AddDrinkRecipe;
TycoonEvents.OnDrinkRecipeSelected += SelectDrinkRecipe;
}
private void OnDestroy()
{
TycoonEvents.OnDrinkRecipeAcquired -= AddDrinkRecipe;
TycoonEvents.OnDrinkRecipeSelected -= SelectDrinkRecipe;
}
private void Initialize()
{
foreach (Transform element in _drinkRecipeSpawnLocation)
{
Destroy(element.gameObject);
}
var drinkRecipes = DataManager.Instance.TycoonData.DrinkRecipes;
foreach (var element in drinkRecipes)
{
AddDrinkRecipe(element);
}
}
public override void Open(List<PopupUi> popupUiList)
{
base.Open(popupUiList);
ResetBrewingUi();
TycoonEvents.OnBrewingUiOpened?.Invoke();
}
public override void Close()
{
base.Close();
_currentBrewing = null;
ResetBrewingUi();
TycoonEvents.OnBrewingUiClosed?.Invoke();
}
private void ResetBrewingUi()
{
selectedLiquidData = null;
_recipeName.text = null;
_drinkImage.enabled = false;
SetBrewingIngredient();
foreach (var element in _brewingIngredientSlotUis)
{
element.gameObject.SetActive(false);
}
}
public void SetBrewing(Brewing brewing)
{
_currentBrewing = brewing;
ShowDrinkRecipeByCategory();
}
private void AddDrinkRecipe(string idx)
{
var instance = Instantiate(liquidRecipeSlotUiPrefab, _drinkRecipeSpawnLocation);
instance.Initialize(idx);
_drinkRecipeSlotUis.Add(instance);
}
private void ShowDrinkRecipeByCategory()
{
var currentDrinkCategory = _currentBrewing.GetDrinkCategory();
foreach (var element in _drinkRecipeSlotUis)
{
element.gameObject.SetActive(currentDrinkCategory == element.GetDrinkData().Category);
}
}
public void SelectDrinkRecipe(LiquidData liquidData)
{
selectedLiquidData = liquidData;
_recipeName.text = selectedLiquidData.Name;
_drinkImage.sprite = liquidData.Sprite;
_drinkImage.enabled = true;
var ingredients = selectedLiquidData.GetValidIngredients();
for (var i = 0; i < 3; i++)
{
if (ingredients.Count > i)
{
_brewingIngredientSlotUis[i].SetIngredient(ingredients[i].Idx, ingredients[i].Quantity);
_brewingIngredientSlotUis[i].gameObject.SetActive(true);
}
else
{
_brewingIngredientSlotUis[i].gameObject.SetActive(false);
}
}
SetBrewingIngredient();
}
private void SetBrewingIngredient()
{
foreach (var element in _brewingIngredientSlotUis)
{
element.SetQuantity();
}
CheckConvertButton();
}
private void CheckConvertButton()
{
if (selectedLiquidData == null || !_currentBrewing.IsEmptyDrink())
{
_convertButton.interactable = false;
return;
}
var ingredients = selectedLiquidData.GetValidIngredients();
if (ingredients.Count <= 0)
{
_convertButton.interactable = false;
return;
}
for (var i = 0; i < ingredients.Count; i++)
{
if (_brewingIngredientSlotUis[i].GetIsEnough()) continue;
_convertButton.interactable = false;
return;
}
_convertButton.interactable = true;
}
/// <summary>
/// 술을 만들 때 최종 버튼
/// </summary>
public void ConvertButton()
{
_currentBrewing.SetDrink(selectedLiquidData);
}
}
}
// using System.Collections.Generic;
// using BlueWater.Items;
// using BlueWater.Tycoons;
// using Sirenix.OdinInspector;
// using TMPro;
// using UnityEngine;
// using UnityEngine.Serialization;
// using UnityEngine.UI;
//
// namespace BlueWater.Uis
// {
// public class BrewingUi : SwitchActionPopupUi
// {
// [FormerlySerializedAs("_drinkRecipeSlotUiPrefab")] [SerializeField, Required]
// private LiquidRecipeSlotUi liquidRecipeSlotUiPrefab;
//
// [SerializeField, Required]
// private Transform _drinkRecipeSpawnLocation;
//
// [SerializeField]
// private TMP_Text _recipeName;
//
// [SerializeField]
// private Image _drinkImage;
//
// [SerializeField]
// private Button _convertButton;
//
// [Title("실시간 데이터")]
// [SerializeField]
// private List<BrewingIngredientSlotUi> _brewingIngredientSlotUis = new(3);
//
// [FormerlySerializedAs("_selectedDrinkData")] [SerializeField]
// private LiquidData selectedLiquidData;
//
// [SerializeField]
// private Brewing _currentBrewing;
//
// private List<LiquidRecipeSlotUi> _drinkRecipeSlotUis = new();
//
// private void Start()
// {
// Initialize();
//
// TycoonEvents.OnDrinkRecipeAcquired += AddDrinkRecipe;
// TycoonEvents.OnDrinkRecipeSelected += SelectDrinkRecipe;
// }
//
// private void OnDestroy()
// {
// TycoonEvents.OnDrinkRecipeAcquired -= AddDrinkRecipe;
// TycoonEvents.OnDrinkRecipeSelected -= SelectDrinkRecipe;
// }
//
// private void Initialize()
// {
// foreach (Transform element in _drinkRecipeSpawnLocation)
// {
// Destroy(element.gameObject);
// }
//
// var drinkRecipes = DataManager.Instance.TycoonData.DrinkRecipes;
// foreach (var element in drinkRecipes)
// {
// AddDrinkRecipe(element);
// }
// }
//
// public override void Open(List<PopupUi> popupUiList)
// {
// base.Open(popupUiList);
//
// ResetBrewingUi();
// TycoonEvents.OnBrewingUiOpened?.Invoke();
// }
//
// public override void Close()
// {
// base.Close();
//
// _currentBrewing = null;
// ResetBrewingUi();
// TycoonEvents.OnBrewingUiClosed?.Invoke();
// }
//
// private void ResetBrewingUi()
// {
// selectedLiquidData = null;
// _recipeName.text = null;
// _drinkImage.enabled = false;
// SetBrewingIngredient();
// foreach (var element in _brewingIngredientSlotUis)
// {
// element.gameObject.SetActive(false);
// }
// }
//
// public void SetBrewing(Brewing brewing)
// {
// _currentBrewing = brewing;
// ShowDrinkRecipeByCategory();
// }
//
// private void AddDrinkRecipe(string idx)
// {
// var instance = Instantiate(liquidRecipeSlotUiPrefab, _drinkRecipeSpawnLocation);
// instance.Initialize(idx);
// _drinkRecipeSlotUis.Add(instance);
// }
//
// private void ShowDrinkRecipeByCategory()
// {
// var currentDrinkCategory = _currentBrewing.GetDrinkCategory();
// foreach (var element in _drinkRecipeSlotUis)
// {
// element.gameObject.SetActive(currentDrinkCategory == element.GetDrinkData().Category);
// }
// }
//
// public void SelectDrinkRecipe(LiquidData liquidData)
// {
// selectedLiquidData = liquidData;
//
// _recipeName.text = selectedLiquidData.Name;
// _drinkImage.sprite = liquidData.Sprite;
// _drinkImage.enabled = true;
//
// var ingredients = selectedLiquidData.GetValidIngredients();
// for (var i = 0; i < 3; i++)
// {
// if (ingredients.Count > i)
// {
// _brewingIngredientSlotUis[i].SetIngredient(ingredients[i].Idx, ingredients[i].Quantity);
// _brewingIngredientSlotUis[i].gameObject.SetActive(true);
// }
// else
// {
// _brewingIngredientSlotUis[i].gameObject.SetActive(false);
// }
// }
//
// SetBrewingIngredient();
// }
//
// private void SetBrewingIngredient()
// {
// foreach (var element in _brewingIngredientSlotUis)
// {
// element.SetQuantity();
// }
//
// CheckConvertButton();
// }
//
// private void CheckConvertButton()
// {
// if (selectedLiquidData == null || !_currentBrewing.IsEmptyDrink())
// {
// _convertButton.interactable = false;
// return;
// }
//
// var ingredients = selectedLiquidData.GetValidIngredients();
// if (ingredients.Count <= 0)
// {
// _convertButton.interactable = false;
// return;
// }
//
// for (var i = 0; i < ingredients.Count; i++)
// {
// if (_brewingIngredientSlotUis[i].GetIsEnough()) continue;
//
// _convertButton.interactable = false;
// return;
// }
//
// _convertButton.interactable = true;
// }
//
// /// <summary>
// /// 술을 만들 때 최종 버튼
// /// </summary>
// public void ConvertButton()
// {
// _currentBrewing.SetDrink(selectedLiquidData);
// }
// }
// }

View File

@ -25,13 +25,13 @@ namespace BlueWater.Uis
public void Initialize(string idx)
{
liquidData = ItemManager.Instance.GetDrinkDataByIdx(idx);
liquidData = ItemManager.Instance.GetLiquidDataByIdx(idx);
_image.sprite = liquidData.Sprite;
}
public void OnButtonClick()
{
TycoonEvents.OnDrinkRecipeSelected?.Invoke(liquidData);
//TycoonEvents.OnDrinkRecipeSelected?.Invoke(liquidData);
}
public LiquidData GetDrinkData() => liquidData;

View File

@ -27,8 +27,8 @@ namespace BlueWater.Uis
[field: SerializeField]
public TycoonStageUi TycoonStageUi { get; private set; }
[field: SerializeField]
public BrewingUi BrewingUi { get; private set; }
// [field: SerializeField]
// public BrewingUi BrewingUi { get; private set; }
[SerializeField]
private Image _fadeImage;
@ -80,7 +80,7 @@ namespace BlueWater.Uis
TycoonUpgradeUi = GetComponentInChildren<TycoonUpgradeUi>(true);
TycoonManagementUi = GetComponentInChildren<TycoonManagementUi>(true);
TycoonStageUi = GetComponentInChildren<TycoonStageUi>(true);
BrewingUi = GetComponentInChildren<BrewingUi>(true);
//BrewingUi = GetComponentInChildren<BrewingUi>(true);
_fadeImage = MainCanvas.transform.Find("FadeImage").GetComponent<Image>();
PopupUiList = new List<PopupUi>(8);
}

View File

@ -1,152 +1,242 @@
[
{
"Idx": "Cocktail300",
"Name": "달빛 샘물",
"Idx": "Cocktail000",
"Name": "쓰레기",
"RatioRange": 0,
"IngredientIdx1": "Liquid100",
"IngredientRatio1": 100,
"IngredientIdx1": "",
"IngredientAmount1": 0,
"IngredientIdx2": "",
"IngredientRatio2": 0,
"IngredientAmount2": 0,
"IngredientIdx3": "",
"IngredientRatio3": 0,
"IngredientAmount3": 0,
"IngredientIdx4": "",
"IngredientRatio4": 0,
"IngredientAmount4": 0,
"IngredientIdx5": "",
"IngredientRatio5": 0
"IngredientAmount5": 0
},
{
"Idx": "Cocktail301",
"Name": "망령 맥주",
"Idx": "Cocktail001",
"Name": "칵테일A",
"RatioRange": 0,
"IngredientIdx1": "Liquid101",
"IngredientRatio1": 100,
"IngredientIdx1": "LiquidA",
"IngredientAmount1": 400,
"IngredientIdx2": "",
"IngredientRatio2": 0,
"IngredientAmount2": 0,
"IngredientIdx3": "",
"IngredientRatio3": 0,
"IngredientAmount3": 0,
"IngredientIdx4": "",
"IngredientRatio4": 0,
"IngredientAmount4": 0,
"IngredientIdx5": "",
"IngredientRatio5": 0
"IngredientAmount5": 0
},
{
"Idx": "Cocktail302",
"Name": "검은 수염",
"Idx": "Cocktail002",
"Name": "칵테일B",
"RatioRange": 0,
"IngredientIdx1": "Liquid102",
"IngredientRatio1": 100,
"IngredientIdx1": "LiquidB",
"IngredientAmount1": 400,
"IngredientIdx2": "",
"IngredientRatio2": 0,
"IngredientAmount2": 0,
"IngredientIdx3": "",
"IngredientRatio3": 0,
"IngredientAmount3": 0,
"IngredientIdx4": "",
"IngredientRatio4": 0,
"IngredientAmount4": 0,
"IngredientIdx5": "",
"IngredientRatio5": 0
"IngredientAmount5": 0
},
{
"Idx": "Cocktail303",
"Name": "용암 맥주",
"Idx": "Cocktail003",
"Name": "칵테일C",
"RatioRange": 0,
"IngredientIdx1": "Liquid103",
"IngredientRatio1": 100,
"IngredientIdx1": "LiquidC",
"IngredientAmount1": 400,
"IngredientIdx2": "",
"IngredientRatio2": 0,
"IngredientAmount2": 0,
"IngredientIdx3": "",
"IngredientRatio3": 0,
"IngredientAmount3": 0,
"IngredientIdx4": "",
"IngredientRatio4": 0,
"IngredientAmount4": 0,
"IngredientIdx5": "",
"IngredientRatio5": 0
"IngredientAmount5": 0
},
{
"Idx": "Cocktail304",
"Name": "죽음의 이슬",
"Idx": "Cocktail004",
"Name": "칵테일D",
"RatioRange": 0,
"IngredientIdx1": "Liquid104",
"IngredientRatio1": 100,
"IngredientIdx1": "LiquidD",
"IngredientAmount1": 400,
"IngredientIdx2": "",
"IngredientRatio2": 0,
"IngredientAmount2": 0,
"IngredientIdx3": "",
"IngredientRatio3": 0,
"IngredientAmount3": 0,
"IngredientIdx4": "",
"IngredientRatio4": 0,
"IngredientAmount4": 0,
"IngredientIdx5": "",
"IngredientRatio5": 0
"IngredientAmount5": 0
},
{
"Idx": "Cocktail305",
"Name": "얼음",
"Idx": "Cocktail005",
"Name": "칵테일E",
"RatioRange": 0,
"IngredientIdx1": "Garnish200",
"IngredientRatio1": 100,
"IngredientIdx1": "LiquidE",
"IngredientAmount1": 400,
"IngredientIdx2": "",
"IngredientRatio2": 0,
"IngredientAmount2": 0,
"IngredientIdx3": "",
"IngredientRatio3": 0,
"IngredientAmount3": 0,
"IngredientIdx4": "",
"IngredientRatio4": 0,
"IngredientAmount4": 0,
"IngredientIdx5": "",
"IngredientRatio5": 0
"IngredientAmount5": 0
},
{
"Idx": "Cocktail306",
"Name": "얼어붙은 망령",
"Idx": "Cocktail006",
"Name": "칵테일AC",
"RatioRange": 5,
"IngredientIdx1": "LiquidA",
"IngredientAmount1": 200,
"IngredientIdx2": "LiquidC",
"IngredientAmount2": 200,
"IngredientIdx3": "",
"IngredientAmount3": 0,
"IngredientIdx4": "",
"IngredientAmount4": 0,
"IngredientIdx5": "",
"IngredientAmount5": 0
},
{
"Idx": "Cocktail007",
"Name": "칵테일BD",
"RatioRange": 5,
"IngredientIdx1": "LiquidB",
"IngredientAmount1": 200,
"IngredientIdx2": "LiquidD",
"IngredientAmount2": 200,
"IngredientIdx3": "",
"IngredientAmount3": 0,
"IngredientIdx4": "",
"IngredientAmount4": 0,
"IngredientIdx5": "",
"IngredientAmount5": 0
},
{
"Idx": "Cocktail008",
"Name": "칵테일CD",
"RatioRange": 5,
"IngredientIdx1": "LiquidC",
"IngredientAmount1": 200,
"IngredientIdx2": "LiquidD",
"IngredientAmount2": 200,
"IngredientIdx3": "",
"IngredientAmount3": 0,
"IngredientIdx4": "",
"IngredientAmount4": 0,
"IngredientIdx5": "",
"IngredientAmount5": 0
},
{
"Idx": "Cocktail009",
"Name": "칵테일ABE",
"RatioRange": 10,
"IngredientIdx1": "Liquid101",
"IngredientRatio1": 80,
"IngredientIdx2": "Garnish200",
"IngredientRatio2": 20,
"IngredientIdx3": "",
"IngredientRatio3": 0,
"IngredientIdx1": "LiquidA",
"IngredientAmount1": 100,
"IngredientIdx2": "LiquidB",
"IngredientAmount2": 100,
"IngredientIdx3": "LiquidE",
"IngredientAmount3": 200,
"IngredientIdx4": "",
"IngredientRatio4": 0,
"IngredientAmount4": 0,
"IngredientIdx5": "",
"IngredientRatio5": 0
"IngredientAmount5": 0
},
{
"Idx": "Cocktail307",
"Name": "슬라임 풀",
"RatioRange": 25,
"IngredientIdx1": "Liquid100",
"IngredientRatio1": 50,
"IngredientIdx2": "Garnish200",
"IngredientRatio2": 50,
"IngredientIdx3": "",
"IngredientRatio3": 0,
"IngredientIdx4": "",
"IngredientRatio4": 0,
"IngredientIdx5": "",
"IngredientRatio5": 0
},
{
"Idx": "Cocktail308",
"Name": "불탄 수염",
"Idx": "Cocktail010",
"Name": "칵테일CDE",
"RatioRange": 10,
"IngredientIdx1": "Liquid102",
"IngredientRatio1": 20,
"IngredientIdx2": "Liquid103",
"IngredientRatio2": 80,
"IngredientIdx3": "",
"IngredientRatio3": 0,
"IngredientIdx1": "LiquidC",
"IngredientAmount1": 100,
"IngredientIdx2": "LiquidD",
"IngredientAmount2": 100,
"IngredientIdx3": "LiquidE",
"IngredientAmount3": 200,
"IngredientIdx4": "",
"IngredientRatio4": 0,
"IngredientAmount4": 0,
"IngredientIdx5": "",
"IngredientRatio5": 0
"IngredientAmount5": 0
},
{
"Idx": "Cocktail309",
"Name": "라바 고스트",
"RatioRange": 15,
"IngredientIdx1": "Liquid101",
"IngredientRatio1": 50,
"IngredientIdx2": "Liquid103",
"IngredientRatio2": 50,
"Idx": "Cocktail011",
"Name": "칵테일B1",
"RatioRange": 10,
"IngredientIdx1": "LiquidB",
"IngredientAmount1": 320,
"IngredientIdx2": "Garnish1",
"IngredientAmount2": 80,
"IngredientIdx3": "",
"IngredientRatio3": 0,
"IngredientAmount3": 0,
"IngredientIdx4": "",
"IngredientRatio4": 0,
"IngredientAmount4": 0,
"IngredientIdx5": "",
"IngredientRatio5": 0
"IngredientAmount5": 0
},
{
"Idx": "Cocktail012",
"Name": "칵테일D1",
"RatioRange": 10,
"IngredientIdx1": "LiquidD",
"IngredientAmount1": 320,
"IngredientIdx2": "Garnish1",
"IngredientAmount2": 80,
"IngredientIdx3": "",
"IngredientAmount3": 0,
"IngredientIdx4": "",
"IngredientAmount4": 0,
"IngredientIdx5": "",
"IngredientAmount5": 0
},
{
"Idx": "Cocktail013",
"Name": "칵테일A2",
"RatioRange": 5,
"IngredientIdx1": "LiquidA",
"IngredientAmount1": 360,
"IngredientIdx2": "Garnish2",
"IngredientAmount2": 40,
"IngredientIdx3": "",
"IngredientAmount3": 0,
"IngredientIdx4": "",
"IngredientAmount4": 0,
"IngredientIdx5": "",
"IngredientAmount5": 0
},
{
"Idx": "Cocktail014",
"Name": "칵테일C2",
"RatioRange": 5,
"IngredientIdx1": "LiquidC",
"IngredientAmount1": 360,
"IngredientIdx2": "Garnish2",
"IngredientAmount2": 40,
"IngredientIdx3": "",
"IngredientAmount3": 0,
"IngredientIdx4": "",
"IngredientAmount4": 0,
"IngredientIdx5": "",
"IngredientAmount5": 0
},
{
"Idx": "Cocktail015",
"Name": "칵테일E2",
"RatioRange": 5,
"IngredientIdx1": "LiquidE",
"IngredientAmount1": 360,
"IngredientIdx2": "Garnish2",
"IngredientAmount2": 40,
"IngredientIdx3": "",
"IngredientAmount3": 0,
"IngredientIdx4": "",
"IngredientAmount4": 0,
"IngredientIdx5": "",
"IngredientAmount5": 0
}
]

View File

@ -1,104 +1,37 @@
[
{
"Idx": "Liquid100",
"Name": "달빛 샘물 원액",
"Category": 1,
"Amount": 99999,
"AlcoholVolume": 0,
"Temperature": 10,
"BitterSweet": 0,
"Scent": 0,
"IngredientIdx1": 0,
"IngredientQuantity1": 0,
"IngredientIdx2": 0,
"IngredientQuantity2": 0,
"IngredientIdx3": 0,
"IngredientQuantity3": 0,
"Price": 100
"Idx": "LiquidA",
"Name": "술 원액A",
"Amount": 99999
},
{
"Idx": "Liquid101",
"Name": "망령 맥주 원액",
"Category": 1,
"Amount": 2000,
"AlcoholVolume": 7,
"Temperature": -20,
"BitterSweet": -10,
"Scent": 0,
"IngredientIdx1": "Ingredient00",
"IngredientQuantity1": 2,
"IngredientIdx2": 0,
"IngredientQuantity2": 0,
"IngredientIdx3": 0,
"IngredientQuantity3": 0,
"Price": 100
"Idx": "LiquidB",
"Name": "술 원액B",
"Amount": 2000
},
{
"Idx": "Liquid102",
"Name": "검은 수염 럼 원액",
"Category": 1,
"Amount": 1200,
"AlcoholVolume": 20,
"Temperature": -30,
"BitterSweet": -15,
"Scent": 0,
"IngredientIdx1": "Ingredient01",
"IngredientQuantity1": 3,
"IngredientIdx2": "Ingredient00",
"IngredientQuantity2": 1,
"IngredientIdx3": 0,
"IngredientQuantity3": 0,
"Price": 100
"Idx": "LiquidC",
"Name": "술 원액C",
"Amount": 2000
},
{
"Idx": "Liquid103",
"Name": "용암 맥주 원액",
"Category": 1,
"Amount": 2800,
"AlcoholVolume": 6,
"Temperature": 20,
"BitterSweet": 10,
"Scent": 0,
"IngredientIdx1": "Ingredient02",
"IngredientQuantity1": 1,
"IngredientIdx2": "Ingredient03",
"IngredientQuantity2": 3,
"IngredientIdx3": 0,
"IngredientQuantity3": 0,
"Price": 100
"Idx": "LiquidD",
"Name": "술 원액D",
"Amount": 2000
},
{
"Idx": "Liquid104",
"Name": "죽음의 이슬 원액",
"Category": 1,
"Amount": 800,
"AlcoholVolume": 30,
"Temperature": -25,
"BitterSweet": 20,
"Scent": 0,
"IngredientIdx1": "Ingredient04",
"IngredientQuantity1": 2,
"IngredientIdx2": 0,
"IngredientQuantity2": 0,
"IngredientIdx3": 0,
"IngredientQuantity3": 0,
"Price": 100
"Idx": "LiquidE",
"Name": "술 원액E",
"Amount": 2000
},
{
"Idx": "Garnish200",
"Name": "얼음 슬라임의 조각",
"Category": 2,
"Amount": 1000,
"AlcoholVolume": 0,
"Temperature": -20,
"BitterSweet": 0,
"Scent": 0,
"IngredientIdx1": "Ingredient05",
"IngredientQuantity1": 2,
"IngredientIdx2": 0,
"IngredientQuantity2": 0,
"IngredientIdx3": 0,
"IngredientQuantity3": 0,
"Price": 100
"Idx": "Garnish1",
"Name": "가나쉬1",
"Amount": 2000
},
{
"Idx": "Garnish2",
"Name": "가나쉬2",
"Amount": 2000
}
]