술 제조 작업 중

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_CorrespondingSourceObject: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3}
m_PrefabInstance: {fileID: 65862157} m_PrefabInstance: {fileID: 65862157}
m_PrefabAsset: {fileID: 0} 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 --- !u!1 &79484690
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -2324,6 +2401,83 @@ Transform:
m_CorrespondingSourceObject: {fileID: 2798544366308408093, guid: 9ce588004bafc1e4e9617fdaa2d77c8d, type: 3} m_CorrespondingSourceObject: {fileID: 2798544366308408093, guid: 9ce588004bafc1e4e9617fdaa2d77c8d, type: 3}
m_PrefabInstance: {fileID: 5626406452199475265} m_PrefabInstance: {fileID: 5626406452199475265}
m_PrefabAsset: {fileID: 0} 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 --- !u!1 &215611423
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -6520,6 +6674,83 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 677143481} m_GameObject: {fileID: 677143481}
m_CullTransparentMesh: 1 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 --- !u!1 &713557313
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -7412,6 +7643,83 @@ RectTransform:
m_CorrespondingSourceObject: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3} m_CorrespondingSourceObject: {fileID: 5685570007726524012, guid: 7e6ba4001b3b92a4d8fdd586f6d0f731, type: 3}
m_PrefabInstance: {fileID: 810401071} m_PrefabInstance: {fileID: 810401071}
m_PrefabAsset: {fileID: 0} 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 --- !u!1001 &842924126
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -8298,11 +8606,6 @@ PrefabInstance:
m_AddedGameObjects: [] m_AddedGameObjects: []
m_AddedComponents: [] m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 15c02fef22ba8d0488bd2517167c117c, type: 3} 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 --- !u!1 &891021167
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -8508,17 +8811,6 @@ RectTransform:
m_CorrespondingSourceObject: {fileID: 4291285538023367731, guid: f9e46dadb5448ee4883f8b114e9c6488, type: 3} m_CorrespondingSourceObject: {fileID: 4291285538023367731, guid: f9e46dadb5448ee4883f8b114e9c6488, type: 3}
m_PrefabInstance: {fileID: 909457639} m_PrefabInstance: {fileID: 909457639}
m_PrefabAsset: {fileID: 0} 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 --- !u!1 &963867002
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -9035,6 +9327,7 @@ MonoBehaviour:
_colorIntensity: 2 _colorIntensity: 2
_objectPoolCount: 1000 _objectPoolCount: 1000
_moveDuration: 0.5 _moveDuration: 0.5
_currentBarrel: {fileID: 0}
--- !u!1001 &1011627381 --- !u!1001 &1011627381
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -9447,7 +9740,6 @@ MonoBehaviour:
<TycoonUpgradeUi>k__BackingField: {fileID: 1496452083} <TycoonUpgradeUi>k__BackingField: {fileID: 1496452083}
<TycoonManagementUi>k__BackingField: {fileID: 102499729} <TycoonManagementUi>k__BackingField: {fileID: 102499729}
<TycoonStageUi>k__BackingField: {fileID: 1733600343} <TycoonStageUi>k__BackingField: {fileID: 1733600343}
<BrewingUi>k__BackingField: {fileID: 1909799358}
_fadeImage: {fileID: 2055805162} _fadeImage: {fileID: 2055805162}
--- !u!114 &1049919594 --- !u!114 &1049919594
MonoBehaviour: MonoBehaviour:
@ -13295,7 +13587,7 @@ MonoBehaviour:
m_OnClick: m_OnClick:
m_PersistentCalls: m_PersistentCalls:
m_Calls: m_Calls:
- m_Target: {fileID: 1909799358} - m_Target: {fileID: 0}
m_TargetAssemblyTypeName: BlueWater.Uis.BrewingUi, Assembly-CSharp m_TargetAssemblyTypeName: BlueWater.Uis.BrewingUi, Assembly-CSharp
m_MethodName: ConvertButton m_MethodName: ConvertButton
m_Mode: 1 m_Mode: 1
@ -14912,17 +15204,6 @@ RectTransform:
m_CorrespondingSourceObject: {fileID: 4291285538023367731, guid: f9e46dadb5448ee4883f8b114e9c6488, type: 3} m_CorrespondingSourceObject: {fileID: 4291285538023367731, guid: f9e46dadb5448ee4883f8b114e9c6488, type: 3}
m_PrefabInstance: {fileID: 8086743652407108747} m_PrefabInstance: {fileID: 8086743652407108747}
m_PrefabAsset: {fileID: 0} 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 --- !u!1 &1527652764
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -15829,17 +16110,6 @@ RectTransform:
m_CorrespondingSourceObject: {fileID: 4291285538023367731, guid: f9e46dadb5448ee4883f8b114e9c6488, type: 3} m_CorrespondingSourceObject: {fileID: 4291285538023367731, guid: f9e46dadb5448ee4883f8b114e9c6488, type: 3}
m_PrefabInstance: {fileID: 1627308700} m_PrefabInstance: {fileID: 1627308700}
m_PrefabAsset: {fileID: 0} 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 --- !u!1001 &1628404463
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -19843,7 +20113,7 @@ PrefabInstance:
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3} - target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalPosition.x propertyPath: m_LocalPosition.x
value: -13.37 value: -16
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3} - target: {fileID: 809828747251277026, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_LocalPosition.y propertyPath: m_LocalPosition.y
@ -19881,13 +20151,17 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z propertyPath: m_LocalEulerAnglesHint.z
value: 0 value: 0
objectReference: {fileID: 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} - target: {fileID: 1535180298174803447, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: _liquidController propertyPath: _liquidController
value: value:
objectReference: {fileID: 1006730367} objectReference: {fileID: 1006730367}
- target: {fileID: 5897095096647521783, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3} - target: {fileID: 5897095096647521783, guid: 7cb398d57f4c7ff468b50dbf1d226ca5, type: 3}
propertyPath: m_Name propertyPath: m_Name
value: Liquid value: Barrel
objectReference: {fileID: 0} objectReference: {fileID: 0}
m_RemovedComponents: [] m_RemovedComponents: []
m_RemovedGameObjects: [] m_RemovedGameObjects: []
@ -19903,7 +20177,6 @@ GameObject:
serializedVersion: 6 serializedVersion: 6
m_Component: m_Component:
- component: {fileID: 1909799357} - component: {fileID: 1909799357}
- component: {fileID: 1909799358}
m_Layer: 5 m_Layer: 5
m_Name: BrewingUi m_Name: BrewingUi
m_TagString: Untagged m_TagString: Untagged
@ -19932,47 +20205,6 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5} 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 --- !u!1 &1918605129
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -20848,7 +21080,7 @@ Camera:
m_Depth: 0 m_Depth: 0
m_CullingMask: m_CullingMask:
serializedVersion: 2 serializedVersion: 2
m_Bits: 2147745791 m_Bits: 2147614719
m_RenderingPath: -1 m_RenderingPath: -1
m_TargetTexture: {fileID: 0} m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0 m_TargetDisplay: 0
@ -21769,7 +22001,7 @@ GameObject:
- component: {fileID: 2105041735} - component: {fileID: 2105041735}
- component: {fileID: 2105041734} - component: {fileID: 2105041734}
- component: {fileID: 2105041736} - component: {fileID: 2105041736}
m_Layer: 0 m_Layer: 18
m_Name: LiquidRenderTexture m_Name: LiquidRenderTexture
m_TagString: Untagged m_TagString: Untagged
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
@ -24135,7 +24367,7 @@ PrefabInstance:
- target: {fileID: 4385792948314753237, guid: 981817fdc4897a34bafc0040f15656b9, type: 3} - target: {fileID: 4385792948314753237, guid: 981817fdc4897a34bafc0040f15656b9, type: 3}
propertyPath: _targetTransform propertyPath: _targetTransform
value: value:
objectReference: {fileID: 884456513} objectReference: {fileID: 0}
- target: {fileID: 9041926907780427371, guid: 981817fdc4897a34bafc0040f15656b9, type: 3} - target: {fileID: 9041926907780427371, guid: 981817fdc4897a34bafc0040f15656b9, type: 3}
propertyPath: m_Name propertyPath: m_Name
value: TycoonMap value: TycoonMap
@ -24145,11 +24377,6 @@ PrefabInstance:
m_AddedGameObjects: [] m_AddedGameObjects: []
m_AddedComponents: [] m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 981817fdc4897a34bafc0040f15656b9, type: 3} 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 --- !u!1001 &8086743652407108747
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -24251,127 +24478,6 @@ PrefabInstance:
m_AddedGameObjects: [] m_AddedGameObjects: []
m_AddedComponents: [] m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: f9e46dadb5448ee4883f8b114e9c6488, type: 3} 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 --- !u!1660057539 &9223372036854775807
SceneRoots: SceneRoots:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -24379,8 +24485,8 @@ SceneRoots:
- {fileID: 166220741} - {fileID: 166220741}
- {fileID: 88262798} - {fileID: 88262798}
- {fileID: 873223992} - {fileID: 873223992}
- {fileID: 1774013120}
- {fileID: 1985878520} - {fileID: 1985878520}
- {fileID: 1774013120}
- {fileID: 1634548838} - {fileID: 1634548838}
- {fileID: 355668244} - {fileID: 355668244}
- {fileID: 1222632321} - {fileID: 1222632321}
@ -24401,9 +24507,12 @@ SceneRoots:
- {fileID: 141729588} - {fileID: 141729588}
- {fileID: 852387592} - {fileID: 852387592}
- {fileID: 7827484746149782377} - {fileID: 7827484746149782377}
- {fileID: 8752897640629310614}
- {fileID: 5626406452199475265} - {fileID: 5626406452199475265}
- {fileID: 1899123652} - {fileID: 1899123652}
- {fileID: 679106599}
- {fileID: 214275878}
- {fileID: 75333518}
- {fileID: 828349206}
- {fileID: 1006730365} - {fileID: 1006730365}
- {fileID: 20736010} - {fileID: 20736010}
- {fileID: 218784750} - {fileID: 218784750}

View File

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

View File

@ -1,18 +1,10 @@
using System; using System;
using System.Collections.Generic;
using BlueWater.Interfaces; using BlueWater.Interfaces;
using Sirenix.OdinInspector; using Sirenix.OdinInspector;
using UnityEngine; using UnityEngine;
namespace BlueWater.Items namespace BlueWater.Items
{ {
public enum DrinkCategory
{
None = 0,
Alcohol,
Garnish
}
[Serializable] [Serializable]
public class LiquidData : IIdx public class LiquidData : IIdx
{ {
@ -22,43 +14,10 @@ namespace BlueWater.Items
[field: SerializeField, Tooltip("이름"), BoxGroup("Json 데이터 영역")] [field: SerializeField, Tooltip("이름"), BoxGroup("Json 데이터 영역")]
public string Name { get; set; } public string Name { get; set; }
[field: SerializeField, Tooltip("종류"), BoxGroup("Json 데이터 영역")]
public DrinkCategory Category { get; set; }
[field: SerializeField, Tooltip("총량"), BoxGroup("Json 데이터 영역")] [field: SerializeField, Tooltip("총량"), BoxGroup("Json 데이터 영역")]
public int Amount { get; set; } 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("직접 추가하는 영역")] [BoxGroup("직접 추가하는 영역")]
[field: SerializeField, BoxGroup("직접 추가하는 영역")] [field: SerializeField, BoxGroup("직접 추가하는 영역")]
public Sprite Sprite { get; set; } public Sprite Sprite { get; set; }
@ -66,16 +25,10 @@ namespace BlueWater.Items
[BoxGroup("직접 추가하는 영역")] [BoxGroup("직접 추가하는 영역")]
[field: SerializeField, BoxGroup("직접 추가하는 영역")] [field: SerializeField, BoxGroup("직접 추가하는 영역")]
public Color Color { get; set; } public Color Color { get; set; }
public List<Ingredient> GetValidIngredients() public int GetMaxAmount()
{ {
var ingredients = new List<Ingredient>(3); return Amount == 99999 ? int.MaxValue : Amount;
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;
} }
} }
} }

View File

@ -31,7 +31,7 @@ namespace BlueWater.Items
[FormerlySerializedAs("_drinkDataSo")] [SerializeField, Required] [FormerlySerializedAs("_drinkDataSo")] [SerializeField, Required]
private LiquidDataSo liquidDataSo; private LiquidDataSo liquidDataSo;
private Dictionary<string, LiquidData> _drinkDatas; private Dictionary<string, LiquidData> _liquidDatas;
[field: SerializeField, Required] [field: SerializeField, Required]
public ItemSlotDataSo ItemSlotDataSo { get; private set; } public ItemSlotDataSo ItemSlotDataSo { get; private set; }
@ -58,7 +58,7 @@ namespace BlueWater.Items
_itemDropTables = InitializeDictionary(_itemDropTableSo.ItemDropTables, table => table.CharacterData.CharacterIdx); _itemDropTables = InitializeDictionary(_itemDropTableSo.ItemDropTables, table => table.CharacterData.CharacterIdx);
_foodDatas = InitializeDictionary(_foodDataSo.Datas, data => data.Idx); _foodDatas = InitializeDictionary(_foodDataSo.Datas, data => data.Idx);
_cocktailDatas = InitializeDictionary(_cocktailDataSo.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) 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 FoodData GetFoodDataByIdx(string idx) => GetDataByIdx(_foodDatas, idx);
public CocktailData GetCocktailDataByIdx(string idx) => GetDataByIdx(_cocktailDatas, 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.Collections.Generic;
using System.Linq; using System.Linq;
using BlueWater.Items;
using BlueWater.Tycoons;
using DG.Tweening; using DG.Tweening;
using Sirenix.OdinInspector; using Sirenix.OdinInspector;
using TMPro; using TMPro;
using UnityEngine; using UnityEngine;
using UnityEngine.Pool; using UnityEngine.Pool;
using UnityEngine.Serialization;
namespace BlueWater namespace BlueWater
{ {
@ -44,9 +47,6 @@ namespace BlueWater
[Title("액체")] [Title("액체")]
[SerializeField, Required, Tooltip("액체 프리팹")] [SerializeField, Required, Tooltip("액체 프리팹")]
private Liquid _liquidObject; private Liquid _liquidObject;
[SerializeField, Tooltip("떨어지는 액체의 색상")]
private Color _liquidColor = new(1f, 0.8431373f, 0f, 1f);
[SerializeField, Tooltip("초당 생성되는 액체 수(ml)")] [SerializeField, Tooltip("초당 생성되는 액체 수(ml)")]
private int _liquidsPerSecond = 80; private int _liquidsPerSecond = 80;
@ -68,9 +68,13 @@ namespace BlueWater
[SerializeField] [SerializeField]
private float _moveDuration = 0.5f; private float _moveDuration = 0.5f;
[Title("실시간 정보")]
[SerializeField]
private Barrel _currentBarrel;
private IObjectPool<Liquid> _objectPool; private IObjectPool<Liquid> _objectPool;
private List<Liquid> _activeLiquids = new(); private List<Liquid> _activeLiquids = new();
private Dictionary<Color, int> _colorCounts = new(); private Dictionary<LiquidData, int> _liquidDataCounts = new();
private Material _instanceMaterial; private Material _instanceMaterial;
private Tween _showTween; private Tween _showTween;
private Tween _hideTween; private Tween _hideTween;
@ -113,9 +117,9 @@ namespace BlueWater
_instanceMaterial = Instantiate(_liquidRenderer.material); _instanceMaterial = Instantiate(_liquidRenderer.material);
_liquidRenderer.material = _instanceMaterial; _liquidRenderer.material = _instanceMaterial;
_timeInterval = 1f / _liquidsPerSecond;
_instanceMaterial.SetFloat(_liquidAmountHash, 0f); _instanceMaterial.SetFloat(_liquidAmountHash, 0f);
_timeInterval = 1f / _liquidsPerSecond;
_instanceLiquidCount = 0;
SetCurrentAmount(0f); SetCurrentAmount(0f);
} }
@ -123,21 +127,30 @@ namespace BlueWater
{ {
if (_isPouring) if (_isPouring)
{ {
if (_instanceLiquidCount >= _maxLiquidCount) // 현재 술의 재고가 없을 때
if (!_currentBarrel.CanConsume(1))
{ {
InActiveIsPouring(); InActiveIsPouring();
return; return;
} }
// 술이 완성되었을 때
if (_instanceLiquidCount >= _maxLiquidCount)
{
CompleteLiquid();
return;
}
if (Time.time - _startTime >= _timeInterval) if (Time.time - _startTime >= _timeInterval)
{ {
_objectPool.Get(); _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; _startTime = Time.time;
} }
} }
@ -157,19 +170,6 @@ namespace BlueWater
#endregion #endregion
// Initialize methods
#region Initialize methods
public void Initialize()
{
_instanceLiquidCount = 0;
SetCurrentAmount(0f);
_currentMixedColor = _liquidColor;
_instanceMaterial.SetColor(_liquidColorHash, _currentMixedColor * _colorIntensity);
}
#endregion
// Object pooling system // Object pooling system
#region Object pooling system #region Object pooling system
@ -186,10 +186,11 @@ namespace BlueWater
liquid.transform.rotation = Quaternion.identity; liquid.transform.rotation = Quaternion.identity;
liquid.gameObject.SetActive(true); liquid.gameObject.SetActive(true);
_instanceLiquidCount++; _instanceLiquidCount++;
liquid.Initialize(this, _reachedCollider, _liquidColor, _pushDirection.normalized * _pushPower); var liquidColor = _currentBarrel.GetLiquidData().Color;
if (_renderTexture && _renderTexture.material.GetColor(_renderTextureColorHash) != _liquidColor) 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); _activeLiquids.Add(liquid);
} }
@ -211,9 +212,6 @@ namespace BlueWater
// Custom methods // Custom methods
#region Custom methods #region Custom methods
[Button("기본 색상")]
private void DefaultColor() => _liquidColor = new Color(1f, 0.8431373f, 0f, 1f);
/// <summary> /// <summary>
/// 술 제조 과정 초기화 함수 /// 술 제조 과정 초기화 함수
/// </summary> /// </summary>
@ -225,14 +223,29 @@ namespace BlueWater
_activeLiquids[i].Destroy(); _activeLiquids[i].Destroy();
} }
_colorCounts.Clear(); _liquidDataCounts.Clear();
_instanceLiquidCount = 0; _instanceLiquidCount = 0;
SetCurrentAmount(0f); SetCurrentAmount(0f);
_instanceMaterial.SetFloat(_liquidAmountHash, 0f); _instanceMaterial.SetFloat(_liquidAmountHash, 0f);
} }
/// <summary>
/// 현재 상호작용 중인 Barrel 연동
/// </summary>
/// <param name="barrel"></param>
public void SetBarrel(Barrel barrel)
{
_currentBarrel = barrel;
}
public void ActiveIsPouring() public void ActiveIsPouring()
{ {
if (_instanceLiquidCount == 0)
{
_currentMixedColor = _currentBarrel.GetLiquidData().Color;
_instanceMaterial.SetColor(_liquidColorHash, _currentMixedColor * _colorIntensity);
}
_startTime = Time.time; _startTime = Time.time;
_isPouring = true; _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>
/// 사용된 색상의 비율에 맞게 색을 혼합시키는 함수 /// 사용된 색상의 비율에 맞게 색을 혼합시키는 함수
/// </summary> /// </summary>
private Color MixColorsByTime() private Color MixColorsByTime()
{ {
var totalCounts = _colorCounts.Values.Sum(); var totalCounts = _liquidDataCounts.Values.Sum();
var mixedColor = Color.black; 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 count = element.Value;
var ratio = count / (float)totalCounts; 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.Items;
using BlueWater.Uis; // using BlueWater.Uis;
using UnityEngine; // using UnityEngine;
using UnityEngine.Serialization; // using UnityEngine.Serialization;
//
namespace BlueWater.Tycoons // namespace BlueWater.Tycoons
{ // {
public class Brewing : InteractionFurniture // public class Brewing : InteractionFurniture
{ // {
[SerializeField] // [SerializeField]
private DrinkCategory _category; // private DrinkCategory _category;
//
[FormerlySerializedAs("_currentDrinkData")] [SerializeField] // [FormerlySerializedAs("_currentDrinkData")] [SerializeField]
private LiquidData currentLiquidData; // private LiquidData currentLiquidData;
//
[SerializeField] // [SerializeField]
private int _currentQuantity; // private int _currentQuantity;
//
public override void Interaction() // public override void Interaction()
{ // {
var brewingUi = TycoonUiManager.Instance.BrewingUi; // var brewingUi = TycoonUiManager.Instance.BrewingUi;
brewingUi.SetBrewing(this); // brewingUi.SetBrewing(this);
brewingUi.Open(TycoonUiManager.Instance.PopupUiList); // brewingUi.Open(TycoonUiManager.Instance.PopupUiList);
} // }
//
public override bool CanInteraction() // public override bool CanInteraction()
{ // {
return !IsOpened; // return !IsOpened;
} // }
//
public void SetDrink(LiquidData liquidData) // public void SetDrink(LiquidData liquidData)
{ // {
currentLiquidData = liquidData; // currentLiquidData = liquidData;
_currentQuantity = currentLiquidData.Amount; // _currentQuantity = currentLiquidData.Amount;
} // }
//
public bool IsEmptyDrink() // public bool IsEmptyDrink()
{ // {
return currentLiquidData == null || _currentQuantity <= 0; // return currentLiquidData == null || _currentQuantity <= 0;
} // }
//
public DrinkCategory GetDrinkCategory() // public DrinkCategory GetDrinkCategory()
{ // {
return _category; // 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_Name: CocktailDataTable
m_EditorClassIdentifier: m_EditorClassIdentifier:
<Datas>k__BackingField: <Datas>k__BackingField:
- <Idx>k__BackingField: Cocktail300 - <Idx>k__BackingField: Cocktail000
<Name>k__BackingField: "\uB2EC\uBE5B \uC0D8\uBB3C" <Name>k__BackingField: "\uC4F0\uB808\uAE30"
<RatioRange>k__BackingField: 0 <RatioRange>k__BackingField: 0
<IngredientIdx1>k__BackingField: Liquid100 <IngredientIdx1>k__BackingField:
<IngredientRatio1>k__BackingField: 100 <IngredientAmount1>k__BackingField: 0
<IngredientIdx2>k__BackingField: <IngredientIdx2>k__BackingField:
<IngredientRatio2>k__BackingField: 0 <IngredientAmount2>k__BackingField: 0
<IngredientIdx3>k__BackingField: <IngredientIdx3>k__BackingField:
<IngredientRatio3>k__BackingField: 0 <IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField: <IngredientIdx4>k__BackingField:
<IngredientRatio4>k__BackingField: 0 <IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField: <IngredientIdx5>k__BackingField:
<IngredientRatio5>k__BackingField: 0 <IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 06a07650d842ee94390ca2505955e94d, type: 3} <Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail301 - <Idx>k__BackingField: Cocktail001
<Name>k__BackingField: "\uB9DD\uB839 \uB9E5\uC8FC" <Name>k__BackingField: "\uCE75\uD14C\uC77CA"
<RatioRange>k__BackingField: 0 <RatioRange>k__BackingField: 0
<IngredientIdx1>k__BackingField: Liquid101 <IngredientIdx1>k__BackingField: LiquidA
<IngredientRatio1>k__BackingField: 100 <IngredientAmount1>k__BackingField: 400
<IngredientIdx2>k__BackingField: <IngredientIdx2>k__BackingField:
<IngredientRatio2>k__BackingField: 0 <IngredientAmount2>k__BackingField: 0
<IngredientIdx3>k__BackingField: <IngredientIdx3>k__BackingField:
<IngredientRatio3>k__BackingField: 0 <IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField: <IngredientIdx4>k__BackingField:
<IngredientRatio4>k__BackingField: 0 <IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField: <IngredientIdx5>k__BackingField:
<IngredientRatio5>k__BackingField: 0 <IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 19df9fcd0ddf5754890f7ea9c127b905, type: 3} <Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail302 - <Idx>k__BackingField: Cocktail002
<Name>k__BackingField: "\uAC80\uC740 \uC218\uC5FC" <Name>k__BackingField: "\uCE75\uD14C\uC77CB"
<RatioRange>k__BackingField: 0 <RatioRange>k__BackingField: 0
<IngredientIdx1>k__BackingField: Liquid102 <IngredientIdx1>k__BackingField: LiquidB
<IngredientRatio1>k__BackingField: 100 <IngredientAmount1>k__BackingField: 400
<IngredientIdx2>k__BackingField: <IngredientIdx2>k__BackingField:
<IngredientRatio2>k__BackingField: 0 <IngredientAmount2>k__BackingField: 0
<IngredientIdx3>k__BackingField: <IngredientIdx3>k__BackingField:
<IngredientRatio3>k__BackingField: 0 <IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField: <IngredientIdx4>k__BackingField:
<IngredientRatio4>k__BackingField: 0 <IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField: <IngredientIdx5>k__BackingField:
<IngredientRatio5>k__BackingField: 0 <IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: a51b37c5e512c7e488e80f986f5f8aac, type: 3} <Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail303 - <Idx>k__BackingField: Cocktail003
<Name>k__BackingField: "\uC6A9\uC554 \uB9E5\uC8FC" <Name>k__BackingField: "\uCE75\uD14C\uC77CC"
<RatioRange>k__BackingField: 0 <RatioRange>k__BackingField: 0
<IngredientIdx1>k__BackingField: Liquid103 <IngredientIdx1>k__BackingField: LiquidC
<IngredientRatio1>k__BackingField: 100 <IngredientAmount1>k__BackingField: 400
<IngredientIdx2>k__BackingField: <IngredientIdx2>k__BackingField:
<IngredientRatio2>k__BackingField: 0 <IngredientAmount2>k__BackingField: 0
<IngredientIdx3>k__BackingField: <IngredientIdx3>k__BackingField:
<IngredientRatio3>k__BackingField: 0 <IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField: <IngredientIdx4>k__BackingField:
<IngredientRatio4>k__BackingField: 0 <IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField: <IngredientIdx5>k__BackingField:
<IngredientRatio5>k__BackingField: 0 <IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: d74e702a3e490a54e8a159128222f175, type: 3} <Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail304 - <Idx>k__BackingField: Cocktail004
<Name>k__BackingField: "\uC8FD\uC74C\uC758 \uC774\uC2AC" <Name>k__BackingField: "\uCE75\uD14C\uC77CD"
<RatioRange>k__BackingField: 0 <RatioRange>k__BackingField: 0
<IngredientIdx1>k__BackingField: Liquid104 <IngredientIdx1>k__BackingField: LiquidD
<IngredientRatio1>k__BackingField: 100 <IngredientAmount1>k__BackingField: 400
<IngredientIdx2>k__BackingField: <IngredientIdx2>k__BackingField:
<IngredientRatio2>k__BackingField: 0 <IngredientAmount2>k__BackingField: 0
<IngredientIdx3>k__BackingField: <IngredientIdx3>k__BackingField:
<IngredientRatio3>k__BackingField: 0 <IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField: <IngredientIdx4>k__BackingField:
<IngredientRatio4>k__BackingField: 0 <IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField: <IngredientIdx5>k__BackingField:
<IngredientRatio5>k__BackingField: 0 <IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: bff0ff1345b7ae446b330a01e6ef7bd3, type: 3} <Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail305 - <Idx>k__BackingField: Cocktail005
<Name>k__BackingField: "\uC5BC\uC74C" <Name>k__BackingField: "\uCE75\uD14C\uC77CE"
<RatioRange>k__BackingField: 0 <RatioRange>k__BackingField: 0
<IngredientIdx1>k__BackingField: Garnish200 <IngredientIdx1>k__BackingField: LiquidE
<IngredientRatio1>k__BackingField: 100 <IngredientAmount1>k__BackingField: 400
<IngredientIdx2>k__BackingField: <IngredientIdx2>k__BackingField:
<IngredientRatio2>k__BackingField: 0 <IngredientAmount2>k__BackingField: 0
<IngredientIdx3>k__BackingField: <IngredientIdx3>k__BackingField:
<IngredientRatio3>k__BackingField: 0 <IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField: <IngredientIdx4>k__BackingField:
<IngredientRatio4>k__BackingField: 0 <IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField: <IngredientIdx5>k__BackingField:
<IngredientRatio5>k__BackingField: 0 <IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 006a36cba2a146247a1d25b9e246faaa, type: 3} <Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail306 - <Idx>k__BackingField: Cocktail006
<Name>k__BackingField: "\uC5BC\uC5B4\uBD99\uC740 \uB9DD\uB839" <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 <RatioRange>k__BackingField: 10
<IngredientIdx1>k__BackingField: Liquid101 <IngredientIdx1>k__BackingField: LiquidA
<IngredientRatio1>k__BackingField: 80 <IngredientAmount1>k__BackingField: 100
<IngredientIdx2>k__BackingField: Garnish200 <IngredientIdx2>k__BackingField: LiquidB
<IngredientRatio2>k__BackingField: 20 <IngredientAmount2>k__BackingField: 100
<IngredientIdx3>k__BackingField: <IngredientIdx3>k__BackingField: LiquidE
<IngredientRatio3>k__BackingField: 0 <IngredientAmount3>k__BackingField: 200
<IngredientIdx4>k__BackingField: <IngredientIdx4>k__BackingField:
<IngredientRatio4>k__BackingField: 0 <IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField: <IngredientIdx5>k__BackingField:
<IngredientRatio5>k__BackingField: 0 <IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 31d7e535d499d5f43ab64731acc3eec3, type: 3} <Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail307 - <Idx>k__BackingField: Cocktail010
<Name>k__BackingField: "\uC2AC\uB77C\uC784 \uD480" <Name>k__BackingField: "\uCE75\uD14C\uC77CCDE"
<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"
<RatioRange>k__BackingField: 10 <RatioRange>k__BackingField: 10
<IngredientIdx1>k__BackingField: Liquid102 <IngredientIdx1>k__BackingField: LiquidC
<IngredientRatio1>k__BackingField: 20 <IngredientAmount1>k__BackingField: 100
<IngredientIdx2>k__BackingField: Liquid103 <IngredientIdx2>k__BackingField: LiquidD
<IngredientRatio2>k__BackingField: 80 <IngredientAmount2>k__BackingField: 100
<IngredientIdx3>k__BackingField: <IngredientIdx3>k__BackingField: LiquidE
<IngredientRatio3>k__BackingField: 0 <IngredientAmount3>k__BackingField: 200
<IngredientIdx4>k__BackingField: <IngredientIdx4>k__BackingField:
<IngredientRatio4>k__BackingField: 0 <IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField: <IngredientIdx5>k__BackingField:
<IngredientRatio5>k__BackingField: 0 <IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 3d04bfa220b9ebe40a4ae3f0a68c0911, type: 3} <Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail309 - <Idx>k__BackingField: Cocktail011
<Name>k__BackingField: "\uB77C\uBC14 \uACE0\uC2A4\uD2B8" <Name>k__BackingField: "\uCE75\uD14C\uC77CB1"
<RatioRange>k__BackingField: 15 <RatioRange>k__BackingField: 10
<IngredientIdx1>k__BackingField: Liquid101 <IngredientIdx1>k__BackingField: LiquidB
<IngredientRatio1>k__BackingField: 50 <IngredientAmount1>k__BackingField: 320
<IngredientIdx2>k__BackingField: Liquid103 <IngredientIdx2>k__BackingField: Garnish1
<IngredientRatio2>k__BackingField: 50 <IngredientAmount2>k__BackingField: 80
<IngredientIdx3>k__BackingField: <IngredientIdx3>k__BackingField:
<IngredientRatio3>k__BackingField: 0 <IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField: <IngredientIdx4>k__BackingField:
<IngredientRatio4>k__BackingField: 0 <IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField: <IngredientIdx5>k__BackingField:
<IngredientRatio5>k__BackingField: 0 <IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 09168d6395b3e9b41b195a2aa8ae0a82, type: 3} <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_Name: LiquidDataTable
m_EditorClassIdentifier: m_EditorClassIdentifier:
<Datas>k__BackingField: <Datas>k__BackingField:
- <Idx>k__BackingField: Garnish200 - <Idx>k__BackingField: Garnish1
<Name>k__BackingField: "\uC5BC\uC74C \uC2AC\uB77C\uC784\uC758 \uC870\uAC01" <Name>k__BackingField: "\uAC00\uB098\uC26C1"
<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
<Amount>k__BackingField: 2000 <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} <Sprite>k__BackingField: {fileID: 0}
<Color>k__BackingField: {r: 0, g: 0, b: 0, a: 0} <Color>k__BackingField: {r: 0, g: 0, b: 0, a: 1}
- <Idx>k__BackingField: Liquid102 - <Idx>k__BackingField: Garnish2
<Name>k__BackingField: "\uAC80\uC740 \uC218\uC5FC \uB7FC \uC6D0\uC561" <Name>k__BackingField: "\uAC00\uB098\uC26C2"
<Category>k__BackingField: 1 <Amount>k__BackingField: 2000
<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
<Sprite>k__BackingField: {fileID: 0} <Sprite>k__BackingField: {fileID: 0}
<Color>k__BackingField: {r: 0, g: 0, b: 0, a: 0} <Color>k__BackingField: {r: 0, g: 0, b: 0, a: 1}
- <Idx>k__BackingField: Liquid103 - <Idx>k__BackingField: LiquidA
<Name>k__BackingField: "\uC6A9\uC554 \uB9E5\uC8FC \uC6D0\uC561" <Name>k__BackingField: "\uC220 \uC6D0\uC561A"
<Category>k__BackingField: 1 <Amount>k__BackingField: 99999
<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
<Sprite>k__BackingField: {fileID: 0} <Sprite>k__BackingField: {fileID: 0}
<Color>k__BackingField: {r: 0, g: 0, b: 0, a: 0} <Color>k__BackingField: {r: 1, g: 0, b: 0, a: 1}
- <Idx>k__BackingField: Liquid104 - <Idx>k__BackingField: LiquidB
<Name>k__BackingField: "\uC8FD\uC74C\uC758 \uC774\uC2AC \uC6D0\uC561" <Name>k__BackingField: "\uC220 \uC6D0\uC561B"
<Category>k__BackingField: 1 <Amount>k__BackingField: 2000
<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
<Sprite>k__BackingField: {fileID: 0} <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; if (DrinkRecipes.Contains(idx)) return;
var drinkData = ItemManager.Instance.GetDrinkDataByIdx(idx); var drinkData = ItemManager.Instance.GetLiquidDataByIdx(idx);
if (drinkData == null) return; if (drinkData == null) return;
DrinkRecipes.Add(idx); 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 class TycoonEvents
{ {
// 음료 // 음료
public static Action<string> OnDrinkRecipeAcquired; // public static Action<string> OnDrinkRecipeAcquired;
// public static Action<LiquidData> OnDrinkRecipeSelected;
public static Action OnLiquidRegionEntered; public static Action OnLiquidRegionEntered;
public static Action OnLiquidRegionExited; 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 System.Collections.Generic;
using BlueWater.Items; // using BlueWater.Items;
using BlueWater.Tycoons; // using BlueWater.Tycoons;
using Sirenix.OdinInspector; // using Sirenix.OdinInspector;
using TMPro; // using TMPro;
using UnityEngine; // using UnityEngine;
using UnityEngine.Serialization; // using UnityEngine.Serialization;
using UnityEngine.UI; // using UnityEngine.UI;
//
namespace BlueWater.Uis // namespace BlueWater.Uis
{ // {
public class BrewingUi : SwitchActionPopupUi // public class BrewingUi : SwitchActionPopupUi
{ // {
[FormerlySerializedAs("_drinkRecipeSlotUiPrefab")] [SerializeField, Required] // [FormerlySerializedAs("_drinkRecipeSlotUiPrefab")] [SerializeField, Required]
private LiquidRecipeSlotUi liquidRecipeSlotUiPrefab; // private LiquidRecipeSlotUi liquidRecipeSlotUiPrefab;
//
[SerializeField, Required] // [SerializeField, Required]
private Transform _drinkRecipeSpawnLocation; // private Transform _drinkRecipeSpawnLocation;
//
[SerializeField] // [SerializeField]
private TMP_Text _recipeName; // private TMP_Text _recipeName;
//
[SerializeField] // [SerializeField]
private Image _drinkImage; // private Image _drinkImage;
//
[SerializeField] // [SerializeField]
private Button _convertButton; // private Button _convertButton;
//
[Title("실시간 데이터")] // [Title("실시간 데이터")]
[SerializeField] // [SerializeField]
private List<BrewingIngredientSlotUi> _brewingIngredientSlotUis = new(3); // private List<BrewingIngredientSlotUi> _brewingIngredientSlotUis = new(3);
//
[FormerlySerializedAs("_selectedDrinkData")] [SerializeField] // [FormerlySerializedAs("_selectedDrinkData")] [SerializeField]
private LiquidData selectedLiquidData; // private LiquidData selectedLiquidData;
//
[SerializeField] // [SerializeField]
private Brewing _currentBrewing; // private Brewing _currentBrewing;
//
private List<LiquidRecipeSlotUi> _drinkRecipeSlotUis = new(); // private List<LiquidRecipeSlotUi> _drinkRecipeSlotUis = new();
//
private void Start() // private void Start()
{ // {
Initialize(); // Initialize();
//
TycoonEvents.OnDrinkRecipeAcquired += AddDrinkRecipe; // TycoonEvents.OnDrinkRecipeAcquired += AddDrinkRecipe;
TycoonEvents.OnDrinkRecipeSelected += SelectDrinkRecipe; // TycoonEvents.OnDrinkRecipeSelected += SelectDrinkRecipe;
} // }
//
private void OnDestroy() // private void OnDestroy()
{ // {
TycoonEvents.OnDrinkRecipeAcquired -= AddDrinkRecipe; // TycoonEvents.OnDrinkRecipeAcquired -= AddDrinkRecipe;
TycoonEvents.OnDrinkRecipeSelected -= SelectDrinkRecipe; // TycoonEvents.OnDrinkRecipeSelected -= SelectDrinkRecipe;
} // }
//
private void Initialize() // private void Initialize()
{ // {
foreach (Transform element in _drinkRecipeSpawnLocation) // foreach (Transform element in _drinkRecipeSpawnLocation)
{ // {
Destroy(element.gameObject); // Destroy(element.gameObject);
} // }
//
var drinkRecipes = DataManager.Instance.TycoonData.DrinkRecipes; // var drinkRecipes = DataManager.Instance.TycoonData.DrinkRecipes;
foreach (var element in drinkRecipes) // foreach (var element in drinkRecipes)
{ // {
AddDrinkRecipe(element); // AddDrinkRecipe(element);
} // }
} // }
//
public override void Open(List<PopupUi> popupUiList) // public override void Open(List<PopupUi> popupUiList)
{ // {
base.Open(popupUiList); // base.Open(popupUiList);
//
ResetBrewingUi(); // ResetBrewingUi();
TycoonEvents.OnBrewingUiOpened?.Invoke(); // TycoonEvents.OnBrewingUiOpened?.Invoke();
} // }
//
public override void Close() // public override void Close()
{ // {
base.Close(); // base.Close();
//
_currentBrewing = null; // _currentBrewing = null;
ResetBrewingUi(); // ResetBrewingUi();
TycoonEvents.OnBrewingUiClosed?.Invoke(); // TycoonEvents.OnBrewingUiClosed?.Invoke();
} // }
//
private void ResetBrewingUi() // private void ResetBrewingUi()
{ // {
selectedLiquidData = null; // selectedLiquidData = null;
_recipeName.text = null; // _recipeName.text = null;
_drinkImage.enabled = false; // _drinkImage.enabled = false;
SetBrewingIngredient(); // SetBrewingIngredient();
foreach (var element in _brewingIngredientSlotUis) // foreach (var element in _brewingIngredientSlotUis)
{ // {
element.gameObject.SetActive(false); // element.gameObject.SetActive(false);
} // }
} // }
//
public void SetBrewing(Brewing brewing) // public void SetBrewing(Brewing brewing)
{ // {
_currentBrewing = brewing; // _currentBrewing = brewing;
ShowDrinkRecipeByCategory(); // ShowDrinkRecipeByCategory();
} // }
//
private void AddDrinkRecipe(string idx) // private void AddDrinkRecipe(string idx)
{ // {
var instance = Instantiate(liquidRecipeSlotUiPrefab, _drinkRecipeSpawnLocation); // var instance = Instantiate(liquidRecipeSlotUiPrefab, _drinkRecipeSpawnLocation);
instance.Initialize(idx); // instance.Initialize(idx);
_drinkRecipeSlotUis.Add(instance); // _drinkRecipeSlotUis.Add(instance);
} // }
//
private void ShowDrinkRecipeByCategory() // private void ShowDrinkRecipeByCategory()
{ // {
var currentDrinkCategory = _currentBrewing.GetDrinkCategory(); // var currentDrinkCategory = _currentBrewing.GetDrinkCategory();
foreach (var element in _drinkRecipeSlotUis) // foreach (var element in _drinkRecipeSlotUis)
{ // {
element.gameObject.SetActive(currentDrinkCategory == element.GetDrinkData().Category); // element.gameObject.SetActive(currentDrinkCategory == element.GetDrinkData().Category);
} // }
} // }
//
public void SelectDrinkRecipe(LiquidData liquidData) // public void SelectDrinkRecipe(LiquidData liquidData)
{ // {
selectedLiquidData = liquidData; // selectedLiquidData = liquidData;
//
_recipeName.text = selectedLiquidData.Name; // _recipeName.text = selectedLiquidData.Name;
_drinkImage.sprite = liquidData.Sprite; // _drinkImage.sprite = liquidData.Sprite;
_drinkImage.enabled = true; // _drinkImage.enabled = true;
//
var ingredients = selectedLiquidData.GetValidIngredients(); // var ingredients = selectedLiquidData.GetValidIngredients();
for (var i = 0; i < 3; i++) // for (var i = 0; i < 3; i++)
{ // {
if (ingredients.Count > i) // if (ingredients.Count > i)
{ // {
_brewingIngredientSlotUis[i].SetIngredient(ingredients[i].Idx, ingredients[i].Quantity); // _brewingIngredientSlotUis[i].SetIngredient(ingredients[i].Idx, ingredients[i].Quantity);
_brewingIngredientSlotUis[i].gameObject.SetActive(true); // _brewingIngredientSlotUis[i].gameObject.SetActive(true);
} // }
else // else
{ // {
_brewingIngredientSlotUis[i].gameObject.SetActive(false); // _brewingIngredientSlotUis[i].gameObject.SetActive(false);
} // }
} // }
//
SetBrewingIngredient(); // SetBrewingIngredient();
} // }
//
private void SetBrewingIngredient() // private void SetBrewingIngredient()
{ // {
foreach (var element in _brewingIngredientSlotUis) // foreach (var element in _brewingIngredientSlotUis)
{ // {
element.SetQuantity(); // element.SetQuantity();
} // }
//
CheckConvertButton(); // CheckConvertButton();
} // }
//
private void CheckConvertButton() // private void CheckConvertButton()
{ // {
if (selectedLiquidData == null || !_currentBrewing.IsEmptyDrink()) // if (selectedLiquidData == null || !_currentBrewing.IsEmptyDrink())
{ // {
_convertButton.interactable = false; // _convertButton.interactable = false;
return; // return;
} // }
//
var ingredients = selectedLiquidData.GetValidIngredients(); // var ingredients = selectedLiquidData.GetValidIngredients();
if (ingredients.Count <= 0) // if (ingredients.Count <= 0)
{ // {
_convertButton.interactable = false; // _convertButton.interactable = false;
return; // return;
} // }
//
for (var i = 0; i < ingredients.Count; i++) // for (var i = 0; i < ingredients.Count; i++)
{ // {
if (_brewingIngredientSlotUis[i].GetIsEnough()) continue; // if (_brewingIngredientSlotUis[i].GetIsEnough()) continue;
//
_convertButton.interactable = false; // _convertButton.interactable = false;
return; // return;
} // }
//
_convertButton.interactable = true; // _convertButton.interactable = true;
} // }
//
/// <summary> // /// <summary>
/// 술을 만들 때 최종 버튼 // /// 술을 만들 때 최종 버튼
/// </summary> // /// </summary>
public void ConvertButton() // public void ConvertButton()
{ // {
_currentBrewing.SetDrink(selectedLiquidData); // _currentBrewing.SetDrink(selectedLiquidData);
} // }
} // }
} // }

View File

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

View File

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

View File

@ -1,152 +1,242 @@
[ [
{ {
"Idx": "Cocktail300", "Idx": "Cocktail000",
"Name": "달빛 샘물", "Name": "쓰레기",
"RatioRange": 0, "RatioRange": 0,
"IngredientIdx1": "Liquid100", "IngredientIdx1": "",
"IngredientRatio1": 100, "IngredientAmount1": 0,
"IngredientIdx2": "", "IngredientIdx2": "",
"IngredientRatio2": 0, "IngredientAmount2": 0,
"IngredientIdx3": "", "IngredientIdx3": "",
"IngredientRatio3": 0, "IngredientAmount3": 0,
"IngredientIdx4": "", "IngredientIdx4": "",
"IngredientRatio4": 0, "IngredientAmount4": 0,
"IngredientIdx5": "", "IngredientIdx5": "",
"IngredientRatio5": 0 "IngredientAmount5": 0
}, },
{ {
"Idx": "Cocktail301", "Idx": "Cocktail001",
"Name": "망령 맥주", "Name": "칵테일A",
"RatioRange": 0, "RatioRange": 0,
"IngredientIdx1": "Liquid101", "IngredientIdx1": "LiquidA",
"IngredientRatio1": 100, "IngredientAmount1": 400,
"IngredientIdx2": "", "IngredientIdx2": "",
"IngredientRatio2": 0, "IngredientAmount2": 0,
"IngredientIdx3": "", "IngredientIdx3": "",
"IngredientRatio3": 0, "IngredientAmount3": 0,
"IngredientIdx4": "", "IngredientIdx4": "",
"IngredientRatio4": 0, "IngredientAmount4": 0,
"IngredientIdx5": "", "IngredientIdx5": "",
"IngredientRatio5": 0 "IngredientAmount5": 0
}, },
{ {
"Idx": "Cocktail302", "Idx": "Cocktail002",
"Name": "검은 수염", "Name": "칵테일B",
"RatioRange": 0, "RatioRange": 0,
"IngredientIdx1": "Liquid102", "IngredientIdx1": "LiquidB",
"IngredientRatio1": 100, "IngredientAmount1": 400,
"IngredientIdx2": "", "IngredientIdx2": "",
"IngredientRatio2": 0, "IngredientAmount2": 0,
"IngredientIdx3": "", "IngredientIdx3": "",
"IngredientRatio3": 0, "IngredientAmount3": 0,
"IngredientIdx4": "", "IngredientIdx4": "",
"IngredientRatio4": 0, "IngredientAmount4": 0,
"IngredientIdx5": "", "IngredientIdx5": "",
"IngredientRatio5": 0 "IngredientAmount5": 0
}, },
{ {
"Idx": "Cocktail303", "Idx": "Cocktail003",
"Name": "용암 맥주", "Name": "칵테일C",
"RatioRange": 0, "RatioRange": 0,
"IngredientIdx1": "Liquid103", "IngredientIdx1": "LiquidC",
"IngredientRatio1": 100, "IngredientAmount1": 400,
"IngredientIdx2": "", "IngredientIdx2": "",
"IngredientRatio2": 0, "IngredientAmount2": 0,
"IngredientIdx3": "", "IngredientIdx3": "",
"IngredientRatio3": 0, "IngredientAmount3": 0,
"IngredientIdx4": "", "IngredientIdx4": "",
"IngredientRatio4": 0, "IngredientAmount4": 0,
"IngredientIdx5": "", "IngredientIdx5": "",
"IngredientRatio5": 0 "IngredientAmount5": 0
}, },
{ {
"Idx": "Cocktail304", "Idx": "Cocktail004",
"Name": "죽음의 이슬", "Name": "칵테일D",
"RatioRange": 0, "RatioRange": 0,
"IngredientIdx1": "Liquid104", "IngredientIdx1": "LiquidD",
"IngredientRatio1": 100, "IngredientAmount1": 400,
"IngredientIdx2": "", "IngredientIdx2": "",
"IngredientRatio2": 0, "IngredientAmount2": 0,
"IngredientIdx3": "", "IngredientIdx3": "",
"IngredientRatio3": 0, "IngredientAmount3": 0,
"IngredientIdx4": "", "IngredientIdx4": "",
"IngredientRatio4": 0, "IngredientAmount4": 0,
"IngredientIdx5": "", "IngredientIdx5": "",
"IngredientRatio5": 0 "IngredientAmount5": 0
}, },
{ {
"Idx": "Cocktail305", "Idx": "Cocktail005",
"Name": "얼음", "Name": "칵테일E",
"RatioRange": 0, "RatioRange": 0,
"IngredientIdx1": "Garnish200", "IngredientIdx1": "LiquidE",
"IngredientRatio1": 100, "IngredientAmount1": 400,
"IngredientIdx2": "", "IngredientIdx2": "",
"IngredientRatio2": 0, "IngredientAmount2": 0,
"IngredientIdx3": "", "IngredientIdx3": "",
"IngredientRatio3": 0, "IngredientAmount3": 0,
"IngredientIdx4": "", "IngredientIdx4": "",
"IngredientRatio4": 0, "IngredientAmount4": 0,
"IngredientIdx5": "", "IngredientIdx5": "",
"IngredientRatio5": 0 "IngredientAmount5": 0
}, },
{ {
"Idx": "Cocktail306", "Idx": "Cocktail006",
"Name": "얼어붙은 망령", "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, "RatioRange": 10,
"IngredientIdx1": "Liquid101", "IngredientIdx1": "LiquidA",
"IngredientRatio1": 80, "IngredientAmount1": 100,
"IngredientIdx2": "Garnish200", "IngredientIdx2": "LiquidB",
"IngredientRatio2": 20, "IngredientAmount2": 100,
"IngredientIdx3": "", "IngredientIdx3": "LiquidE",
"IngredientRatio3": 0, "IngredientAmount3": 200,
"IngredientIdx4": "", "IngredientIdx4": "",
"IngredientRatio4": 0, "IngredientAmount4": 0,
"IngredientIdx5": "", "IngredientIdx5": "",
"IngredientRatio5": 0 "IngredientAmount5": 0
}, },
{ {
"Idx": "Cocktail307", "Idx": "Cocktail010",
"Name": "슬라임 풀", "Name": "칵테일CDE",
"RatioRange": 25,
"IngredientIdx1": "Liquid100",
"IngredientRatio1": 50,
"IngredientIdx2": "Garnish200",
"IngredientRatio2": 50,
"IngredientIdx3": "",
"IngredientRatio3": 0,
"IngredientIdx4": "",
"IngredientRatio4": 0,
"IngredientIdx5": "",
"IngredientRatio5": 0
},
{
"Idx": "Cocktail308",
"Name": "불탄 수염",
"RatioRange": 10, "RatioRange": 10,
"IngredientIdx1": "Liquid102", "IngredientIdx1": "LiquidC",
"IngredientRatio1": 20, "IngredientAmount1": 100,
"IngredientIdx2": "Liquid103", "IngredientIdx2": "LiquidD",
"IngredientRatio2": 80, "IngredientAmount2": 100,
"IngredientIdx3": "", "IngredientIdx3": "LiquidE",
"IngredientRatio3": 0, "IngredientAmount3": 200,
"IngredientIdx4": "", "IngredientIdx4": "",
"IngredientRatio4": 0, "IngredientAmount4": 0,
"IngredientIdx5": "", "IngredientIdx5": "",
"IngredientRatio5": 0 "IngredientAmount5": 0
}, },
{ {
"Idx": "Cocktail309", "Idx": "Cocktail011",
"Name": "라바 고스트", "Name": "칵테일B1",
"RatioRange": 15, "RatioRange": 10,
"IngredientIdx1": "Liquid101", "IngredientIdx1": "LiquidB",
"IngredientRatio1": 50, "IngredientAmount1": 320,
"IngredientIdx2": "Liquid103", "IngredientIdx2": "Garnish1",
"IngredientRatio2": 50, "IngredientAmount2": 80,
"IngredientIdx3": "", "IngredientIdx3": "",
"IngredientRatio3": 0, "IngredientAmount3": 0,
"IngredientIdx4": "", "IngredientIdx4": "",
"IngredientRatio4": 0, "IngredientAmount4": 0,
"IngredientIdx5": "", "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", "Idx": "LiquidA",
"Name": "달빛 샘물 원액", "Name": "술 원액A",
"Category": 1, "Amount": 99999
"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": "Liquid101", "Idx": "LiquidB",
"Name": "망령 맥주 원액", "Name": "술 원액B",
"Category": 1, "Amount": 2000
"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": "Liquid102", "Idx": "LiquidC",
"Name": "검은 수염 럼 원액", "Name": "술 원액C",
"Category": 1, "Amount": 2000
"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": "Liquid103", "Idx": "LiquidD",
"Name": "용암 맥주 원액", "Name": "술 원액D",
"Category": 1, "Amount": 2000
"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": "Liquid104", "Idx": "LiquidE",
"Name": "죽음의 이슬 원액", "Name": "술 원액E",
"Category": 1, "Amount": 2000
"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": "Garnish200", "Idx": "Garnish1",
"Name": "얼음 슬라임의 조각", "Name": "가나쉬1",
"Category": 2, "Amount": 2000
"Amount": 1000, },
"AlcoholVolume": 0, {
"Temperature": -20, "Idx": "Garnish2",
"BitterSweet": 0, "Name": "가나쉬2",
"Scent": 0, "Amount": 2000
"IngredientIdx1": "Ingredient05",
"IngredientQuantity1": 2,
"IngredientIdx2": 0,
"IngredientQuantity2": 0,
"IngredientIdx3": 0,
"IngredientQuantity3": 0,
"Price": 100
} }
] ]