Merge branch 'develop' of http://gitea.capers.co.kr:3000/capers/CapersRepo into lmg
# Conflicts: # Assets/02.Scripts/Item/Cocktail/CocktailData.cs
This commit is contained in:
commit
c3bdefa642
@ -2803,71 +2803,6 @@ 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!1 &214974222
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 214974223}
|
|
||||||
- component: {fileID: 214974225}
|
|
||||||
- component: {fileID: 214974224}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: Renderer4
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &214974223
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 214974222}
|
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 1434161267}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
|
||||||
m_SizeDelta: {x: 0, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!114 &214974224
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 214974222}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: deeb12332c062954093c24a3fab10b83, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_RaycastTarget: 0
|
|
||||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
m_Maskable: 1
|
|
||||||
m_OnCullStateChanged:
|
|
||||||
m_PersistentCalls:
|
|
||||||
m_Calls: []
|
|
||||||
--- !u!222 &214974225
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 214974222}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!1 &215611423
|
--- !u!1 &215611423
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -10511,8 +10446,8 @@ MonoBehaviour:
|
|||||||
_pushPower: 50
|
_pushPower: 50
|
||||||
_liquidObject: {fileID: -7612237390858616641, guid: 231c2f369e2946745a955eb49243702b, type: 3}
|
_liquidObject: {fileID: -7612237390858616641, guid: 231c2f369e2946745a955eb49243702b, type: 3}
|
||||||
_garnishObject: {fileID: 5803694563079548352, guid: f051d09e1e3043d4285ae8e0ff4c4f12, type: 3}
|
_garnishObject: {fileID: 5803694563079548352, guid: f051d09e1e3043d4285ae8e0ff4c4f12, type: 3}
|
||||||
_liquidsPerSecond: 80
|
_liquidsPerSecond: 100
|
||||||
_maxLiquidCount: 400
|
_maxLiquidCount: 300
|
||||||
_colorLerpSpeed: 0.5
|
_colorLerpSpeed: 0.5
|
||||||
_colorIntensity: 2
|
_colorIntensity: 2
|
||||||
_objectPoolCount: 1000
|
_objectPoolCount: 1000
|
||||||
@ -11456,71 +11391,6 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_HorizontalFit: 2
|
m_HorizontalFit: 2
|
||||||
m_VerticalFit: 0
|
m_VerticalFit: 0
|
||||||
--- !u!1 &1092164769
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 1092164770}
|
|
||||||
- component: {fileID: 1092164772}
|
|
||||||
- component: {fileID: 1092164771}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: Renderer3
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &1092164770
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1092164769}
|
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 1434161267}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
|
||||||
m_SizeDelta: {x: 0, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!114 &1092164771
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1092164769}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: deeb12332c062954093c24a3fab10b83, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_RaycastTarget: 0
|
|
||||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
m_Maskable: 1
|
|
||||||
m_OnCullStateChanged:
|
|
||||||
m_PersistentCalls:
|
|
||||||
m_Calls: []
|
|
||||||
--- !u!222 &1092164772
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1092164769}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!1 &1101945424
|
--- !u!1 &1101945424
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -15005,71 +14875,6 @@ Transform:
|
|||||||
- {fileID: 181975870}
|
- {fileID: 181975870}
|
||||||
m_Father: {fileID: 1665075868}
|
m_Father: {fileID: 1665075868}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!1 &1370164786
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 1370164787}
|
|
||||||
- component: {fileID: 1370164789}
|
|
||||||
- component: {fileID: 1370164788}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: Renderer1
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &1370164787
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1370164786}
|
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 1434161267}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
|
||||||
m_SizeDelta: {x: 0, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!114 &1370164788
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1370164786}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: deeb12332c062954093c24a3fab10b83, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_RaycastTarget: 0
|
|
||||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
m_Maskable: 1
|
|
||||||
m_OnCullStateChanged:
|
|
||||||
m_PersistentCalls:
|
|
||||||
m_Calls: []
|
|
||||||
--- !u!222 &1370164789
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1370164786}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!1 &1378992846
|
--- !u!1 &1378992846
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -16258,20 +16063,16 @@ RectTransform:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1434161266}
|
m_GameObject: {fileID: 1434161266}
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: -0}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1.2, y: 1.2, z: 1.2}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 1
|
m_ConstrainProportionsScale: 1
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 1544446791}
|
- {fileID: 1544446791}
|
||||||
- {fileID: 1370164787}
|
|
||||||
- {fileID: 1613389274}
|
|
||||||
- {fileID: 1092164770}
|
|
||||||
- {fileID: 214974223}
|
|
||||||
m_Father: {fileID: 1737345938}
|
m_Father: {fileID: 1737345938}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
m_AnchorMax: {x: 1, y: 1}
|
||||||
m_AnchoredPosition: {x: -132, y: 37}
|
m_AnchoredPosition: {x: -51, y: 21}
|
||||||
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 &1434161268
|
--- !u!114 &1434161268
|
||||||
@ -16294,7 +16095,7 @@ MonoBehaviour:
|
|||||||
m_OnCullStateChanged:
|
m_OnCullStateChanged:
|
||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
m_Calls: []
|
m_Calls: []
|
||||||
skeletonDataAsset: {fileID: 11400000, guid: 308d2d58ac0aafc4b8a391c601b0d398, type: 2}
|
skeletonDataAsset: {fileID: 11400000, guid: f92d39c8c0ff1414790be3559bcfb1b0, type: 2}
|
||||||
additiveMaterial: {fileID: 2100000, guid: 2e8245019faeb8c43b75f9ca3ac8ee34, type: 2}
|
additiveMaterial: {fileID: 2100000, guid: 2e8245019faeb8c43b75f9ca3ac8ee34, type: 2}
|
||||||
multiplyMaterial: {fileID: 2100000, guid: e74a1f8978a7da348a721508d0d58834, type: 2}
|
multiplyMaterial: {fileID: 2100000, guid: e74a1f8978a7da348a721508d0d58834, type: 2}
|
||||||
screenMaterial: {fileID: 2100000, guid: bab24c479f34eec45be6ea8595891569, type: 2}
|
screenMaterial: {fileID: 2100000, guid: bab24c479f34eec45be6ea8595891569, type: 2}
|
||||||
@ -16317,10 +16118,6 @@ MonoBehaviour:
|
|||||||
allowMultipleCanvasRenderers: 1
|
allowMultipleCanvasRenderers: 1
|
||||||
canvasRenderers:
|
canvasRenderers:
|
||||||
- {fileID: 1544446793}
|
- {fileID: 1544446793}
|
||||||
- {fileID: 1370164789}
|
|
||||||
- {fileID: 1613389276}
|
|
||||||
- {fileID: 1092164772}
|
|
||||||
- {fileID: 214974225}
|
|
||||||
separatorSlotNames: []
|
separatorSlotNames: []
|
||||||
enableSeparatorSlots: 0
|
enableSeparatorSlots: 0
|
||||||
separatorParts: []
|
separatorParts: []
|
||||||
@ -18362,71 +18159,6 @@ CanvasRenderer:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1604407184}
|
m_GameObject: {fileID: 1604407184}
|
||||||
m_CullTransparentMesh: 1
|
m_CullTransparentMesh: 1
|
||||||
--- !u!1 &1613389273
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 1613389274}
|
|
||||||
- component: {fileID: 1613389276}
|
|
||||||
- component: {fileID: 1613389275}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: Renderer2
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &1613389274
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1613389273}
|
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 1434161267}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 0}
|
|
||||||
m_AnchorMax: {x: 1, y: 1}
|
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
|
||||||
m_SizeDelta: {x: 0, y: 0}
|
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
|
||||||
--- !u!114 &1613389275
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1613389273}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: deeb12332c062954093c24a3fab10b83, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
|
||||||
m_RaycastTarget: 0
|
|
||||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
|
||||||
m_Maskable: 1
|
|
||||||
m_OnCullStateChanged:
|
|
||||||
m_PersistentCalls:
|
|
||||||
m_Calls: []
|
|
||||||
--- !u!222 &1613389276
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1613389273}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!1 &1617241974
|
--- !u!1 &1617241974
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -4,7 +4,7 @@ using BlueWater.Npcs.Crews;
|
|||||||
namespace BlueWater.BehaviorTrees.Actions
|
namespace BlueWater.BehaviorTrees.Actions
|
||||||
{
|
{
|
||||||
[TaskCategory("Custom/Npc/Crew")]
|
[TaskCategory("Custom/Npc/Crew")]
|
||||||
public class CompleteMission : Action
|
public class IsCompletedMission : Action
|
||||||
{
|
{
|
||||||
private Crew _crew;
|
private Crew _crew;
|
||||||
|
|
||||||
@ -15,12 +15,7 @@ namespace BlueWater.BehaviorTrees.Actions
|
|||||||
|
|
||||||
public override TaskStatus OnUpdate()
|
public override TaskStatus OnUpdate()
|
||||||
{
|
{
|
||||||
if (_crew.CrewInteraction == null)
|
return _crew.IsCompletedMission() ? TaskStatus.Success : TaskStatus.Running;
|
||||||
{
|
|
||||||
return TaskStatus.Success;
|
|
||||||
}
|
|
||||||
|
|
||||||
return TaskStatus.Running;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,5 +1,5 @@
|
|||||||
using BehaviorDesigner.Runtime.Tasks;
|
using BehaviorDesigner.Runtime.Tasks;
|
||||||
using BlueWater.Npcs.Crews;
|
using BlueWater.Npcs.Crews.Bartender;
|
||||||
|
|
||||||
namespace BlueWater.BehaviorTrees.Actions
|
namespace BlueWater.BehaviorTrees.Actions
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using BehaviorDesigner.Runtime.Tasks;
|
using BehaviorDesigner.Runtime.Tasks;
|
||||||
using BlueWater.Npcs.Crews;
|
using BlueWater.Npcs.Crews.Server;
|
||||||
using BlueWater.Tycoons;
|
using BlueWater.Tycoons;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
namespace BlueWater.BehaviorTrees.Actions
|
namespace BlueWater.BehaviorTrees.Actions
|
||||||
{
|
{
|
||||||
@ -8,7 +9,6 @@ namespace BlueWater.BehaviorTrees.Actions
|
|||||||
public class Refind : Action
|
public class Refind : Action
|
||||||
{
|
{
|
||||||
private ServerCrew _serverCrew;
|
private ServerCrew _serverCrew;
|
||||||
private ServingTable _emptyServingTable;
|
|
||||||
|
|
||||||
public override void OnAwake()
|
public override void OnAwake()
|
||||||
{
|
{
|
||||||
@ -19,31 +19,22 @@ namespace BlueWater.BehaviorTrees.Actions
|
|||||||
{
|
{
|
||||||
var tycoonManager = TycoonManager.Instance;
|
var tycoonManager = TycoonManager.Instance;
|
||||||
var orderedCustomer = tycoonManager.CustomerController.FindCustomerMatchingItem(_serverCrew.CurrentPickupItem);
|
var orderedCustomer = tycoonManager.CustomerController.FindCustomerMatchingItem(_serverCrew.CurrentPickupItem);
|
||||||
|
if (orderedCustomer)
|
||||||
if (orderedCustomer != null)
|
|
||||||
{
|
{
|
||||||
orderedCustomer.IsMatchedServer = true;
|
_serverCrew.OnMission(orderedCustomer, orderedCustomer);
|
||||||
_serverCrew.OrderedCustomer = orderedCustomer;
|
|
||||||
_serverCrew.CrewInteraction = orderedCustomer;
|
|
||||||
|
|
||||||
return TaskStatus.Success;
|
return TaskStatus.Success;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_emptyServingTable == null)
|
var emptyServingTable = tycoonManager.ServingTableController.FindEmptyServingTable();
|
||||||
|
if (emptyServingTable)
|
||||||
{
|
{
|
||||||
_emptyServingTable = tycoonManager.ServingTableController.FindEmptyServingTable();
|
_serverCrew.OnMission(emptyServingTable);
|
||||||
_serverCrew.CrewInteraction = _emptyServingTable;
|
_serverCrew.AIMovement.Move(emptyServingTable.CenterTransform.position);
|
||||||
return TaskStatus.Running;
|
return TaskStatus.Success;
|
||||||
}
|
}
|
||||||
|
|
||||||
_serverCrew.AIMovement.Move(_emptyServingTable.CenterTransform.position);
|
return TaskStatus.Running;
|
||||||
|
|
||||||
if (!_serverCrew.CanInteractionPosition()) return TaskStatus.Running;
|
|
||||||
|
|
||||||
_serverCrew.AIMovement.StopMove();
|
|
||||||
_serverCrew.CrewInteraction.InteractionCrew(_serverCrew);
|
|
||||||
|
|
||||||
return TaskStatus.Success;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,5 +1,5 @@
|
|||||||
using BehaviorDesigner.Runtime.Tasks;
|
using BehaviorDesigner.Runtime.Tasks;
|
||||||
using BlueWater.Npcs.Crews;
|
using BlueWater.Npcs.Crews.Bartender;
|
||||||
|
|
||||||
namespace BlueWater.BehaviorTrees.Actions
|
namespace BlueWater.BehaviorTrees.Actions
|
||||||
{
|
{
|
||||||
|
@ -33,9 +33,15 @@ namespace BlueWater.BehaviorTrees.Actions
|
|||||||
if (!_crew.CanInteractionPosition()) return TaskStatus.Running;
|
if (!_crew.CanInteractionPosition()) return TaskStatus.Running;
|
||||||
|
|
||||||
_crew.AIMovement.StopMove();
|
_crew.AIMovement.StopMove();
|
||||||
_crew.CrewInteraction.InteractionCrew(_crew);
|
|
||||||
|
|
||||||
return TaskStatus.Success;
|
if (_crew.CrewInteraction != null)
|
||||||
|
{
|
||||||
|
_crew.CrewInteraction.InteractionCrew(_crew);
|
||||||
|
return TaskStatus.Success;
|
||||||
|
}
|
||||||
|
|
||||||
|
_crew.ResetMission();
|
||||||
|
return TaskStatus.Failure;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,5 +1,6 @@
|
|||||||
using BehaviorDesigner.Runtime.Tasks;
|
using BehaviorDesigner.Runtime.Tasks;
|
||||||
using BlueWater.Npcs.Crews;
|
using BlueWater.Npcs.Crews.Server;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
namespace BlueWater.BehaviorTrees.Actions
|
namespace BlueWater.BehaviorTrees.Actions
|
||||||
{
|
{
|
||||||
@ -15,7 +16,11 @@ namespace BlueWater.BehaviorTrees.Actions
|
|||||||
|
|
||||||
public override void OnStart()
|
public override void OnStart()
|
||||||
{
|
{
|
||||||
_serverCrew.CrewInteraction = _serverCrew.OrderedCustomer;
|
if (_serverCrew.OrderedCustomer && _serverCrew.OrderedCustomer.CanInteractionCrew())
|
||||||
|
{
|
||||||
|
_serverCrew.OrderedCustomer.IsMatchedServer = true;
|
||||||
|
}
|
||||||
|
|
||||||
if (_serverCrew.CrewInteraction != null)
|
if (_serverCrew.CrewInteraction != null)
|
||||||
{
|
{
|
||||||
_serverCrew.AIMovement.Move(_serverCrew.CrewInteraction.CenterTransform.position);
|
_serverCrew.AIMovement.Move(_serverCrew.CrewInteraction.CenterTransform.position);
|
||||||
@ -27,17 +32,22 @@ namespace BlueWater.BehaviorTrees.Actions
|
|||||||
if (!_serverCrew.CrewInteraction.CanInteractionCrew())
|
if (!_serverCrew.CrewInteraction.CanInteractionCrew())
|
||||||
{
|
{
|
||||||
_serverCrew.AIMovement.StopMove();
|
_serverCrew.AIMovement.StopMove();
|
||||||
_serverCrew.OrderedCustomer = null;
|
_serverCrew.CanNotServing();
|
||||||
_serverCrew.CrewInteraction = null;
|
|
||||||
return TaskStatus.Failure;
|
return TaskStatus.Failure;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!_serverCrew.CanInteractionPosition()) return TaskStatus.Running;
|
if (!_serverCrew.CanInteractionPosition()) return TaskStatus.Running;
|
||||||
|
|
||||||
_serverCrew.AIMovement.StopMove();
|
_serverCrew.AIMovement.StopMove();
|
||||||
_serverCrew.CrewInteraction.InteractionCrew(_serverCrew);
|
|
||||||
|
|
||||||
return TaskStatus.Success;
|
if (_serverCrew.CrewInteraction != null)
|
||||||
|
{
|
||||||
|
_serverCrew.CrewInteraction.InteractionCrew(_serverCrew);
|
||||||
|
return TaskStatus.Success;
|
||||||
|
}
|
||||||
|
|
||||||
|
_serverCrew.CanNotServing();
|
||||||
|
return TaskStatus.Failure;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,5 +1,5 @@
|
|||||||
using BehaviorDesigner.Runtime.Tasks;
|
using BehaviorDesigner.Runtime.Tasks;
|
||||||
using BlueWater.Npcs.Crews;
|
using BlueWater.Npcs.Crews.Server;
|
||||||
|
|
||||||
namespace BlueWater.BehaviorTrees.Actions
|
namespace BlueWater.BehaviorTrees.Actions
|
||||||
{
|
{
|
||||||
@ -25,7 +25,7 @@ namespace BlueWater.BehaviorTrees.Actions
|
|||||||
{
|
{
|
||||||
if (_serverCrew.CurrentPickupItem != null) return TaskStatus.Success;
|
if (_serverCrew.CurrentPickupItem != null) return TaskStatus.Success;
|
||||||
|
|
||||||
if (_serverCrew.CrewInteraction == null || !_serverCrew.CrewInteraction.CanInteractionCrew())
|
if (_serverCrew.CrewInteraction == null || !_serverCrew.CrewInteraction.CanInteractionCrew() || !_serverCrew.OrderedCustomer.CanInteractionCrew())
|
||||||
{
|
{
|
||||||
_serverCrew.AIMovement.StopMove();
|
_serverCrew.AIMovement.StopMove();
|
||||||
_serverCrew.ResetMission();
|
_serverCrew.ResetMission();
|
||||||
@ -35,9 +35,15 @@ namespace BlueWater.BehaviorTrees.Actions
|
|||||||
if (!_serverCrew.CanInteractionPosition()) return TaskStatus.Running;
|
if (!_serverCrew.CanInteractionPosition()) return TaskStatus.Running;
|
||||||
|
|
||||||
_serverCrew.AIMovement.StopMove();
|
_serverCrew.AIMovement.StopMove();
|
||||||
_serverCrew.CrewInteraction.InteractionCrew(_serverCrew);
|
|
||||||
|
|
||||||
return TaskStatus.Success;
|
if (_serverCrew.CrewInteraction != null && _serverCrew.OrderedCustomer.CanInteractionCrew())
|
||||||
|
{
|
||||||
|
_serverCrew.CrewInteraction.InteractionCrew(_serverCrew);
|
||||||
|
return TaskStatus.Success;
|
||||||
|
}
|
||||||
|
|
||||||
|
_serverCrew.ResetMission();
|
||||||
|
return TaskStatus.Failure;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
8
Assets/02.Scripts/Character/Npc/Crew/Bartender.meta
Normal file
8
Assets/02.Scripts/Character/Npc/Crew/Bartender.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 35b0111a0732856408248d570b2d6501
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -1,18 +1,48 @@
|
|||||||
|
using BlueWater.Interfaces;
|
||||||
using BlueWater.Npcs.Customers;
|
using BlueWater.Npcs.Customers;
|
||||||
using BlueWater.Tycoons;
|
using BlueWater.Tycoons;
|
||||||
|
|
||||||
namespace BlueWater.Npcs.Crews
|
namespace BlueWater.Npcs.Crews.Bartender
|
||||||
{
|
{
|
||||||
public class BartenderCrew: Crew
|
public class BartenderCrew : Crew
|
||||||
{
|
{
|
||||||
public BartenderTable MyBartenderTable { get; private set; }
|
public BartenderTable MyBartenderTable { get; private set; }
|
||||||
public Customer OrderedCustomer { get; set; }
|
public Customer OrderedCustomer { get; set; }
|
||||||
|
public bool IsMakingCocktail { get; private set; }
|
||||||
|
|
||||||
|
public StateMachineController<BartenderCrew> StateMachineController { get; private set; }
|
||||||
|
public IStateMachine<BartenderCrew> IdleState { get; private set; }
|
||||||
|
public IStateMachine<BartenderCrew> MakingCocktailState { get; private set; }
|
||||||
|
|
||||||
|
protected override void Update()
|
||||||
|
{
|
||||||
|
StateMachineController.UpdateState(this);
|
||||||
|
base.Update();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Initialize()
|
||||||
|
{
|
||||||
|
IdleState = new IdleState();
|
||||||
|
MakingCocktailState = new MakingCocktailState();
|
||||||
|
|
||||||
|
StateMachineController = new StateMachineController<BartenderCrew>(this, IdleState);
|
||||||
|
|
||||||
|
base.Initialize();
|
||||||
|
}
|
||||||
|
|
||||||
public override void ResetMission()
|
public override void ResetMission()
|
||||||
{
|
{
|
||||||
base.ResetMission();
|
CrewInteraction = null;
|
||||||
|
IsOnMission = false;
|
||||||
|
BalloonUi.DiscardItem();
|
||||||
|
|
||||||
OrderedCustomer = null;
|
OrderedCustomer = null;
|
||||||
|
IsMakingCocktail = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool IsCompletedMission()
|
||||||
|
{
|
||||||
|
return !OrderedCustomer && !IsMakingCocktail;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetBartenderTable(BartenderTable bartenderTable) => MyBartenderTable = bartenderTable;
|
public void SetBartenderTable(BartenderTable bartenderTable) => MyBartenderTable = bartenderTable;
|
@ -0,0 +1,25 @@
|
|||||||
|
using BlueWater.Interfaces;
|
||||||
|
|
||||||
|
namespace BlueWater.Npcs.Crews.Bartender
|
||||||
|
{
|
||||||
|
public class IdleState : IStateMachine<BartenderCrew>
|
||||||
|
{
|
||||||
|
public virtual void EnterState(BartenderCrew character)
|
||||||
|
{
|
||||||
|
character.SpineController.PlayAnimation(CrewSpineAnimation.Idle, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual void UpdateState(BartenderCrew character)
|
||||||
|
{
|
||||||
|
if (character.IsMakingCocktail)
|
||||||
|
{
|
||||||
|
character.StateMachineController.TransitionToState(character.MakingCocktailState, character);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual void ExitState(BartenderCrew character)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e9c0ddd65aa3624458b71816e3981c58
|
@ -0,0 +1,24 @@
|
|||||||
|
using BlueWater.Interfaces;
|
||||||
|
|
||||||
|
namespace BlueWater.Npcs.Crews.Bartender
|
||||||
|
{
|
||||||
|
public class MakingCocktailState : IStateMachine<BartenderCrew>
|
||||||
|
{
|
||||||
|
public void EnterState(BartenderCrew character)
|
||||||
|
{
|
||||||
|
character.SpineController.PlayAnimation(CrewSpineAnimation.MakingCocktail, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UpdateState(BartenderCrew character)
|
||||||
|
{
|
||||||
|
if (character.IsMakingCocktail) return;
|
||||||
|
|
||||||
|
character.StateMachineController.TransitionToState(character.IdleState, character);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ExitState(BartenderCrew character)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
8
Assets/02.Scripts/Character/Npc/Crew/Cleaner.meta
Normal file
8
Assets/02.Scripts/Character/Npc/Crew/Cleaner.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c56d6556876306c4d909c6933df23d82
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
52
Assets/02.Scripts/Character/Npc/Crew/Cleaner/CleanerCrew.cs
Normal file
52
Assets/02.Scripts/Character/Npc/Crew/Cleaner/CleanerCrew.cs
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
using BlueWater.Interfaces;
|
||||||
|
|
||||||
|
namespace BlueWater.Npcs.Crews.Cleaner
|
||||||
|
{
|
||||||
|
public class CleanerCrew : Crew
|
||||||
|
{
|
||||||
|
public bool IsCleaningFloor { get; private set; }
|
||||||
|
public bool IsCleaningTable { get; private set; }
|
||||||
|
|
||||||
|
public StateMachineController<CleanerCrew> StateMachineController { get; private set; }
|
||||||
|
public IStateMachine<CleanerCrew> IdleState { get; private set; }
|
||||||
|
public IStateMachine<CleanerCrew> WalkingState { get; private set; }
|
||||||
|
public IStateMachine<CleanerCrew> CleaningFloorState { get; private set; }
|
||||||
|
public IStateMachine<CleanerCrew> CleaningTableState { get; private set; }
|
||||||
|
|
||||||
|
protected override void Update()
|
||||||
|
{
|
||||||
|
StateMachineController.UpdateState(this);
|
||||||
|
base.Update();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Initialize()
|
||||||
|
{
|
||||||
|
IdleState = new IdleState();
|
||||||
|
WalkingState = new WalkingState();
|
||||||
|
CleaningFloorState = new CleaningFloorState();
|
||||||
|
CleaningTableState = new CleaningTableState();
|
||||||
|
|
||||||
|
StateMachineController = new StateMachineController<CleanerCrew>(this, IdleState);
|
||||||
|
|
||||||
|
base.Initialize();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void ResetMission()
|
||||||
|
{
|
||||||
|
CrewInteraction = null;
|
||||||
|
IsOnMission = false;
|
||||||
|
BalloonUi.DiscardItem();
|
||||||
|
|
||||||
|
IsCleaningFloor = false;
|
||||||
|
IsCleaningTable = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool IsCompletedMission()
|
||||||
|
{
|
||||||
|
return CrewInteraction == null && !IsCleaningFloor && !IsCleaningTable;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetIsCleaningFloor(bool value) => IsCleaningFloor = value;
|
||||||
|
public void SetIsCleaningTable(bool value) => IsCleaningTable = value;
|
||||||
|
}
|
||||||
|
}
|
8
Assets/02.Scripts/Character/Npc/Crew/Cleaner/State.meta
Normal file
8
Assets/02.Scripts/Character/Npc/Crew/Cleaner/State.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b76597d3681048e4b94d459ab2538a5f
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -0,0 +1,31 @@
|
|||||||
|
using BlueWater.Interfaces;
|
||||||
|
|
||||||
|
namespace BlueWater.Npcs.Crews.Cleaner
|
||||||
|
{
|
||||||
|
public class CleaningFloorState : IStateMachine<CleanerCrew>
|
||||||
|
{
|
||||||
|
public void EnterState(CleanerCrew character)
|
||||||
|
{
|
||||||
|
character.SpineController.PlayAnimation(CrewSpineAnimation.CleaningFloor, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UpdateState(CleanerCrew character)
|
||||||
|
{
|
||||||
|
if (character.IsCleaningFloor) return;
|
||||||
|
|
||||||
|
if (character.IsMoving)
|
||||||
|
{
|
||||||
|
character.StateMachineController.TransitionToState(character.WalkingState, character);
|
||||||
|
}
|
||||||
|
else if (!character.IsMoving)
|
||||||
|
{
|
||||||
|
character.StateMachineController.TransitionToState(character.IdleState, character);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ExitState(CleanerCrew character)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,31 @@
|
|||||||
|
using BlueWater.Interfaces;
|
||||||
|
|
||||||
|
namespace BlueWater.Npcs.Crews.Cleaner
|
||||||
|
{
|
||||||
|
public class CleaningTableState : IStateMachine<CleanerCrew>
|
||||||
|
{
|
||||||
|
public void EnterState(CleanerCrew character)
|
||||||
|
{
|
||||||
|
character.SpineController.PlayAnimation(CrewSpineAnimation.CleaningTable, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UpdateState(CleanerCrew character)
|
||||||
|
{
|
||||||
|
if (character.IsCleaningTable) return;
|
||||||
|
|
||||||
|
if (character.IsMoving)
|
||||||
|
{
|
||||||
|
character.StateMachineController.TransitionToState(character.WalkingState, character);
|
||||||
|
}
|
||||||
|
else if (!character.IsMoving)
|
||||||
|
{
|
||||||
|
character.StateMachineController.TransitionToState(character.IdleState, character);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ExitState(CleanerCrew character)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,34 @@
|
|||||||
|
using BlueWater.Interfaces;
|
||||||
|
|
||||||
|
namespace BlueWater.Npcs.Crews.Cleaner
|
||||||
|
{
|
||||||
|
public class IdleState : IStateMachine<CleanerCrew>
|
||||||
|
{
|
||||||
|
public void EnterState(CleanerCrew character)
|
||||||
|
{
|
||||||
|
character.SpineController.PlayAnimation(CrewSpineAnimation.Idle, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UpdateState(CleanerCrew character)
|
||||||
|
{
|
||||||
|
if (character.IsCleaningFloor)
|
||||||
|
{
|
||||||
|
character.StateMachineController.TransitionToState(character.CleaningFloorState, character);
|
||||||
|
}
|
||||||
|
else if (character.IsCleaningTable)
|
||||||
|
{
|
||||||
|
character.StateMachineController.TransitionToState(character.CleaningTableState, character);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (character.IsMoving)
|
||||||
|
{
|
||||||
|
character.StateMachineController.TransitionToState(character.WalkingState, character);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ExitState(CleanerCrew character)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 25dad99d4102ee1488ddc67be46b0aa7
|
@ -0,0 +1,33 @@
|
|||||||
|
using BlueWater.Interfaces;
|
||||||
|
|
||||||
|
namespace BlueWater.Npcs.Crews.Cleaner
|
||||||
|
{
|
||||||
|
public class WalkingState : IStateMachine<CleanerCrew>
|
||||||
|
{
|
||||||
|
public void EnterState(CleanerCrew character)
|
||||||
|
{
|
||||||
|
character.SpineController.PlayAnimation(CrewSpineAnimation.Walk, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UpdateState(CleanerCrew character)
|
||||||
|
{
|
||||||
|
if (!character.IsMoving)
|
||||||
|
{
|
||||||
|
character.StateMachineController.TransitionToState(character.IdleState, character);
|
||||||
|
}
|
||||||
|
else if (character.IsCleaningFloor)
|
||||||
|
{
|
||||||
|
character.StateMachineController.TransitionToState(character.CleaningFloorState, character);
|
||||||
|
}
|
||||||
|
else if (character.IsCleaningTable)
|
||||||
|
{
|
||||||
|
character.StateMachineController.TransitionToState(character.CleaningTableState, character);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ExitState(CleanerCrew character)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 18d2e384fa17d9145a22b1810557daa7
|
@ -1,7 +0,0 @@
|
|||||||
namespace BlueWater.Npcs.Crews
|
|
||||||
{
|
|
||||||
public class CleanerCrew: Crew
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -21,7 +21,7 @@ namespace BlueWater.Npcs.Crews
|
|||||||
public const string MakingCocktail = "BeerMaker";
|
public const string MakingCocktail = "BeerMaker";
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Crew : MonoBehaviour
|
public abstract class Crew : MonoBehaviour
|
||||||
{
|
{
|
||||||
// Variables
|
// Variables
|
||||||
|
|
||||||
@ -76,26 +76,12 @@ namespace BlueWater.Npcs.Crews
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public ICrewInteraction CrewInteraction { get; set; }
|
public ICrewInteraction CrewInteraction { get; protected set; }
|
||||||
public bool IsOnMission { get; set; }
|
public bool IsOnMission { get; protected set; }
|
||||||
public bool IsCleaningFloor { get; set; }
|
|
||||||
public bool IsCleaningTable { get; set; }
|
|
||||||
public bool IsServing { get; set; }
|
|
||||||
public bool IsMakingCocktail { get; set; }
|
|
||||||
|
|
||||||
private IAstarAI _astarAi;
|
private IAstarAI _astarAi;
|
||||||
private Transform _spawnTransform;
|
private Transform _spawnTransform;
|
||||||
|
|
||||||
// State
|
|
||||||
public IState<Crew> CurrentState { get; private set; }
|
|
||||||
public IState<Crew> IdleState { get; private set; }
|
|
||||||
public IState<Crew> WalkingState { get; private set; }
|
|
||||||
public IState<Crew> ServingIdleState { get; private set; }
|
|
||||||
public IState<Crew> ServingState { get; private set; }
|
|
||||||
public IState<Crew> CleaningFloorState { get; private set; }
|
|
||||||
public IState<Crew> CleaningTableState { get; private set; }
|
|
||||||
public IState<Crew> MakingCocktailState { get; private set; }
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
// Unity events
|
// Unity events
|
||||||
@ -109,7 +95,7 @@ namespace BlueWater.Npcs.Crews
|
|||||||
|
|
||||||
protected virtual void Update()
|
protected virtual void Update()
|
||||||
{
|
{
|
||||||
CurrentState.UpdateState(this);
|
//CurrentAnimationState.UpdateState(this);
|
||||||
HandleMovement();
|
HandleMovement();
|
||||||
FlipVisualLook();
|
FlipVisualLook();
|
||||||
}
|
}
|
||||||
@ -141,17 +127,6 @@ namespace BlueWater.Npcs.Crews
|
|||||||
|
|
||||||
public virtual void Initialize()
|
public virtual void Initialize()
|
||||||
{
|
{
|
||||||
IdleState = new IdleState();
|
|
||||||
WalkingState = new WalkingState();
|
|
||||||
ServingIdleState = new ServingIdleState();
|
|
||||||
ServingState = new ServingState();
|
|
||||||
CleaningFloorState = new CleaningFloorState();
|
|
||||||
CleaningTableState = new CleaningTableState();
|
|
||||||
MakingCocktailState = new MakingCocktailState();
|
|
||||||
|
|
||||||
CurrentState = IdleState;
|
|
||||||
CurrentState.EnterState(this);
|
|
||||||
|
|
||||||
BehaviorTree.EnableBehavior();
|
BehaviorTree.EnableBehavior();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -194,29 +169,15 @@ namespace BlueWater.Npcs.Crews
|
|||||||
BarkTrigger.OnUse();
|
BarkTrigger.OnUse();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void TransitionToState(IState<Crew> newState)
|
|
||||||
{
|
|
||||||
CurrentState.ExitState(this);
|
|
||||||
CurrentState = newState;
|
|
||||||
CurrentState.EnterState(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual void OnMission(ICrewInteraction crewInteraction)
|
public virtual void OnMission(ICrewInteraction crewInteraction)
|
||||||
{
|
{
|
||||||
CrewInteraction = crewInteraction;
|
CrewInteraction = crewInteraction;
|
||||||
CrewInteraction.OnInteractionCompleted += InteractionCompleted;
|
CrewInteraction.OnInteractionCompleted += ResetMission;
|
||||||
IsOnMission = true;
|
IsOnMission = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void ResetMission()
|
public abstract void ResetMission();
|
||||||
{
|
public abstract bool IsCompletedMission();
|
||||||
CrewInteraction = null;
|
|
||||||
IsOnMission = false;
|
|
||||||
IsCleaningFloor = false;
|
|
||||||
IsCleaningTable = false;
|
|
||||||
IsServing = false;
|
|
||||||
IsMakingCocktail = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual bool CanInteractionPosition()
|
public virtual bool CanInteractionPosition()
|
||||||
{
|
{
|
||||||
@ -227,13 +188,6 @@ namespace BlueWater.Npcs.Crews
|
|||||||
CrewInteraction.InteractionRadius;
|
CrewInteraction.InteractionRadius;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual void InteractionCompleted()
|
|
||||||
{
|
|
||||||
CrewInteraction.OnInteractionCompleted -= InteractionCompleted;
|
|
||||||
|
|
||||||
ResetMission();
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
8
Assets/02.Scripts/Character/Npc/Crew/Server.meta
Normal file
8
Assets/02.Scripts/Character/Npc/Crew/Server.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: aad9c20e25429d14f977b9e2ad515bde
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
71
Assets/02.Scripts/Character/Npc/Crew/Server/ServerCrew.cs
Normal file
71
Assets/02.Scripts/Character/Npc/Crew/Server/ServerCrew.cs
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
using BlueWater.Interfaces;
|
||||||
|
using BlueWater.Npcs.Customers;
|
||||||
|
|
||||||
|
namespace BlueWater.Npcs.Crews.Server
|
||||||
|
{
|
||||||
|
public class ServerCrew : Crew
|
||||||
|
{
|
||||||
|
public Customer OrderedCustomer { get; private set; }
|
||||||
|
public IPickup CurrentPickupItem { get; private set; }
|
||||||
|
public bool IsServing { get; private set; }
|
||||||
|
|
||||||
|
public StateMachineController<ServerCrew> StateMachineController { get; private set; }
|
||||||
|
public IStateMachine<ServerCrew> IdleState { get; private set; }
|
||||||
|
public IStateMachine<ServerCrew> WalkingState { get; private set; }
|
||||||
|
public IStateMachine<ServerCrew> ServingState { get; private set; }
|
||||||
|
|
||||||
|
protected override void Update()
|
||||||
|
{
|
||||||
|
StateMachineController.UpdateState(this);
|
||||||
|
base.Update();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Initialize()
|
||||||
|
{
|
||||||
|
IdleState = new IdleState();
|
||||||
|
WalkingState = new WalkingState();
|
||||||
|
ServingState = new ServingState();
|
||||||
|
|
||||||
|
StateMachineController = new StateMachineController<ServerCrew>(this, IdleState);
|
||||||
|
|
||||||
|
base.Initialize();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void ResetMission()
|
||||||
|
{
|
||||||
|
CrewInteraction = null;
|
||||||
|
IsOnMission = false;
|
||||||
|
BalloonUi.DiscardItem();
|
||||||
|
|
||||||
|
OrderedCustomer = null;
|
||||||
|
CurrentPickupItem = null;
|
||||||
|
IsServing = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void CanNotServing()
|
||||||
|
{
|
||||||
|
CrewInteraction = null;
|
||||||
|
OrderedCustomer = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool IsCompletedMission()
|
||||||
|
{
|
||||||
|
return CrewInteraction == null && !OrderedCustomer && CurrentPickupItem == null && !IsServing;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void OnMission(ICrewInteraction crewInteraction, Customer orderedCustomer)
|
||||||
|
{
|
||||||
|
base.OnMission(crewInteraction);
|
||||||
|
OrderedCustomer = orderedCustomer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void TakeFromServingTable(IPickup pickupItem, Customer orderedCustomer)
|
||||||
|
{
|
||||||
|
CurrentPickupItem = pickupItem;
|
||||||
|
OrderedCustomer = orderedCustomer;
|
||||||
|
CrewInteraction = OrderedCustomer;
|
||||||
|
BalloonUi.SetItemImage(CurrentPickupItem);
|
||||||
|
IsServing = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
8
Assets/02.Scripts/Character/Npc/Crew/Server/State.meta
Normal file
8
Assets/02.Scripts/Character/Npc/Crew/Server/State.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 21ecb96e6b51502459f165c484d1a11f
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -0,0 +1,33 @@
|
|||||||
|
using BlueWater.Interfaces;
|
||||||
|
|
||||||
|
namespace BlueWater.Npcs.Crews.Server
|
||||||
|
{
|
||||||
|
public class IdleState : IStateMachine<ServerCrew>
|
||||||
|
{
|
||||||
|
private bool _previousIsServing;
|
||||||
|
|
||||||
|
public virtual void EnterState(ServerCrew character)
|
||||||
|
{
|
||||||
|
_previousIsServing = character.IsServing;
|
||||||
|
character.SpineController.PlayAnimation(_previousIsServing ? CrewSpineAnimation.ServingIdle : CrewSpineAnimation.Idle, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual void UpdateState(ServerCrew character)
|
||||||
|
{
|
||||||
|
if (character.IsMoving)
|
||||||
|
{
|
||||||
|
character.StateMachineController.TransitionToState(character.WalkingState, character);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (character.IsServing == _previousIsServing) return;
|
||||||
|
|
||||||
|
_previousIsServing = character.IsServing;
|
||||||
|
character.SpineController.PlayAnimation(_previousIsServing ? CrewSpineAnimation.ServingIdle : CrewSpineAnimation.Idle, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual void ExitState(ServerCrew character)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,32 @@
|
|||||||
|
using BlueWater.Interfaces;
|
||||||
|
|
||||||
|
namespace BlueWater.Npcs.Crews.Server
|
||||||
|
{
|
||||||
|
public class ServingState : IStateMachine<ServerCrew>
|
||||||
|
{
|
||||||
|
public void EnterState(ServerCrew character)
|
||||||
|
{
|
||||||
|
character.SpineController.PlayAnimation(CrewSpineAnimation.Serving, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UpdateState(ServerCrew character)
|
||||||
|
{
|
||||||
|
if (character.IsMoving)
|
||||||
|
{
|
||||||
|
if (!character.IsServing)
|
||||||
|
{
|
||||||
|
character.StateMachineController.TransitionToState(character.WalkingState, character);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (!character.IsMoving)
|
||||||
|
{
|
||||||
|
character.StateMachineController.TransitionToState(character.IdleState, character);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ExitState(ServerCrew character)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,29 @@
|
|||||||
|
using BlueWater.Interfaces;
|
||||||
|
|
||||||
|
namespace BlueWater.Npcs.Crews.Server
|
||||||
|
{
|
||||||
|
public class WalkingState : IStateMachine<ServerCrew>
|
||||||
|
{
|
||||||
|
public void EnterState(ServerCrew character)
|
||||||
|
{
|
||||||
|
character.SpineController.PlayAnimation(CrewSpineAnimation.Walk, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UpdateState(ServerCrew character)
|
||||||
|
{
|
||||||
|
if (!character.IsMoving)
|
||||||
|
{
|
||||||
|
character.StateMachineController.TransitionToState(character.IdleState, character);
|
||||||
|
}
|
||||||
|
else if (character.IsServing)
|
||||||
|
{
|
||||||
|
character.StateMachineController.TransitionToState(character.ServingState, character);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ExitState(ServerCrew character)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,19 +0,0 @@
|
|||||||
using BlueWater.Interfaces;
|
|
||||||
using BlueWater.Npcs.Customers;
|
|
||||||
|
|
||||||
namespace BlueWater.Npcs.Crews
|
|
||||||
{
|
|
||||||
public class ServerCrew: Crew
|
|
||||||
{
|
|
||||||
public Customer OrderedCustomer { get; set; }
|
|
||||||
public IPickup CurrentPickupItem { get; set; }
|
|
||||||
|
|
||||||
public override void ResetMission()
|
|
||||||
{
|
|
||||||
base.ResetMission();
|
|
||||||
|
|
||||||
OrderedCustomer = null;
|
|
||||||
CurrentPickupItem = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,31 +0,0 @@
|
|||||||
using BlueWater.Interfaces;
|
|
||||||
|
|
||||||
namespace BlueWater.Npcs.Crews
|
|
||||||
{
|
|
||||||
public class CleaningFloorState : IState<Crew>
|
|
||||||
{
|
|
||||||
public void EnterState(Crew character)
|
|
||||||
{
|
|
||||||
character.SpineController.PlayAnimation(CrewSpineAnimation.CleaningFloor, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdateState(Crew character)
|
|
||||||
{
|
|
||||||
if (character.IsCleaningFloor) return;
|
|
||||||
|
|
||||||
if (character.IsMoving)
|
|
||||||
{
|
|
||||||
character.TransitionToState(character.WalkingState);
|
|
||||||
}
|
|
||||||
else if (!character.IsMoving)
|
|
||||||
{
|
|
||||||
character.TransitionToState(character.IdleState);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ExitState(Crew character)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,31 +0,0 @@
|
|||||||
using BlueWater.Interfaces;
|
|
||||||
|
|
||||||
namespace BlueWater.Npcs.Crews
|
|
||||||
{
|
|
||||||
public class CleaningTableState : IState<Crew>
|
|
||||||
{
|
|
||||||
public void EnterState(Crew character)
|
|
||||||
{
|
|
||||||
character.SpineController.PlayAnimation(CrewSpineAnimation.CleaningTable, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdateState(Crew character)
|
|
||||||
{
|
|
||||||
if (character.IsCleaningTable) return;
|
|
||||||
|
|
||||||
if (character.IsMoving)
|
|
||||||
{
|
|
||||||
character.TransitionToState(character.WalkingState);
|
|
||||||
}
|
|
||||||
else if (!character.IsMoving)
|
|
||||||
{
|
|
||||||
character.TransitionToState(character.IdleState);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ExitState(Crew character)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,41 +0,0 @@
|
|||||||
using BlueWater.Interfaces;
|
|
||||||
|
|
||||||
namespace BlueWater.Npcs.Crews
|
|
||||||
{
|
|
||||||
public class IdleState : IState<Crew>
|
|
||||||
{
|
|
||||||
public void EnterState(Crew character)
|
|
||||||
{
|
|
||||||
character.SpineController.PlayAnimation(CrewSpineAnimation.Idle, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdateState(Crew character)
|
|
||||||
{
|
|
||||||
if (character.IsMoving)
|
|
||||||
{
|
|
||||||
character.TransitionToState(character.WalkingState);
|
|
||||||
}
|
|
||||||
else if (character.IsCleaningFloor)
|
|
||||||
{
|
|
||||||
character.TransitionToState(character.CleaningFloorState);
|
|
||||||
}
|
|
||||||
else if (character.IsCleaningTable)
|
|
||||||
{
|
|
||||||
character.TransitionToState(character.CleaningTableState);
|
|
||||||
}
|
|
||||||
else if (character.IsServing)
|
|
||||||
{
|
|
||||||
character.TransitionToState(character.ServingState);
|
|
||||||
}
|
|
||||||
else if (character.IsMakingCocktail)
|
|
||||||
{
|
|
||||||
character.TransitionToState(character.MakingCocktailState);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ExitState(Crew character)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,31 +0,0 @@
|
|||||||
using BlueWater.Interfaces;
|
|
||||||
|
|
||||||
namespace BlueWater.Npcs.Crews
|
|
||||||
{
|
|
||||||
public class MakingCocktailState : IState<Crew>
|
|
||||||
{
|
|
||||||
public void EnterState(Crew character)
|
|
||||||
{
|
|
||||||
character.SpineController.PlayAnimation(CrewSpineAnimation.MakingCocktail, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdateState(Crew character)
|
|
||||||
{
|
|
||||||
if (character.IsMakingCocktail) return;
|
|
||||||
|
|
||||||
if (character.IsMoving)
|
|
||||||
{
|
|
||||||
character.TransitionToState(character.WalkingState);
|
|
||||||
}
|
|
||||||
else if (!character.IsMoving)
|
|
||||||
{
|
|
||||||
character.TransitionToState(character.IdleState);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ExitState(Crew character)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,39 +0,0 @@
|
|||||||
using BlueWater.Interfaces;
|
|
||||||
|
|
||||||
namespace BlueWater.Npcs.Crews
|
|
||||||
{
|
|
||||||
public class ServingIdleState : IState<Crew>
|
|
||||||
{
|
|
||||||
public void EnterState(Crew character)
|
|
||||||
{
|
|
||||||
character.SpineController.PlayAnimation(CrewSpineAnimation.ServingIdle, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdateState(Crew character)
|
|
||||||
{
|
|
||||||
if (character.IsMoving)
|
|
||||||
{
|
|
||||||
if (character.IsServing)
|
|
||||||
{
|
|
||||||
character.TransitionToState(character.WalkingState);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
character.TransitionToState(character.ServingState);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (!character.IsMoving)
|
|
||||||
{
|
|
||||||
if (!character.IsServing)
|
|
||||||
{
|
|
||||||
character.TransitionToState(character.IdleState);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ExitState(Crew character)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: afd7c038ff62b644f98d20d220bb13a8
|
|
@ -1,39 +0,0 @@
|
|||||||
using BlueWater.Interfaces;
|
|
||||||
|
|
||||||
namespace BlueWater.Npcs.Crews
|
|
||||||
{
|
|
||||||
public class ServingState : IState<Crew>
|
|
||||||
{
|
|
||||||
public void EnterState(Crew character)
|
|
||||||
{
|
|
||||||
character.SpineController.PlayAnimation(CrewSpineAnimation.Serving, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdateState(Crew character)
|
|
||||||
{
|
|
||||||
if (character.IsMoving)
|
|
||||||
{
|
|
||||||
if (!character.IsServing)
|
|
||||||
{
|
|
||||||
character.TransitionToState(character.WalkingState);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (!character.IsMoving)
|
|
||||||
{
|
|
||||||
if (character.IsServing)
|
|
||||||
{
|
|
||||||
character.TransitionToState(character.ServingIdleState);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
character.TransitionToState(character.IdleState);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ExitState(Crew character)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,41 +0,0 @@
|
|||||||
using BlueWater.Interfaces;
|
|
||||||
|
|
||||||
namespace BlueWater.Npcs.Crews
|
|
||||||
{
|
|
||||||
public class WalkingState : IState<Crew>
|
|
||||||
{
|
|
||||||
public void EnterState(Crew character)
|
|
||||||
{
|
|
||||||
character.SpineController.PlayAnimation(CrewSpineAnimation.Walk, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdateState(Crew character)
|
|
||||||
{
|
|
||||||
if (!character.IsMoving)
|
|
||||||
{
|
|
||||||
character.TransitionToState(character.IdleState);
|
|
||||||
}
|
|
||||||
else if (character.IsCleaningFloor)
|
|
||||||
{
|
|
||||||
character.TransitionToState(character.CleaningFloorState);
|
|
||||||
}
|
|
||||||
else if (character.IsCleaningTable)
|
|
||||||
{
|
|
||||||
character.TransitionToState(character.CleaningTableState);
|
|
||||||
}
|
|
||||||
else if (character.IsServing)
|
|
||||||
{
|
|
||||||
character.TransitionToState(character.ServingState);
|
|
||||||
}
|
|
||||||
else if (character.IsMakingCocktail)
|
|
||||||
{
|
|
||||||
character.TransitionToState(character.MakingCocktailState);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ExitState(Crew character)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -4,6 +4,7 @@ using BlueWater.Enemies;
|
|||||||
using BlueWater.Interfaces;
|
using BlueWater.Interfaces;
|
||||||
using BlueWater.Items;
|
using BlueWater.Items;
|
||||||
using BlueWater.Npcs.Crews;
|
using BlueWater.Npcs.Crews;
|
||||||
|
using BlueWater.Npcs.Crews.Server;
|
||||||
using BlueWater.Players;
|
using BlueWater.Players;
|
||||||
using BlueWater.Tycoons;
|
using BlueWater.Tycoons;
|
||||||
using BlueWater.Uis;
|
using BlueWater.Uis;
|
||||||
@ -144,12 +145,12 @@ namespace BlueWater.Npcs.Customers
|
|||||||
private bool _isQuitting;
|
private bool _isQuitting;
|
||||||
|
|
||||||
// State
|
// State
|
||||||
public IState<Customer> CurrentState { get; private set; }
|
public StateMachineController<Customer> StateMachineController { get; private set; }
|
||||||
public IState<Customer> IdleState { get; private set; }
|
public IStateMachine<Customer> IdleState { get; private set; }
|
||||||
public IState<Customer> WalkingState { get; private set; }
|
public IStateMachine<Customer> WalkingState { get; private set; }
|
||||||
public IState<Customer> HappyState { get; private set; }
|
public IStateMachine<Customer> HappyState { get; private set; }
|
||||||
public IState<Customer> UpsetState { get; private set; }
|
public IStateMachine<Customer> UpsetState { get; private set; }
|
||||||
public IState<Customer> VomitState { get; private set; }
|
public IStateMachine<Customer> VomitState { get; private set; }
|
||||||
|
|
||||||
public event Action OnInteractionCompleted;
|
public event Action OnInteractionCompleted;
|
||||||
|
|
||||||
@ -171,7 +172,7 @@ namespace BlueWater.Npcs.Customers
|
|||||||
|
|
||||||
private void Update()
|
private void Update()
|
||||||
{
|
{
|
||||||
CurrentState.UpdateState(this);
|
StateMachineController.UpdateState(this);
|
||||||
HandleMovement();
|
HandleMovement();
|
||||||
FlipVisualLook();
|
FlipVisualLook();
|
||||||
}
|
}
|
||||||
@ -213,14 +214,13 @@ namespace BlueWater.Npcs.Customers
|
|||||||
CurrentLevelData = levelData;
|
CurrentLevelData = levelData;
|
||||||
_spawnTransform = spawnTransform;
|
_spawnTransform = spawnTransform;
|
||||||
|
|
||||||
IdleState = new IdleState();
|
IdleState = new IdleStateMachine();
|
||||||
WalkingState = new WalkingState();
|
WalkingState = new WalkingStateMachine();
|
||||||
HappyState = new HappyState();
|
HappyState = new HappyStateMachine();
|
||||||
UpsetState = new UpsetState();
|
UpsetState = new UpsetStateMachine();
|
||||||
VomitState = new VomitState();
|
VomitState = new VomitStateMachine();
|
||||||
|
|
||||||
CurrentState = IdleState;
|
StateMachineController = new StateMachineController<Customer>(this, IdleState);
|
||||||
CurrentState.EnterState(this);
|
|
||||||
|
|
||||||
BehaviorTree.EnableBehavior();
|
BehaviorTree.EnableBehavior();
|
||||||
}
|
}
|
||||||
@ -273,10 +273,9 @@ namespace BlueWater.Npcs.Customers
|
|||||||
|
|
||||||
public void ServedItem(CocktailData cocktailData)
|
public void ServedItem(CocktailData cocktailData)
|
||||||
{
|
{
|
||||||
OrderedCocktailData = cocktailData;
|
CurrentTableSeat.SetFood();
|
||||||
CurrentTableSeat.SetFood(OrderedCocktailData.Sprite);
|
|
||||||
BalloonUi.ReceiveItem(cocktailData);
|
BalloonUi.ReceiveItem(cocktailData);
|
||||||
TransitionToState(IsOrderedSucceed ? HappyState : UpsetState);
|
StateMachineController.TransitionToState(IsOrderedSucceed ? HappyState : UpsetState, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Interaction()
|
public void Interaction()
|
||||||
@ -368,13 +367,6 @@ namespace BlueWater.Npcs.Customers
|
|||||||
_customerInteractionType = CustomerInteractionType.None;
|
_customerInteractionType = CustomerInteractionType.None;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void TransitionToState(IState<Customer> newState)
|
|
||||||
{
|
|
||||||
CurrentState.ExitState(this);
|
|
||||||
CurrentState = newState;
|
|
||||||
CurrentState.EnterState(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Bark(string conversation, BarkOrder barkOrder = BarkOrder.Random)
|
public void Bark(string conversation, BarkOrder barkOrder = BarkOrder.Random)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(conversation)) return;
|
if (string.IsNullOrEmpty(conversation)) return;
|
||||||
@ -420,7 +412,7 @@ namespace BlueWater.Npcs.Customers
|
|||||||
public void Vomit()
|
public void Vomit()
|
||||||
{
|
{
|
||||||
AIMovement.StopMove();
|
AIMovement.StopMove();
|
||||||
TransitionToState(VomitState);
|
StateMachineController.TransitionToState(VomitState, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InstanceVomit()
|
public void InstanceVomit()
|
||||||
@ -428,7 +420,7 @@ namespace BlueWater.Npcs.Customers
|
|||||||
var spawnPosition = transform.position + new Vector3(0f, 0f, 0.1f);
|
var spawnPosition = transform.position + new Vector3(0f, 0f, 0.1f);
|
||||||
Instantiate(_vomiting, spawnPosition, _vomiting.transform.rotation);
|
Instantiate(_vomiting, spawnPosition, _vomiting.transform.rotation);
|
||||||
IsVomited = true;
|
IsVomited = true;
|
||||||
TransitionToState(IdleState);
|
StateMachineController.TransitionToState(IdleState, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CheckOut()
|
public void CheckOut()
|
||||||
@ -460,7 +452,7 @@ namespace BlueWater.Npcs.Customers
|
|||||||
CurrentTableSeat = null;
|
CurrentTableSeat = null;
|
||||||
}
|
}
|
||||||
AIMovement.Move(_spawnTransform.position);
|
AIMovement.Move(_spawnTransform.position);
|
||||||
TransitionToState(WalkingState);
|
StateMachineController.TransitionToState(WalkingState, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -2,7 +2,7 @@ using BlueWater.Interfaces;
|
|||||||
|
|
||||||
namespace BlueWater.Npcs.Customers
|
namespace BlueWater.Npcs.Customers
|
||||||
{
|
{
|
||||||
public class HappyState : IState<Customer>
|
public class HappyStateMachine : IStateMachine<Customer>
|
||||||
{
|
{
|
||||||
public void EnterState(Customer character)
|
public void EnterState(Customer character)
|
||||||
{
|
{
|
||||||
@ -13,7 +13,7 @@ namespace BlueWater.Npcs.Customers
|
|||||||
{
|
{
|
||||||
if (character.IsMoving)
|
if (character.IsMoving)
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.WalkingState);
|
character.StateMachineController.TransitionToState(character.WalkingState, character);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ using BlueWater.Interfaces;
|
|||||||
|
|
||||||
namespace BlueWater.Npcs.Customers
|
namespace BlueWater.Npcs.Customers
|
||||||
{
|
{
|
||||||
public class IdleState : IState<Customer>
|
public class IdleStateMachine : IStateMachine<Customer>
|
||||||
{
|
{
|
||||||
public void EnterState(Customer character)
|
public void EnterState(Customer character)
|
||||||
{
|
{
|
||||||
@ -25,7 +25,7 @@ namespace BlueWater.Npcs.Customers
|
|||||||
{
|
{
|
||||||
if (character.IsMoving)
|
if (character.IsMoving)
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.WalkingState);
|
character.StateMachineController.TransitionToState(character.WalkingState, character);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ using BlueWater.Interfaces;
|
|||||||
|
|
||||||
namespace BlueWater.Npcs.Customers
|
namespace BlueWater.Npcs.Customers
|
||||||
{
|
{
|
||||||
public class UpsetState : IState<Customer>
|
public class UpsetStateMachine : IStateMachine<Customer>
|
||||||
{
|
{
|
||||||
public void EnterState(Customer character)
|
public void EnterState(Customer character)
|
||||||
{
|
{
|
||||||
@ -13,7 +13,7 @@ namespace BlueWater.Npcs.Customers
|
|||||||
{
|
{
|
||||||
if (character.IsMoving)
|
if (character.IsMoving)
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.WalkingState);
|
character.StateMachineController.TransitionToState(character.WalkingState, character);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ using BlueWater.Interfaces;
|
|||||||
|
|
||||||
namespace BlueWater.Npcs.Customers
|
namespace BlueWater.Npcs.Customers
|
||||||
{
|
{
|
||||||
public class VomitState : IState<Customer>
|
public class VomitStateMachine : IStateMachine<Customer>
|
||||||
{
|
{
|
||||||
private bool _isVomiting;
|
private bool _isVomiting;
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ using BlueWater.Interfaces;
|
|||||||
|
|
||||||
namespace BlueWater.Npcs.Customers
|
namespace BlueWater.Npcs.Customers
|
||||||
{
|
{
|
||||||
public class WalkingState : IState<Customer>
|
public class WalkingStateMachine : IStateMachine<Customer>
|
||||||
{
|
{
|
||||||
public void EnterState(Customer character)
|
public void EnterState(Customer character)
|
||||||
{
|
{
|
||||||
@ -25,7 +25,7 @@ namespace BlueWater.Npcs.Customers
|
|||||||
{
|
{
|
||||||
if (!character.IsMoving)
|
if (!character.IsMoving)
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.IdleState);
|
character.StateMachineController.TransitionToState(character.IdleState, character);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ using BlueWater.Interfaces;
|
|||||||
|
|
||||||
namespace BlueWater.Players.Tycoons
|
namespace BlueWater.Players.Tycoons
|
||||||
{
|
{
|
||||||
public class CleaningFloorState : IState<TycoonPlayer>
|
public class CleaningFloorStateMachine : IStateMachine<TycoonPlayer>
|
||||||
{
|
{
|
||||||
public void EnterState(TycoonPlayer character)
|
public void EnterState(TycoonPlayer character)
|
||||||
{
|
{
|
||||||
@ -16,14 +16,14 @@ namespace BlueWater.Players.Tycoons
|
|||||||
if (character.TycoonMovement.IsMoving)
|
if (character.TycoonMovement.IsMoving)
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail()
|
character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail()
|
||||||
? character.ServingState
|
? character.ServingStateMachine
|
||||||
: character.WalkingState);
|
: character.WalkingStateMachine);
|
||||||
}
|
}
|
||||||
else if (!character.TycoonMovement.IsMoving)
|
else if (!character.TycoonMovement.IsMoving)
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail()
|
character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail()
|
||||||
? character.ServingIdleState
|
? character.ServingIdleStateMachine
|
||||||
: character.IdleState);
|
: character.IdleStateMachine);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ using BlueWater.Interfaces;
|
|||||||
|
|
||||||
namespace BlueWater.Players.Tycoons
|
namespace BlueWater.Players.Tycoons
|
||||||
{
|
{
|
||||||
public class CleaningTableState : IState<TycoonPlayer>
|
public class CleaningTableStateMachine : IStateMachine<TycoonPlayer>
|
||||||
{
|
{
|
||||||
public void EnterState(TycoonPlayer character)
|
public void EnterState(TycoonPlayer character)
|
||||||
{
|
{
|
||||||
@ -16,14 +16,14 @@ namespace BlueWater.Players.Tycoons
|
|||||||
if (character.TycoonMovement.IsMoving)
|
if (character.TycoonMovement.IsMoving)
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail()
|
character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail()
|
||||||
? character.ServingState
|
? character.ServingStateMachine
|
||||||
: character.WalkingState);
|
: character.WalkingStateMachine);
|
||||||
}
|
}
|
||||||
else if (!character.TycoonMovement.IsMoving)
|
else if (!character.TycoonMovement.IsMoving)
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail()
|
character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail()
|
||||||
? character.ServingIdleState
|
? character.ServingIdleStateMachine
|
||||||
: character.IdleState);
|
: character.IdleStateMachine);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ using BlueWater.Interfaces;
|
|||||||
|
|
||||||
namespace BlueWater.Players.Tycoons
|
namespace BlueWater.Players.Tycoons
|
||||||
{
|
{
|
||||||
public class IdleState : IState<TycoonPlayer>
|
public class IdleStateMachine : IStateMachine<TycoonPlayer>
|
||||||
{
|
{
|
||||||
public void EnterState(TycoonPlayer character)
|
public void EnterState(TycoonPlayer character)
|
||||||
{
|
{
|
||||||
@ -14,26 +14,26 @@ namespace BlueWater.Players.Tycoons
|
|||||||
if (character.TycoonMovement.IsMoving)
|
if (character.TycoonMovement.IsMoving)
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail()
|
character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail()
|
||||||
? character.ServingState
|
? character.ServingStateMachine
|
||||||
: character.WalkingState);
|
: character.WalkingStateMachine);
|
||||||
}
|
}
|
||||||
else if (character.IsMakingCocktail)
|
else if (character.IsMakingCocktail)
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.MakingCocktailState);
|
character.TransitionToState(character.MakingCocktailStateMachine);
|
||||||
}
|
}
|
||||||
else if (character.IsCleaningFloor)
|
else if (character.IsCleaningFloor)
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.CleaningFloorState);
|
character.TransitionToState(character.CleaningFloorStateMachine);
|
||||||
}
|
}
|
||||||
else if (character.IsCleaningTable)
|
else if (character.IsCleaningTable)
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.CleaningTableState);
|
character.TransitionToState(character.CleaningTableStateMachine);
|
||||||
}
|
}
|
||||||
else if (!character.TycoonMovement.IsMoving)
|
else if (!character.TycoonMovement.IsMoving)
|
||||||
{
|
{
|
||||||
if (character.TycoonPickupHandler.IsPickedUpCocktail())
|
if (character.TycoonPickupHandler.IsPickedUpCocktail())
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.ServingIdleState);
|
character.TransitionToState(character.ServingIdleStateMachine);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ using BlueWater.Interfaces;
|
|||||||
|
|
||||||
namespace BlueWater.Players.Tycoons
|
namespace BlueWater.Players.Tycoons
|
||||||
{
|
{
|
||||||
public class MakingCocktailState : IState<TycoonPlayer>
|
public class MakingCocktailStateMachine : IStateMachine<TycoonPlayer>
|
||||||
{
|
{
|
||||||
public void EnterState(TycoonPlayer character)
|
public void EnterState(TycoonPlayer character)
|
||||||
{
|
{
|
||||||
@ -16,14 +16,14 @@ namespace BlueWater.Players.Tycoons
|
|||||||
if (character.TycoonMovement.IsMoving)
|
if (character.TycoonMovement.IsMoving)
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail()
|
character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail()
|
||||||
? character.ServingState
|
? character.ServingStateMachine
|
||||||
: character.WalkingState);
|
: character.WalkingStateMachine);
|
||||||
}
|
}
|
||||||
else if (!character.TycoonMovement.IsMoving)
|
else if (!character.TycoonMovement.IsMoving)
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail()
|
character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail()
|
||||||
? character.ServingIdleState
|
? character.ServingIdleStateMachine
|
||||||
: character.IdleState);
|
: character.IdleStateMachine);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ using BlueWater.Interfaces;
|
|||||||
|
|
||||||
namespace BlueWater.Players.Tycoons
|
namespace BlueWater.Players.Tycoons
|
||||||
{
|
{
|
||||||
public class ServingIdleState : IState<TycoonPlayer>
|
public class ServingIdleStateMachine : IStateMachine<TycoonPlayer>
|
||||||
{
|
{
|
||||||
public void EnterState(TycoonPlayer character)
|
public void EnterState(TycoonPlayer character)
|
||||||
{
|
{
|
||||||
@ -14,26 +14,26 @@ namespace BlueWater.Players.Tycoons
|
|||||||
if (character.TycoonMovement.IsMoving)
|
if (character.TycoonMovement.IsMoving)
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail()
|
character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail()
|
||||||
? character.ServingState
|
? character.ServingStateMachine
|
||||||
: character.WalkingState);
|
: character.WalkingStateMachine);
|
||||||
}
|
}
|
||||||
else if (character.IsMakingCocktail)
|
else if (character.IsMakingCocktail)
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.MakingCocktailState);
|
character.TransitionToState(character.MakingCocktailStateMachine);
|
||||||
}
|
}
|
||||||
else if (character.IsCleaningFloor)
|
else if (character.IsCleaningFloor)
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.CleaningFloorState);
|
character.TransitionToState(character.CleaningFloorStateMachine);
|
||||||
}
|
}
|
||||||
else if (character.IsCleaningTable)
|
else if (character.IsCleaningTable)
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.CleaningTableState);
|
character.TransitionToState(character.CleaningTableStateMachine);
|
||||||
}
|
}
|
||||||
else if (!character.TycoonMovement.IsMoving)
|
else if (!character.TycoonMovement.IsMoving)
|
||||||
{
|
{
|
||||||
if (!character.TycoonPickupHandler.IsPickedUpCocktail())
|
if (!character.TycoonPickupHandler.IsPickedUpCocktail())
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.IdleState);
|
character.TransitionToState(character.IdleStateMachine);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ using BlueWater.Interfaces;
|
|||||||
|
|
||||||
namespace BlueWater.Players.Tycoons
|
namespace BlueWater.Players.Tycoons
|
||||||
{
|
{
|
||||||
public class ServingState : IState<TycoonPlayer>
|
public class ServingStateMachine : IStateMachine<TycoonPlayer>
|
||||||
{
|
{
|
||||||
public void EnterState(TycoonPlayer character)
|
public void EnterState(TycoonPlayer character)
|
||||||
{
|
{
|
||||||
@ -15,26 +15,26 @@ namespace BlueWater.Players.Tycoons
|
|||||||
{
|
{
|
||||||
if (!character.TycoonPickupHandler.IsPickedUpCocktail())
|
if (!character.TycoonPickupHandler.IsPickedUpCocktail())
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.WalkingState);
|
character.TransitionToState(character.WalkingStateMachine);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (character.IsMakingCocktail)
|
else if (character.IsMakingCocktail)
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.MakingCocktailState);
|
character.TransitionToState(character.MakingCocktailStateMachine);
|
||||||
}
|
}
|
||||||
else if (character.IsCleaningFloor)
|
else if (character.IsCleaningFloor)
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.CleaningFloorState);
|
character.TransitionToState(character.CleaningFloorStateMachine);
|
||||||
}
|
}
|
||||||
else if (character.IsCleaningTable)
|
else if (character.IsCleaningTable)
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.CleaningTableState);
|
character.TransitionToState(character.CleaningTableStateMachine);
|
||||||
}
|
}
|
||||||
else if (!character.TycoonMovement.IsMoving)
|
else if (!character.TycoonMovement.IsMoving)
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail()
|
character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail()
|
||||||
? character.ServingIdleState
|
? character.ServingIdleStateMachine
|
||||||
: character.IdleState);
|
: character.IdleStateMachine);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ using BlueWater.Interfaces;
|
|||||||
|
|
||||||
namespace BlueWater.Players.Tycoons
|
namespace BlueWater.Players.Tycoons
|
||||||
{
|
{
|
||||||
public class WalkingState : IState<TycoonPlayer>
|
public class WalkingStateMachine : IStateMachine<TycoonPlayer>
|
||||||
{
|
{
|
||||||
public void EnterState(TycoonPlayer character)
|
public void EnterState(TycoonPlayer character)
|
||||||
{
|
{
|
||||||
@ -15,26 +15,26 @@ namespace BlueWater.Players.Tycoons
|
|||||||
{
|
{
|
||||||
if (character.TycoonPickupHandler.IsPickedUpCocktail())
|
if (character.TycoonPickupHandler.IsPickedUpCocktail())
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.ServingState);
|
character.TransitionToState(character.ServingStateMachine);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (character.IsMakingCocktail)
|
else if (character.IsMakingCocktail)
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.MakingCocktailState);
|
character.TransitionToState(character.MakingCocktailStateMachine);
|
||||||
}
|
}
|
||||||
else if (character.IsCleaningFloor)
|
else if (character.IsCleaningFloor)
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.CleaningFloorState);
|
character.TransitionToState(character.CleaningFloorStateMachine);
|
||||||
}
|
}
|
||||||
else if (character.IsCleaningTable)
|
else if (character.IsCleaningTable)
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.CleaningTableState);
|
character.TransitionToState(character.CleaningTableStateMachine);
|
||||||
}
|
}
|
||||||
else if (!character.TycoonMovement.IsMoving)
|
else if (!character.TycoonMovement.IsMoving)
|
||||||
{
|
{
|
||||||
character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail()
|
character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail()
|
||||||
? character.ServingIdleState
|
? character.ServingIdleStateMachine
|
||||||
: character.IdleState);
|
: character.IdleStateMachine);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -106,7 +106,9 @@ namespace BlueWater.Players.Tycoons
|
|||||||
{
|
{
|
||||||
if (context.performed)
|
if (context.performed)
|
||||||
{
|
{
|
||||||
DataManager.Instance.TestData();
|
EventManager.InvokeCreateServerCrew();
|
||||||
|
EventManager.InvokeCreateCleanerCrew();
|
||||||
|
EventManager.InvokeCreateBartenderCrew();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -63,14 +63,14 @@ namespace BlueWater.Players.Tycoons
|
|||||||
public bool IsMakingCocktail { get; set; }
|
public bool IsMakingCocktail { get; set; }
|
||||||
|
|
||||||
// State
|
// State
|
||||||
public IState<TycoonPlayer> CurrentState { get; private set; }
|
public IStateMachine<TycoonPlayer> CurrentStateMachine { get; private set; }
|
||||||
public IState<TycoonPlayer> IdleState { get; private set; }
|
public IStateMachine<TycoonPlayer> IdleStateMachine { get; private set; }
|
||||||
public IState<TycoonPlayer> WalkingState { get; private set; }
|
public IStateMachine<TycoonPlayer> WalkingStateMachine { get; private set; }
|
||||||
public IState<TycoonPlayer> ServingIdleState { get; private set; }
|
public IStateMachine<TycoonPlayer> ServingIdleStateMachine { get; private set; }
|
||||||
public IState<TycoonPlayer> ServingState { get; private set; }
|
public IStateMachine<TycoonPlayer> ServingStateMachine { get; private set; }
|
||||||
public IState<TycoonPlayer> CleaningFloorState { get; private set; }
|
public IStateMachine<TycoonPlayer> CleaningFloorStateMachine { get; private set; }
|
||||||
public IState<TycoonPlayer> CleaningTableState { get; private set; }
|
public IStateMachine<TycoonPlayer> CleaningTableStateMachine { get; private set; }
|
||||||
public IState<TycoonPlayer> MakingCocktailState { get; private set; }
|
public IStateMachine<TycoonPlayer> MakingCocktailStateMachine { get; private set; }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@ -98,21 +98,21 @@ namespace BlueWater.Players.Tycoons
|
|||||||
EventManager.OnCocktailDiscarded += balloonUi.DiscardItem;
|
EventManager.OnCocktailDiscarded += balloonUi.DiscardItem;
|
||||||
EventManager.OnCocktailServedToCustomer += balloonUi.GiveItem;
|
EventManager.OnCocktailServedToCustomer += balloonUi.GiveItem;
|
||||||
|
|
||||||
IdleState = new IdleState();
|
IdleStateMachine = new IdleStateMachine();
|
||||||
WalkingState = new WalkingState();
|
WalkingStateMachine = new WalkingStateMachine();
|
||||||
ServingIdleState = new ServingIdleState();
|
ServingIdleStateMachine = new ServingIdleStateMachine();
|
||||||
ServingState = new ServingState();
|
ServingStateMachine = new ServingStateMachine();
|
||||||
CleaningFloorState = new CleaningFloorState();
|
CleaningFloorStateMachine = new CleaningFloorStateMachine();
|
||||||
CleaningTableState = new CleaningTableState();
|
CleaningTableStateMachine = new CleaningTableStateMachine();
|
||||||
MakingCocktailState = new MakingCocktailState();
|
MakingCocktailStateMachine = new MakingCocktailStateMachine();
|
||||||
|
|
||||||
CurrentState = IdleState;
|
CurrentStateMachine = IdleStateMachine;
|
||||||
CurrentState.EnterState(this);
|
CurrentStateMachine.EnterState(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Update()
|
private void Update()
|
||||||
{
|
{
|
||||||
CurrentState.UpdateState(this);
|
CurrentStateMachine.UpdateState(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnDestroy()
|
private void OnDestroy()
|
||||||
@ -163,11 +163,11 @@ namespace BlueWater.Players.Tycoons
|
|||||||
// VisualFeedbackManager.Instance.SetBaseTimeScale(0f);
|
// VisualFeedbackManager.Instance.SetBaseTimeScale(0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void TransitionToState(IState<TycoonPlayer> newState)
|
public void TransitionToState(IStateMachine<TycoonPlayer> newStateMachine)
|
||||||
{
|
{
|
||||||
CurrentState.ExitState(this);
|
CurrentStateMachine.ExitState(this);
|
||||||
CurrentState = newState;
|
CurrentStateMachine = newStateMachine;
|
||||||
CurrentState.EnterState(this);
|
CurrentStateMachine.EnterState(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -28,10 +28,5 @@ namespace BlueWater
|
|||||||
[field: Title("타이쿤 데이터")]
|
[field: Title("타이쿤 데이터")]
|
||||||
[field: SerializeField]
|
[field: SerializeField]
|
||||||
public TycoonData TycoonData { get; private set; }
|
public TycoonData TycoonData { get; private set; }
|
||||||
|
|
||||||
public void TestData()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,6 +1,8 @@
|
|||||||
using System;
|
using System;
|
||||||
using BlueWater.Items;
|
using BlueWater.Items;
|
||||||
using BlueWater.Npcs.Crews;
|
using BlueWater.Npcs.Crews.Bartender;
|
||||||
|
using BlueWater.Npcs.Crews.Cleaner;
|
||||||
|
using BlueWater.Npcs.Crews.Server;
|
||||||
using BlueWater.Npcs.Customers;
|
using BlueWater.Npcs.Customers;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace BlueWater.Interfaces
|
namespace BlueWater.Interfaces
|
||||||
{
|
{
|
||||||
public interface IState<T> where T : MonoBehaviour
|
public interface IStateMachine<T> where T : MonoBehaviour
|
||||||
{
|
{
|
||||||
void EnterState(T character);
|
void EnterState(T character);
|
||||||
void UpdateState(T character);
|
void UpdateState(T character);
|
@ -23,72 +23,50 @@ 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 IngredientAmount1 { get; set; }
|
public int IngredientRatio1 { 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 IngredientAmount2 { get; set; }
|
public int IngredientRatio2 { 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 IngredientAmount3 { get; set; }
|
public int IngredientRatio3 { 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 IngredientAmount4 { get; set; }
|
public int IngredientRatio4 { 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 IngredientAmount5 { get; set; }
|
public int IngredientRatio5 { get; set; }
|
||||||
|
|
||||||
[BoxGroup("직접 추가하는 영역")]
|
[BoxGroup("직접 추가하는 영역")]
|
||||||
[field: SerializeField, BoxGroup("직접 추가하는 영역")]
|
[field: SerializeField, BoxGroup("직접 추가하는 영역")]
|
||||||
public Sprite Sprite { get; set; }
|
public Sprite Sprite { get; set; }
|
||||||
|
|
||||||
public List<CocktailIngredient> GetValidIngredients()
|
[field: SerializeField]
|
||||||
|
public List<CocktailIngredient> ValidIngredients { get; set; } = new(5);
|
||||||
|
|
||||||
|
public List<CocktailIngredient> GetValidIngredients(int liquidMaxAmount)
|
||||||
{
|
{
|
||||||
var ingredients = new List<CocktailIngredient>(5);
|
var ingredients = new List<CocktailIngredient>(5);
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(IngredientIdx1)) ingredients.Add(new CocktailIngredient(IngredientIdx1, IngredientAmount1));
|
if (!string.IsNullOrEmpty(IngredientIdx1)) ingredients.Add(new CocktailIngredient(IngredientIdx1, IngredientRatio1, (int)(liquidMaxAmount * (IngredientRatio1 / 100f))));
|
||||||
if (!string.IsNullOrEmpty(IngredientIdx2)) ingredients.Add(new CocktailIngredient(IngredientIdx2, IngredientAmount2));
|
if (!string.IsNullOrEmpty(IngredientIdx2)) ingredients.Add(new CocktailIngredient(IngredientIdx2, IngredientRatio2, (int)(liquidMaxAmount * (IngredientRatio2 / 100f))));
|
||||||
if (!string.IsNullOrEmpty(IngredientIdx3)) ingredients.Add(new CocktailIngredient(IngredientIdx3, IngredientAmount3));
|
if (!string.IsNullOrEmpty(IngredientIdx3)) ingredients.Add(new CocktailIngredient(IngredientIdx3, IngredientRatio3, (int)(liquidMaxAmount * (IngredientRatio3 / 100f))));
|
||||||
if (!string.IsNullOrEmpty(IngredientIdx4)) ingredients.Add(new CocktailIngredient(IngredientIdx4, IngredientAmount4));
|
if (!string.IsNullOrEmpty(IngredientIdx4)) ingredients.Add(new CocktailIngredient(IngredientIdx4, IngredientRatio4, (int)(liquidMaxAmount * (IngredientRatio4 / 100f))));
|
||||||
if (!string.IsNullOrEmpty(IngredientIdx5)) ingredients.Add(new CocktailIngredient(IngredientIdx5, IngredientAmount5));
|
if (!string.IsNullOrEmpty(IngredientIdx5)) ingredients.Add(new CocktailIngredient(IngredientIdx5, IngredientRatio5, (int)(liquidMaxAmount * (IngredientRatio5 / 100f))));
|
||||||
|
|
||||||
return ingredients;
|
return ingredients;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public List<CocktailIngredient> GetValidIngredientsToImage()
|
|
||||||
{
|
|
||||||
var ingredients = new List<CocktailIngredient>(5);
|
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(IngredientIdx1)) ingredients.Add(new CocktailIngredient(IngredientIdx1, IngredientAmount1));
|
|
||||||
if (!string.IsNullOrEmpty(IngredientIdx2)) ingredients.Add(new CocktailIngredient(IngredientIdx2, IngredientAmount2));
|
|
||||||
if (!string.IsNullOrEmpty(IngredientIdx3)) ingredients.Add(new CocktailIngredient(IngredientIdx3, IngredientAmount3));
|
|
||||||
if (!string.IsNullOrEmpty(IngredientIdx4)) ingredients.Add(new CocktailIngredient(IngredientIdx4, IngredientAmount4));
|
|
||||||
if (!string.IsNullOrEmpty(IngredientIdx5)) ingredients.Add(new CocktailIngredient(IngredientIdx5, IngredientAmount5));
|
|
||||||
|
|
||||||
return ingredients;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int GetCocktailAmount(List<CocktailIngredient> cocktailIngredients)
|
|
||||||
{
|
|
||||||
var amount = 0;
|
|
||||||
foreach (var element in cocktailIngredients)
|
|
||||||
{
|
|
||||||
amount += element.Amount;
|
|
||||||
}
|
|
||||||
|
|
||||||
return amount;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,3 +1,6 @@
|
|||||||
|
#if UNITY_EDITOR
|
||||||
|
using UnityEditor;
|
||||||
|
#endif
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
namespace BlueWater.Items
|
namespace BlueWater.Items
|
||||||
@ -5,6 +8,24 @@ namespace BlueWater.Items
|
|||||||
[CreateAssetMenu(fileName = "CocktailDataTable", menuName = "ScriptableObjects/CocktailDataTable")]
|
[CreateAssetMenu(fileName = "CocktailDataTable", menuName = "ScriptableObjects/CocktailDataTable")]
|
||||||
public class CocktailDataSo : DataSo<CocktailData>
|
public class CocktailDataSo : DataSo<CocktailData>
|
||||||
{
|
{
|
||||||
|
protected override void OnEnable()
|
||||||
|
{
|
||||||
|
base.OnEnable();
|
||||||
|
|
||||||
|
#if UNITY_EDITOR
|
||||||
|
if (!EditorApplication.isPlayingOrWillChangePlaymode)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
var maxLiquidAmount = FindAnyObjectByType<LiquidController>().GetMaxLiquidCount();
|
||||||
|
foreach (var element in _datas.Values)
|
||||||
|
{
|
||||||
|
element.ValidIngredients = element.GetValidIngredients(maxLiquidAmount);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,7 +6,13 @@ namespace BlueWater.Items
|
|||||||
[Serializable]
|
[Serializable]
|
||||||
public class CocktailIngredient
|
public class CocktailIngredient
|
||||||
{
|
{
|
||||||
|
[field: SerializeField]
|
||||||
public string Idx { get; set; }
|
public string Idx { get; set; }
|
||||||
|
|
||||||
|
[field: SerializeField]
|
||||||
|
public int Ratio { get; set; }
|
||||||
|
|
||||||
|
[field: SerializeField]
|
||||||
public int Amount { get; set; }
|
public int Amount { get; set; }
|
||||||
|
|
||||||
public CocktailIngredient(string idx, int amount)
|
public CocktailIngredient(string idx, int amount)
|
||||||
@ -14,5 +20,12 @@ namespace BlueWater.Items
|
|||||||
Idx = idx;
|
Idx = idx;
|
||||||
Amount = amount;
|
Amount = amount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public CocktailIngredient(string idx, int ratio, int amount)
|
||||||
|
{
|
||||||
|
Idx = idx;
|
||||||
|
Ratio = ratio;
|
||||||
|
Amount = amount;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -12,7 +12,7 @@ namespace BlueWater.Items
|
|||||||
|
|
||||||
protected Dictionary<string, T> _datas;
|
protected Dictionary<string, T> _datas;
|
||||||
|
|
||||||
private void OnEnable()
|
protected virtual void OnEnable()
|
||||||
{
|
{
|
||||||
InitializeDictionary();
|
InitializeDictionary();
|
||||||
}
|
}
|
||||||
|
@ -4,9 +4,28 @@ namespace BlueWater.Tycoons
|
|||||||
{
|
{
|
||||||
public class BartenderTable : ServingTable
|
public class BartenderTable : ServingTable
|
||||||
{
|
{
|
||||||
|
public override void Interaction()
|
||||||
|
{
|
||||||
|
// 테이블의 칵테일을 가져가는 경우
|
||||||
|
if (CurrentPickupItem != null)
|
||||||
|
{
|
||||||
|
EventManager.InvokeTakeFromServingTable();
|
||||||
|
CurrentTycoonPlayer.TycoonPickupHandler.PickupItem(CurrentPickupItem);
|
||||||
|
CurrentTycoonPlayer.InteractionCanvas.BalloonUi.SetItemImage(CurrentPickupItem);
|
||||||
|
CocktailGlassImage.enabled = false;
|
||||||
|
InteractionCanvas.BalloonUi.DiscardItem();
|
||||||
|
CurrentPickupItem = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public override bool CanInteraction()
|
public override bool CanInteraction()
|
||||||
{
|
{
|
||||||
return false;
|
return CurrentPickupItem != null && !CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpCocktail();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool CanInteractionCrew()
|
||||||
|
{
|
||||||
|
return CurrentPickupItem != null && _orderedCustomer != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CompleteMakingCocktail(IPickup cocktailData)
|
public void CompleteMakingCocktail(IPickup cocktailData)
|
||||||
|
@ -2,6 +2,7 @@ using System;
|
|||||||
using System.Collections;
|
using System.Collections;
|
||||||
using BlueWater.Interfaces;
|
using BlueWater.Interfaces;
|
||||||
using BlueWater.Npcs.Crews;
|
using BlueWater.Npcs.Crews;
|
||||||
|
using BlueWater.Npcs.Crews.Server;
|
||||||
using BlueWater.Npcs.Customers;
|
using BlueWater.Npcs.Customers;
|
||||||
using BlueWater.Utility;
|
using BlueWater.Utility;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
@ -47,7 +48,7 @@ namespace BlueWater.Tycoons
|
|||||||
private Material _originalCocktailGlassMaterial;
|
private Material _originalCocktailGlassMaterial;
|
||||||
private Coroutine _findCustomerMatchingItemInstance;
|
private Coroutine _findCustomerMatchingItemInstance;
|
||||||
private Coroutine _findServerCrewInstance;
|
private Coroutine _findServerCrewInstance;
|
||||||
private Customer _orderedCustomer;
|
protected Customer _orderedCustomer;
|
||||||
|
|
||||||
public event Action OnInteractionCompleted;
|
public event Action OnInteractionCompleted;
|
||||||
|
|
||||||
@ -86,7 +87,7 @@ namespace BlueWater.Tycoons
|
|||||||
{
|
{
|
||||||
// 1. 테이블에 칵테일이 있고, 플레이어가 칵테일을 들고 있지 않은 경우
|
// 1. 테이블에 칵테일이 있고, 플레이어가 칵테일을 들고 있지 않은 경우
|
||||||
// 2. 테이블에 칵테일이 없고, 플레이어가 칵테일을 들고 있는 경우 (정상적인 칵테일만)
|
// 2. 테이블에 칵테일이 없고, 플레이어가 칵테일을 들고 있는 경우 (정상적인 칵테일만)
|
||||||
return (CurrentPickupItem != null && !CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpCocktail())||
|
return (CurrentPickupItem != null && !CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpCocktail()) ||
|
||||||
(CurrentPickupItem == null && CurrentTycoonPlayer.TycoonPickupHandler.IsServablePickupItem());
|
(CurrentPickupItem == null && CurrentTycoonPlayer.TycoonPickupHandler.IsServablePickupItem());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -111,10 +112,7 @@ namespace BlueWater.Tycoons
|
|||||||
if (CurrentPickupItem != null)
|
if (CurrentPickupItem != null)
|
||||||
{
|
{
|
||||||
var serverCrew = (ServerCrew)crew;
|
var serverCrew = (ServerCrew)crew;
|
||||||
serverCrew.CurrentPickupItem = CurrentPickupItem;
|
serverCrew.TakeFromServingTable(CurrentPickupItem, _orderedCustomer);
|
||||||
serverCrew.InteractionCanvas.BalloonUi.SetItemImage(CurrentPickupItem);
|
|
||||||
serverCrew.OrderedCustomer = _orderedCustomer;
|
|
||||||
serverCrew.IsServing = true;
|
|
||||||
CocktailGlassImage.enabled = false;
|
CocktailGlassImage.enabled = false;
|
||||||
InteractionCanvas.BalloonUi.DiscardItem();
|
InteractionCanvas.BalloonUi.DiscardItem();
|
||||||
CurrentPickupItem = null;
|
CurrentPickupItem = null;
|
||||||
@ -123,8 +121,6 @@ namespace BlueWater.Tycoons
|
|||||||
{
|
{
|
||||||
var serverCrew = (ServerCrew)crew;
|
var serverCrew = (ServerCrew)crew;
|
||||||
CurrentPickupItem = serverCrew.CurrentPickupItem;
|
CurrentPickupItem = serverCrew.CurrentPickupItem;
|
||||||
serverCrew.CurrentPickupItem = null;
|
|
||||||
serverCrew.BalloonUi.DiscardItem();
|
|
||||||
CocktailGlassImage.enabled = true;
|
CocktailGlassImage.enabled = true;
|
||||||
InteractionCanvas.BalloonUi.SetItemImage(CurrentPickupItem);
|
InteractionCanvas.BalloonUi.SetItemImage(CurrentPickupItem);
|
||||||
serverCrew.ResetMission();
|
serverCrew.ResetMission();
|
||||||
@ -136,9 +132,10 @@ namespace BlueWater.Tycoons
|
|||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool CanInteractionCrew()
|
public virtual bool CanInteractionCrew()
|
||||||
{
|
{
|
||||||
return CurrentPickupItem != null && _orderedCustomer != null;
|
return (CurrentPickupItem != null && _orderedCustomer != null) ||
|
||||||
|
CurrentPickupItem == null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private IEnumerator FindCustomerMatchingItem()
|
private IEnumerator FindCustomerMatchingItem()
|
||||||
@ -147,13 +144,11 @@ namespace BlueWater.Tycoons
|
|||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
_orderedCustomer = TycoonManager.Instance.CustomerController.FindCustomerMatchingItem(_currentPickupItem);
|
_orderedCustomer = TycoonManager.Instance.CustomerController.FindCustomerMatchingItem(_currentPickupItem);
|
||||||
if (_orderedCustomer != null)
|
if (_orderedCustomer && _orderedCustomer.CanInteractionCrew())
|
||||||
{
|
{
|
||||||
_orderedCustomer.IsMatchedServer = true;
|
|
||||||
var crewController = TycoonManager.Instance.CrewController;
|
var crewController = TycoonManager.Instance.CrewController;
|
||||||
Utils.StartUniqueCoroutine(this, ref _findServerCrewInstance,
|
Utils.StartUniqueCoroutine(this, ref _findServerCrewInstance,
|
||||||
crewController.FindClosestCrewCoroutine(CenterTransform.position, crewController.ServerCrews, crew => crew.OnMission(this)));
|
crewController.FindClosestCrewCoroutine(CenterTransform.position, crewController.ServerCrews, crew => crew.OnMission(this, _orderedCustomer)));
|
||||||
yield break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
yield return waitTime;
|
yield return waitTime;
|
||||||
|
@ -3,6 +3,7 @@ using System.Collections;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using BlueWater.Interfaces;
|
using BlueWater.Interfaces;
|
||||||
using BlueWater.Npcs.Crews;
|
using BlueWater.Npcs.Crews;
|
||||||
|
using BlueWater.Npcs.Crews.Cleaner;
|
||||||
using BlueWater.Utility;
|
using BlueWater.Utility;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
@ -82,6 +83,7 @@ namespace BlueWater.Tycoons
|
|||||||
if (_crewElapsedTime > _interactionHoldingTime)
|
if (_crewElapsedTime > _interactionHoldingTime)
|
||||||
{
|
{
|
||||||
OnInteractionCompleted?.Invoke();
|
OnInteractionCompleted?.Invoke();
|
||||||
|
OnInteractionCompleted = null;
|
||||||
CleanTable();
|
CleanTable();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -100,7 +102,7 @@ namespace BlueWater.Tycoons
|
|||||||
|
|
||||||
public void SetTableNumber(int number) => TableNumber = number;
|
public void SetTableNumber(int number) => TableNumber = number;
|
||||||
|
|
||||||
public void SetFood(Sprite sprite)
|
public void SetFood()
|
||||||
{
|
{
|
||||||
Food.sprite = _foodImage;
|
Food.sprite = _foodImage;
|
||||||
Food.enabled = true;
|
Food.enabled = true;
|
||||||
@ -138,6 +140,7 @@ namespace BlueWater.Tycoons
|
|||||||
Food.enabled = false;
|
Food.enabled = false;
|
||||||
IsCleaned = true;
|
IsCleaned = true;
|
||||||
_isPlayerInteracting = false;
|
_isPlayerInteracting = false;
|
||||||
|
_isCrewInteracting = false;
|
||||||
InteractionCanvas.BalloonUi.HideUi();
|
InteractionCanvas.BalloonUi.HideUi();
|
||||||
InteractionCanvas.BalloonUi.ResetUi();
|
InteractionCanvas.BalloonUi.ResetUi();
|
||||||
}
|
}
|
||||||
@ -158,7 +161,7 @@ namespace BlueWater.Tycoons
|
|||||||
{
|
{
|
||||||
_crewElapsedTime = 0f;
|
_crewElapsedTime = 0f;
|
||||||
_isCrewInteracting = true;
|
_isCrewInteracting = true;
|
||||||
crew.IsCleaningTable = true;
|
((CleanerCrew)crew).SetIsCleaningTable(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CancelInteractionCrew()
|
public void CancelInteractionCrew()
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections;
|
|
||||||
using System.Linq;
|
|
||||||
using BlueWater.Interfaces;
|
using BlueWater.Interfaces;
|
||||||
using BlueWater.Npcs.Crews;
|
using BlueWater.Npcs.Crews;
|
||||||
|
using BlueWater.Npcs.Crews.Cleaner;
|
||||||
using BlueWater.Utility;
|
using BlueWater.Utility;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
@ -56,6 +55,7 @@ namespace BlueWater.Tycoons
|
|||||||
if (_crewElapsedTime > _interactionHoldingTime)
|
if (_crewElapsedTime > _interactionHoldingTime)
|
||||||
{
|
{
|
||||||
OnInteractionCompleted?.Invoke();
|
OnInteractionCompleted?.Invoke();
|
||||||
|
OnInteractionCompleted = null;
|
||||||
Destroy();
|
Destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -104,7 +104,7 @@ namespace BlueWater.Tycoons
|
|||||||
{
|
{
|
||||||
_crewElapsedTime = 0f;
|
_crewElapsedTime = 0f;
|
||||||
_isCrewInteracting = true;
|
_isCrewInteracting = true;
|
||||||
crew.IsCleaningFloor = true;
|
((CleanerCrew)crew).SetIsCleaningFloor(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CancelInteractionCrew()
|
public void CancelInteractionCrew()
|
||||||
|
@ -19,15 +19,15 @@ MonoBehaviour:
|
|||||||
<Name>k__BackingField: "\uC4F0\uB808\uAE30"
|
<Name>k__BackingField: "\uC4F0\uB808\uAE30"
|
||||||
<RatioRange>k__BackingField: 0
|
<RatioRange>k__BackingField: 0
|
||||||
<IngredientIdx1>k__BackingField:
|
<IngredientIdx1>k__BackingField:
|
||||||
<IngredientAmount1>k__BackingField: 0
|
<IngredientRatio1>k__BackingField: 0
|
||||||
<IngredientIdx2>k__BackingField:
|
<IngredientIdx2>k__BackingField:
|
||||||
<IngredientAmount2>k__BackingField: 0
|
<IngredientRatio2>k__BackingField: 0
|
||||||
<IngredientIdx3>k__BackingField:
|
<IngredientIdx3>k__BackingField:
|
||||||
<IngredientAmount3>k__BackingField: 0
|
<IngredientRatio3>k__BackingField: 0
|
||||||
<IngredientIdx4>k__BackingField:
|
<IngredientIdx4>k__BackingField:
|
||||||
<IngredientAmount4>k__BackingField: 0
|
<IngredientRatio4>k__BackingField: 0
|
||||||
<IngredientIdx5>k__BackingField:
|
<IngredientIdx5>k__BackingField:
|
||||||
<IngredientAmount5>k__BackingField: 0
|
<IngredientRatio5>k__BackingField: 0
|
||||||
<Sprite>k__BackingField: {fileID: 21300000, guid: 7f08919123d8bb84194bd4be22c0dee8, type: 3}
|
<Sprite>k__BackingField: {fileID: 21300000, guid: 7f08919123d8bb84194bd4be22c0dee8, type: 3}
|
||||||
- <Key>k__BackingField: Cocktail001
|
- <Key>k__BackingField: Cocktail001
|
||||||
<Value>k__BackingField:
|
<Value>k__BackingField:
|
||||||
@ -35,15 +35,15 @@ MonoBehaviour:
|
|||||||
<Name>k__BackingField: "\uCE75\uD14C\uC77CA"
|
<Name>k__BackingField: "\uCE75\uD14C\uC77CA"
|
||||||
<RatioRange>k__BackingField: 0
|
<RatioRange>k__BackingField: 0
|
||||||
<IngredientIdx1>k__BackingField: LiquidA
|
<IngredientIdx1>k__BackingField: LiquidA
|
||||||
<IngredientAmount1>k__BackingField: 400
|
<IngredientRatio1>k__BackingField: 100
|
||||||
<IngredientIdx2>k__BackingField:
|
<IngredientIdx2>k__BackingField:
|
||||||
<IngredientAmount2>k__BackingField: 0
|
<IngredientRatio2>k__BackingField: 0
|
||||||
<IngredientIdx3>k__BackingField:
|
<IngredientIdx3>k__BackingField:
|
||||||
<IngredientAmount3>k__BackingField: 0
|
<IngredientRatio3>k__BackingField: 0
|
||||||
<IngredientIdx4>k__BackingField:
|
<IngredientIdx4>k__BackingField:
|
||||||
<IngredientAmount4>k__BackingField: 0
|
<IngredientRatio4>k__BackingField: 0
|
||||||
<IngredientIdx5>k__BackingField:
|
<IngredientIdx5>k__BackingField:
|
||||||
<IngredientAmount5>k__BackingField: 0
|
<IngredientRatio5>k__BackingField: 0
|
||||||
<Sprite>k__BackingField: {fileID: 21300000, guid: 0cf23778fd0b2994c9d608fbbf185468, type: 3}
|
<Sprite>k__BackingField: {fileID: 21300000, guid: 0cf23778fd0b2994c9d608fbbf185468, type: 3}
|
||||||
- <Key>k__BackingField: Cocktail002
|
- <Key>k__BackingField: Cocktail002
|
||||||
<Value>k__BackingField:
|
<Value>k__BackingField:
|
||||||
@ -51,15 +51,15 @@ MonoBehaviour:
|
|||||||
<Name>k__BackingField: "\uCE75\uD14C\uC77CB"
|
<Name>k__BackingField: "\uCE75\uD14C\uC77CB"
|
||||||
<RatioRange>k__BackingField: 0
|
<RatioRange>k__BackingField: 0
|
||||||
<IngredientIdx1>k__BackingField: LiquidB
|
<IngredientIdx1>k__BackingField: LiquidB
|
||||||
<IngredientAmount1>k__BackingField: 400
|
<IngredientRatio1>k__BackingField: 100
|
||||||
<IngredientIdx2>k__BackingField:
|
<IngredientIdx2>k__BackingField:
|
||||||
<IngredientAmount2>k__BackingField: 0
|
<IngredientRatio2>k__BackingField: 0
|
||||||
<IngredientIdx3>k__BackingField:
|
<IngredientIdx3>k__BackingField:
|
||||||
<IngredientAmount3>k__BackingField: 0
|
<IngredientRatio3>k__BackingField: 0
|
||||||
<IngredientIdx4>k__BackingField:
|
<IngredientIdx4>k__BackingField:
|
||||||
<IngredientAmount4>k__BackingField: 0
|
<IngredientRatio4>k__BackingField: 0
|
||||||
<IngredientIdx5>k__BackingField:
|
<IngredientIdx5>k__BackingField:
|
||||||
<IngredientAmount5>k__BackingField: 0
|
<IngredientRatio5>k__BackingField: 0
|
||||||
<Sprite>k__BackingField: {fileID: 21300000, guid: 600806d36167cb140aa40eb51cf58afa, type: 3}
|
<Sprite>k__BackingField: {fileID: 21300000, guid: 600806d36167cb140aa40eb51cf58afa, type: 3}
|
||||||
- <Key>k__BackingField: Cocktail003
|
- <Key>k__BackingField: Cocktail003
|
||||||
<Value>k__BackingField:
|
<Value>k__BackingField:
|
||||||
@ -67,15 +67,15 @@ MonoBehaviour:
|
|||||||
<Name>k__BackingField: "\uCE75\uD14C\uC77CC"
|
<Name>k__BackingField: "\uCE75\uD14C\uC77CC"
|
||||||
<RatioRange>k__BackingField: 0
|
<RatioRange>k__BackingField: 0
|
||||||
<IngredientIdx1>k__BackingField: LiquidC
|
<IngredientIdx1>k__BackingField: LiquidC
|
||||||
<IngredientAmount1>k__BackingField: 400
|
<IngredientRatio1>k__BackingField: 100
|
||||||
<IngredientIdx2>k__BackingField:
|
<IngredientIdx2>k__BackingField:
|
||||||
<IngredientAmount2>k__BackingField: 0
|
<IngredientRatio2>k__BackingField: 0
|
||||||
<IngredientIdx3>k__BackingField:
|
<IngredientIdx3>k__BackingField:
|
||||||
<IngredientAmount3>k__BackingField: 0
|
<IngredientRatio3>k__BackingField: 0
|
||||||
<IngredientIdx4>k__BackingField:
|
<IngredientIdx4>k__BackingField:
|
||||||
<IngredientAmount4>k__BackingField: 0
|
<IngredientRatio4>k__BackingField: 0
|
||||||
<IngredientIdx5>k__BackingField:
|
<IngredientIdx5>k__BackingField:
|
||||||
<IngredientAmount5>k__BackingField: 0
|
<IngredientRatio5>k__BackingField: 0
|
||||||
<Sprite>k__BackingField: {fileID: 21300000, guid: c55f4b0a55a391d488e54a28dc840509, type: 3}
|
<Sprite>k__BackingField: {fileID: 21300000, guid: c55f4b0a55a391d488e54a28dc840509, type: 3}
|
||||||
- <Key>k__BackingField: Cocktail004
|
- <Key>k__BackingField: Cocktail004
|
||||||
<Value>k__BackingField:
|
<Value>k__BackingField:
|
||||||
@ -83,15 +83,15 @@ MonoBehaviour:
|
|||||||
<Name>k__BackingField: "\uCE75\uD14C\uC77CD"
|
<Name>k__BackingField: "\uCE75\uD14C\uC77CD"
|
||||||
<RatioRange>k__BackingField: 0
|
<RatioRange>k__BackingField: 0
|
||||||
<IngredientIdx1>k__BackingField: LiquidD
|
<IngredientIdx1>k__BackingField: LiquidD
|
||||||
<IngredientAmount1>k__BackingField: 400
|
<IngredientRatio1>k__BackingField: 100
|
||||||
<IngredientIdx2>k__BackingField:
|
<IngredientIdx2>k__BackingField:
|
||||||
<IngredientAmount2>k__BackingField: 0
|
<IngredientRatio2>k__BackingField: 0
|
||||||
<IngredientIdx3>k__BackingField:
|
<IngredientIdx3>k__BackingField:
|
||||||
<IngredientAmount3>k__BackingField: 0
|
<IngredientRatio3>k__BackingField: 0
|
||||||
<IngredientIdx4>k__BackingField:
|
<IngredientIdx4>k__BackingField:
|
||||||
<IngredientAmount4>k__BackingField: 0
|
<IngredientRatio4>k__BackingField: 0
|
||||||
<IngredientIdx5>k__BackingField:
|
<IngredientIdx5>k__BackingField:
|
||||||
<IngredientAmount5>k__BackingField: 0
|
<IngredientRatio5>k__BackingField: 0
|
||||||
<Sprite>k__BackingField: {fileID: 21300000, guid: 576d6ff3856f8ef419586ff12f2742b5, type: 3}
|
<Sprite>k__BackingField: {fileID: 21300000, guid: 576d6ff3856f8ef419586ff12f2742b5, type: 3}
|
||||||
- <Key>k__BackingField: Cocktail005
|
- <Key>k__BackingField: Cocktail005
|
||||||
<Value>k__BackingField:
|
<Value>k__BackingField:
|
||||||
@ -99,15 +99,15 @@ MonoBehaviour:
|
|||||||
<Name>k__BackingField: "\uCE75\uD14C\uC77CE"
|
<Name>k__BackingField: "\uCE75\uD14C\uC77CE"
|
||||||
<RatioRange>k__BackingField: 0
|
<RatioRange>k__BackingField: 0
|
||||||
<IngredientIdx1>k__BackingField: LiquidE
|
<IngredientIdx1>k__BackingField: LiquidE
|
||||||
<IngredientAmount1>k__BackingField: 400
|
<IngredientRatio1>k__BackingField: 100
|
||||||
<IngredientIdx2>k__BackingField:
|
<IngredientIdx2>k__BackingField:
|
||||||
<IngredientAmount2>k__BackingField: 0
|
<IngredientRatio2>k__BackingField: 0
|
||||||
<IngredientIdx3>k__BackingField:
|
<IngredientIdx3>k__BackingField:
|
||||||
<IngredientAmount3>k__BackingField: 0
|
<IngredientRatio3>k__BackingField: 0
|
||||||
<IngredientIdx4>k__BackingField:
|
<IngredientIdx4>k__BackingField:
|
||||||
<IngredientAmount4>k__BackingField: 0
|
<IngredientRatio4>k__BackingField: 0
|
||||||
<IngredientIdx5>k__BackingField:
|
<IngredientIdx5>k__BackingField:
|
||||||
<IngredientAmount5>k__BackingField: 0
|
<IngredientRatio5>k__BackingField: 0
|
||||||
<Sprite>k__BackingField: {fileID: 21300000, guid: 527440f24542af142a67219f2bcbeec4, type: 3}
|
<Sprite>k__BackingField: {fileID: 21300000, guid: 527440f24542af142a67219f2bcbeec4, type: 3}
|
||||||
- <Key>k__BackingField: Cocktail006
|
- <Key>k__BackingField: Cocktail006
|
||||||
<Value>k__BackingField:
|
<Value>k__BackingField:
|
||||||
@ -115,15 +115,15 @@ MonoBehaviour:
|
|||||||
<Name>k__BackingField: "\uCE75\uD14C\uC77CAC"
|
<Name>k__BackingField: "\uCE75\uD14C\uC77CAC"
|
||||||
<RatioRange>k__BackingField: 5
|
<RatioRange>k__BackingField: 5
|
||||||
<IngredientIdx1>k__BackingField: LiquidA
|
<IngredientIdx1>k__BackingField: LiquidA
|
||||||
<IngredientAmount1>k__BackingField: 200
|
<IngredientRatio1>k__BackingField: 50
|
||||||
<IngredientIdx2>k__BackingField: LiquidC
|
<IngredientIdx2>k__BackingField: LiquidC
|
||||||
<IngredientAmount2>k__BackingField: 200
|
<IngredientRatio2>k__BackingField: 50
|
||||||
<IngredientIdx3>k__BackingField:
|
<IngredientIdx3>k__BackingField:
|
||||||
<IngredientAmount3>k__BackingField: 0
|
<IngredientRatio3>k__BackingField: 0
|
||||||
<IngredientIdx4>k__BackingField:
|
<IngredientIdx4>k__BackingField:
|
||||||
<IngredientAmount4>k__BackingField: 0
|
<IngredientRatio4>k__BackingField: 0
|
||||||
<IngredientIdx5>k__BackingField:
|
<IngredientIdx5>k__BackingField:
|
||||||
<IngredientAmount5>k__BackingField: 0
|
<IngredientRatio5>k__BackingField: 0
|
||||||
<Sprite>k__BackingField: {fileID: 21300000, guid: 6a4cd8cdf11fe024e8ecac8e3d60e10d, type: 3}
|
<Sprite>k__BackingField: {fileID: 21300000, guid: 6a4cd8cdf11fe024e8ecac8e3d60e10d, type: 3}
|
||||||
- <Key>k__BackingField: Cocktail007
|
- <Key>k__BackingField: Cocktail007
|
||||||
<Value>k__BackingField:
|
<Value>k__BackingField:
|
||||||
@ -131,15 +131,15 @@ MonoBehaviour:
|
|||||||
<Name>k__BackingField: "\uCE75\uD14C\uC77CBD"
|
<Name>k__BackingField: "\uCE75\uD14C\uC77CBD"
|
||||||
<RatioRange>k__BackingField: 5
|
<RatioRange>k__BackingField: 5
|
||||||
<IngredientIdx1>k__BackingField: LiquidB
|
<IngredientIdx1>k__BackingField: LiquidB
|
||||||
<IngredientAmount1>k__BackingField: 200
|
<IngredientRatio1>k__BackingField: 50
|
||||||
<IngredientIdx2>k__BackingField: LiquidD
|
<IngredientIdx2>k__BackingField: LiquidD
|
||||||
<IngredientAmount2>k__BackingField: 200
|
<IngredientRatio2>k__BackingField: 50
|
||||||
<IngredientIdx3>k__BackingField:
|
<IngredientIdx3>k__BackingField:
|
||||||
<IngredientAmount3>k__BackingField: 0
|
<IngredientRatio3>k__BackingField: 0
|
||||||
<IngredientIdx4>k__BackingField:
|
<IngredientIdx4>k__BackingField:
|
||||||
<IngredientAmount4>k__BackingField: 0
|
<IngredientRatio4>k__BackingField: 0
|
||||||
<IngredientIdx5>k__BackingField:
|
<IngredientIdx5>k__BackingField:
|
||||||
<IngredientAmount5>k__BackingField: 0
|
<IngredientRatio5>k__BackingField: 0
|
||||||
<Sprite>k__BackingField: {fileID: 21300000, guid: b38089ff4046ac044ba79dfa5116aa1b, type: 3}
|
<Sprite>k__BackingField: {fileID: 21300000, guid: b38089ff4046ac044ba79dfa5116aa1b, type: 3}
|
||||||
- <Key>k__BackingField: Cocktail008
|
- <Key>k__BackingField: Cocktail008
|
||||||
<Value>k__BackingField:
|
<Value>k__BackingField:
|
||||||
@ -147,15 +147,15 @@ MonoBehaviour:
|
|||||||
<Name>k__BackingField: "\uCE75\uD14C\uC77CCD"
|
<Name>k__BackingField: "\uCE75\uD14C\uC77CCD"
|
||||||
<RatioRange>k__BackingField: 5
|
<RatioRange>k__BackingField: 5
|
||||||
<IngredientIdx1>k__BackingField: LiquidC
|
<IngredientIdx1>k__BackingField: LiquidC
|
||||||
<IngredientAmount1>k__BackingField: 200
|
<IngredientRatio1>k__BackingField: 50
|
||||||
<IngredientIdx2>k__BackingField: LiquidD
|
<IngredientIdx2>k__BackingField: LiquidD
|
||||||
<IngredientAmount2>k__BackingField: 200
|
<IngredientRatio2>k__BackingField: 50
|
||||||
<IngredientIdx3>k__BackingField:
|
<IngredientIdx3>k__BackingField:
|
||||||
<IngredientAmount3>k__BackingField: 0
|
<IngredientRatio3>k__BackingField: 0
|
||||||
<IngredientIdx4>k__BackingField:
|
<IngredientIdx4>k__BackingField:
|
||||||
<IngredientAmount4>k__BackingField: 0
|
<IngredientRatio4>k__BackingField: 0
|
||||||
<IngredientIdx5>k__BackingField:
|
<IngredientIdx5>k__BackingField:
|
||||||
<IngredientAmount5>k__BackingField: 0
|
<IngredientRatio5>k__BackingField: 0
|
||||||
<Sprite>k__BackingField: {fileID: 21300000, guid: 71954183dfb02424d835d964c2eb3fc6, type: 3}
|
<Sprite>k__BackingField: {fileID: 21300000, guid: 71954183dfb02424d835d964c2eb3fc6, type: 3}
|
||||||
- <Key>k__BackingField: Cocktail009
|
- <Key>k__BackingField: Cocktail009
|
||||||
<Value>k__BackingField:
|
<Value>k__BackingField:
|
||||||
@ -163,15 +163,15 @@ MonoBehaviour:
|
|||||||
<Name>k__BackingField: "\uCE75\uD14C\uC77CABE"
|
<Name>k__BackingField: "\uCE75\uD14C\uC77CABE"
|
||||||
<RatioRange>k__BackingField: 10
|
<RatioRange>k__BackingField: 10
|
||||||
<IngredientIdx1>k__BackingField: LiquidA
|
<IngredientIdx1>k__BackingField: LiquidA
|
||||||
<IngredientAmount1>k__BackingField: 100
|
<IngredientRatio1>k__BackingField: 25
|
||||||
<IngredientIdx2>k__BackingField: LiquidB
|
<IngredientIdx2>k__BackingField: LiquidB
|
||||||
<IngredientAmount2>k__BackingField: 100
|
<IngredientRatio2>k__BackingField: 25
|
||||||
<IngredientIdx3>k__BackingField: LiquidE
|
<IngredientIdx3>k__BackingField: LiquidE
|
||||||
<IngredientAmount3>k__BackingField: 200
|
<IngredientRatio3>k__BackingField: 50
|
||||||
<IngredientIdx4>k__BackingField:
|
<IngredientIdx4>k__BackingField:
|
||||||
<IngredientAmount4>k__BackingField: 0
|
<IngredientRatio4>k__BackingField: 0
|
||||||
<IngredientIdx5>k__BackingField:
|
<IngredientIdx5>k__BackingField:
|
||||||
<IngredientAmount5>k__BackingField: 0
|
<IngredientRatio5>k__BackingField: 0
|
||||||
<Sprite>k__BackingField: {fileID: 21300000, guid: d0748411047fc4a41beb1fb8d551e01e, type: 3}
|
<Sprite>k__BackingField: {fileID: 21300000, guid: d0748411047fc4a41beb1fb8d551e01e, type: 3}
|
||||||
- <Key>k__BackingField: Cocktail010
|
- <Key>k__BackingField: Cocktail010
|
||||||
<Value>k__BackingField:
|
<Value>k__BackingField:
|
||||||
@ -179,15 +179,15 @@ MonoBehaviour:
|
|||||||
<Name>k__BackingField: "\uCE75\uD14C\uC77CCDE"
|
<Name>k__BackingField: "\uCE75\uD14C\uC77CCDE"
|
||||||
<RatioRange>k__BackingField: 10
|
<RatioRange>k__BackingField: 10
|
||||||
<IngredientIdx1>k__BackingField: LiquidC
|
<IngredientIdx1>k__BackingField: LiquidC
|
||||||
<IngredientAmount1>k__BackingField: 100
|
<IngredientRatio1>k__BackingField: 25
|
||||||
<IngredientIdx2>k__BackingField: LiquidD
|
<IngredientIdx2>k__BackingField: LiquidD
|
||||||
<IngredientAmount2>k__BackingField: 100
|
<IngredientRatio2>k__BackingField: 25
|
||||||
<IngredientIdx3>k__BackingField: LiquidE
|
<IngredientIdx3>k__BackingField: LiquidE
|
||||||
<IngredientAmount3>k__BackingField: 200
|
<IngredientRatio3>k__BackingField: 100
|
||||||
<IngredientIdx4>k__BackingField:
|
<IngredientIdx4>k__BackingField:
|
||||||
<IngredientAmount4>k__BackingField: 0
|
<IngredientRatio4>k__BackingField: 0
|
||||||
<IngredientIdx5>k__BackingField:
|
<IngredientIdx5>k__BackingField:
|
||||||
<IngredientAmount5>k__BackingField: 0
|
<IngredientRatio5>k__BackingField: 0
|
||||||
<Sprite>k__BackingField: {fileID: 21300000, guid: 335f1df58cd58914f97fe9ccae7f6c8c, type: 3}
|
<Sprite>k__BackingField: {fileID: 21300000, guid: 335f1df58cd58914f97fe9ccae7f6c8c, type: 3}
|
||||||
- <Key>k__BackingField: Cocktail011
|
- <Key>k__BackingField: Cocktail011
|
||||||
<Value>k__BackingField:
|
<Value>k__BackingField:
|
||||||
@ -195,15 +195,15 @@ MonoBehaviour:
|
|||||||
<Name>k__BackingField: "\uCE75\uD14C\uC77CB1"
|
<Name>k__BackingField: "\uCE75\uD14C\uC77CB1"
|
||||||
<RatioRange>k__BackingField: 10
|
<RatioRange>k__BackingField: 10
|
||||||
<IngredientIdx1>k__BackingField: LiquidB
|
<IngredientIdx1>k__BackingField: LiquidB
|
||||||
<IngredientAmount1>k__BackingField: 320
|
<IngredientRatio1>k__BackingField: 80
|
||||||
<IngredientIdx2>k__BackingField: Garnish1
|
<IngredientIdx2>k__BackingField: Garnish1
|
||||||
<IngredientAmount2>k__BackingField: 80
|
<IngredientRatio2>k__BackingField: 20
|
||||||
<IngredientIdx3>k__BackingField:
|
<IngredientIdx3>k__BackingField:
|
||||||
<IngredientAmount3>k__BackingField: 0
|
<IngredientRatio3>k__BackingField: 0
|
||||||
<IngredientIdx4>k__BackingField:
|
<IngredientIdx4>k__BackingField:
|
||||||
<IngredientAmount4>k__BackingField: 0
|
<IngredientRatio4>k__BackingField: 0
|
||||||
<IngredientIdx5>k__BackingField:
|
<IngredientIdx5>k__BackingField:
|
||||||
<IngredientAmount5>k__BackingField: 0
|
<IngredientRatio5>k__BackingField: 0
|
||||||
<Sprite>k__BackingField: {fileID: 21300000, guid: 600806d36167cb140aa40eb51cf58afa, type: 3}
|
<Sprite>k__BackingField: {fileID: 21300000, guid: 600806d36167cb140aa40eb51cf58afa, type: 3}
|
||||||
- <Key>k__BackingField: Cocktail012
|
- <Key>k__BackingField: Cocktail012
|
||||||
<Value>k__BackingField:
|
<Value>k__BackingField:
|
||||||
@ -211,15 +211,15 @@ MonoBehaviour:
|
|||||||
<Name>k__BackingField: "\uCE75\uD14C\uC77CD1"
|
<Name>k__BackingField: "\uCE75\uD14C\uC77CD1"
|
||||||
<RatioRange>k__BackingField: 10
|
<RatioRange>k__BackingField: 10
|
||||||
<IngredientIdx1>k__BackingField: LiquidD
|
<IngredientIdx1>k__BackingField: LiquidD
|
||||||
<IngredientAmount1>k__BackingField: 320
|
<IngredientRatio1>k__BackingField: 80
|
||||||
<IngredientIdx2>k__BackingField: Garnish1
|
<IngredientIdx2>k__BackingField: Garnish1
|
||||||
<IngredientAmount2>k__BackingField: 80
|
<IngredientRatio2>k__BackingField: 20
|
||||||
<IngredientIdx3>k__BackingField:
|
<IngredientIdx3>k__BackingField:
|
||||||
<IngredientAmount3>k__BackingField: 0
|
<IngredientRatio3>k__BackingField: 0
|
||||||
<IngredientIdx4>k__BackingField:
|
<IngredientIdx4>k__BackingField:
|
||||||
<IngredientAmount4>k__BackingField: 0
|
<IngredientRatio4>k__BackingField: 0
|
||||||
<IngredientIdx5>k__BackingField:
|
<IngredientIdx5>k__BackingField:
|
||||||
<IngredientAmount5>k__BackingField: 0
|
<IngredientRatio5>k__BackingField: 0
|
||||||
<Sprite>k__BackingField: {fileID: 21300000, guid: ee344f47787d148448bd3373235281b6, type: 3}
|
<Sprite>k__BackingField: {fileID: 21300000, guid: ee344f47787d148448bd3373235281b6, type: 3}
|
||||||
- <Key>k__BackingField: Cocktail013
|
- <Key>k__BackingField: Cocktail013
|
||||||
<Value>k__BackingField:
|
<Value>k__BackingField:
|
||||||
@ -227,15 +227,15 @@ MonoBehaviour:
|
|||||||
<Name>k__BackingField: "\uCE75\uD14C\uC77CA2"
|
<Name>k__BackingField: "\uCE75\uD14C\uC77CA2"
|
||||||
<RatioRange>k__BackingField: 5
|
<RatioRange>k__BackingField: 5
|
||||||
<IngredientIdx1>k__BackingField: LiquidA
|
<IngredientIdx1>k__BackingField: LiquidA
|
||||||
<IngredientAmount1>k__BackingField: 360
|
<IngredientRatio1>k__BackingField: 90
|
||||||
<IngredientIdx2>k__BackingField: Garnish2
|
<IngredientIdx2>k__BackingField: Garnish2
|
||||||
<IngredientAmount2>k__BackingField: 40
|
<IngredientRatio2>k__BackingField: 10
|
||||||
<IngredientIdx3>k__BackingField:
|
<IngredientIdx3>k__BackingField:
|
||||||
<IngredientAmount3>k__BackingField: 0
|
<IngredientRatio3>k__BackingField: 0
|
||||||
<IngredientIdx4>k__BackingField:
|
<IngredientIdx4>k__BackingField:
|
||||||
<IngredientAmount4>k__BackingField: 0
|
<IngredientRatio4>k__BackingField: 0
|
||||||
<IngredientIdx5>k__BackingField:
|
<IngredientIdx5>k__BackingField:
|
||||||
<IngredientAmount5>k__BackingField: 0
|
<IngredientRatio5>k__BackingField: 0
|
||||||
<Sprite>k__BackingField: {fileID: 21300000, guid: aef7fd596cbfc854d87f408c14951641, type: 3}
|
<Sprite>k__BackingField: {fileID: 21300000, guid: aef7fd596cbfc854d87f408c14951641, type: 3}
|
||||||
- <Key>k__BackingField: Cocktail014
|
- <Key>k__BackingField: Cocktail014
|
||||||
<Value>k__BackingField:
|
<Value>k__BackingField:
|
||||||
@ -243,15 +243,15 @@ MonoBehaviour:
|
|||||||
<Name>k__BackingField: "\uCE75\uD14C\uC77CC2"
|
<Name>k__BackingField: "\uCE75\uD14C\uC77CC2"
|
||||||
<RatioRange>k__BackingField: 5
|
<RatioRange>k__BackingField: 5
|
||||||
<IngredientIdx1>k__BackingField: LiquidC
|
<IngredientIdx1>k__BackingField: LiquidC
|
||||||
<IngredientAmount1>k__BackingField: 360
|
<IngredientRatio1>k__BackingField: 90
|
||||||
<IngredientIdx2>k__BackingField: Garnish2
|
<IngredientIdx2>k__BackingField: Garnish2
|
||||||
<IngredientAmount2>k__BackingField: 40
|
<IngredientRatio2>k__BackingField: 10
|
||||||
<IngredientIdx3>k__BackingField:
|
<IngredientIdx3>k__BackingField:
|
||||||
<IngredientAmount3>k__BackingField: 0
|
<IngredientRatio3>k__BackingField: 0
|
||||||
<IngredientIdx4>k__BackingField:
|
<IngredientIdx4>k__BackingField:
|
||||||
<IngredientAmount4>k__BackingField: 0
|
<IngredientRatio4>k__BackingField: 0
|
||||||
<IngredientIdx5>k__BackingField:
|
<IngredientIdx5>k__BackingField:
|
||||||
<IngredientAmount5>k__BackingField: 0
|
<IngredientRatio5>k__BackingField: 0
|
||||||
<Sprite>k__BackingField: {fileID: 21300000, guid: 91d99e534e5f3c04094b14ed920bec04, type: 3}
|
<Sprite>k__BackingField: {fileID: 21300000, guid: 91d99e534e5f3c04094b14ed920bec04, type: 3}
|
||||||
- <Key>k__BackingField: Cocktail015
|
- <Key>k__BackingField: Cocktail015
|
||||||
<Value>k__BackingField:
|
<Value>k__BackingField:
|
||||||
@ -259,13 +259,13 @@ MonoBehaviour:
|
|||||||
<Name>k__BackingField: "\uCE75\uD14C\uC77CE2"
|
<Name>k__BackingField: "\uCE75\uD14C\uC77CE2"
|
||||||
<RatioRange>k__BackingField: 5
|
<RatioRange>k__BackingField: 5
|
||||||
<IngredientIdx1>k__BackingField: LiquidE
|
<IngredientIdx1>k__BackingField: LiquidE
|
||||||
<IngredientAmount1>k__BackingField: 360
|
<IngredientRatio1>k__BackingField: 90
|
||||||
<IngredientIdx2>k__BackingField: Garnish2
|
<IngredientIdx2>k__BackingField: Garnish2
|
||||||
<IngredientAmount2>k__BackingField: 40
|
<IngredientRatio2>k__BackingField: 10
|
||||||
<IngredientIdx3>k__BackingField:
|
<IngredientIdx3>k__BackingField:
|
||||||
<IngredientAmount3>k__BackingField: 0
|
<IngredientRatio3>k__BackingField: 0
|
||||||
<IngredientIdx4>k__BackingField:
|
<IngredientIdx4>k__BackingField:
|
||||||
<IngredientAmount4>k__BackingField: 0
|
<IngredientRatio4>k__BackingField: 0
|
||||||
<IngredientIdx5>k__BackingField:
|
<IngredientIdx5>k__BackingField:
|
||||||
<IngredientAmount5>k__BackingField: 0
|
<IngredientRatio5>k__BackingField: 0
|
||||||
<Sprite>k__BackingField: {fileID: 21300000, guid: 527440f24542af142a67219f2bcbeec4, type: 3}
|
<Sprite>k__BackingField: {fileID: 21300000, guid: 527440f24542af142a67219f2bcbeec4, type: 3}
|
||||||
|
@ -19,7 +19,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 15
|
<CustomerRespawn>k__BackingField: 15
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 200
|
<RequiredExp>k__BackingField: 100
|
||||||
<WaitTime>k__BackingField: 20
|
<WaitTime>k__BackingField: 20
|
||||||
<HurryTime>k__BackingField: 20
|
<HurryTime>k__BackingField: 20
|
||||||
<EatingTime>k__BackingField: 10
|
<EatingTime>k__BackingField: 10
|
||||||
@ -30,7 +30,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 15
|
<CustomerRespawn>k__BackingField: 15
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 300
|
<RequiredExp>k__BackingField: 100
|
||||||
<WaitTime>k__BackingField: 20
|
<WaitTime>k__BackingField: 20
|
||||||
<HurryTime>k__BackingField: 19
|
<HurryTime>k__BackingField: 19
|
||||||
<EatingTime>k__BackingField: 10
|
<EatingTime>k__BackingField: 10
|
||||||
@ -41,7 +41,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 15
|
<CustomerRespawn>k__BackingField: 15
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 400
|
<RequiredExp>k__BackingField: 200
|
||||||
<WaitTime>k__BackingField: 20
|
<WaitTime>k__BackingField: 20
|
||||||
<HurryTime>k__BackingField: 18
|
<HurryTime>k__BackingField: 18
|
||||||
<EatingTime>k__BackingField: 10
|
<EatingTime>k__BackingField: 10
|
||||||
@ -52,7 +52,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 15
|
<CustomerRespawn>k__BackingField: 15
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 500
|
<RequiredExp>k__BackingField: 200
|
||||||
<WaitTime>k__BackingField: 20
|
<WaitTime>k__BackingField: 20
|
||||||
<HurryTime>k__BackingField: 17
|
<HurryTime>k__BackingField: 17
|
||||||
<EatingTime>k__BackingField: 10
|
<EatingTime>k__BackingField: 10
|
||||||
@ -63,7 +63,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 15
|
<CustomerRespawn>k__BackingField: 15
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 600
|
<RequiredExp>k__BackingField: 200
|
||||||
<WaitTime>k__BackingField: 20
|
<WaitTime>k__BackingField: 20
|
||||||
<HurryTime>k__BackingField: 16
|
<HurryTime>k__BackingField: 16
|
||||||
<EatingTime>k__BackingField: 10
|
<EatingTime>k__BackingField: 10
|
||||||
@ -74,7 +74,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 13
|
<CustomerRespawn>k__BackingField: 13
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 700
|
<RequiredExp>k__BackingField: 200
|
||||||
<WaitTime>k__BackingField: 20
|
<WaitTime>k__BackingField: 20
|
||||||
<HurryTime>k__BackingField: 15
|
<HurryTime>k__BackingField: 15
|
||||||
<EatingTime>k__BackingField: 10
|
<EatingTime>k__BackingField: 10
|
||||||
@ -85,7 +85,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 13
|
<CustomerRespawn>k__BackingField: 13
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 800
|
<RequiredExp>k__BackingField: 300
|
||||||
<WaitTime>k__BackingField: 19
|
<WaitTime>k__BackingField: 19
|
||||||
<HurryTime>k__BackingField: 15
|
<HurryTime>k__BackingField: 15
|
||||||
<EatingTime>k__BackingField: 10
|
<EatingTime>k__BackingField: 10
|
||||||
@ -96,7 +96,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 13
|
<CustomerRespawn>k__BackingField: 13
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 900
|
<RequiredExp>k__BackingField: 300
|
||||||
<WaitTime>k__BackingField: 18
|
<WaitTime>k__BackingField: 18
|
||||||
<HurryTime>k__BackingField: 15
|
<HurryTime>k__BackingField: 15
|
||||||
<EatingTime>k__BackingField: 10
|
<EatingTime>k__BackingField: 10
|
||||||
@ -107,7 +107,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 13
|
<CustomerRespawn>k__BackingField: 13
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 1000
|
<RequiredExp>k__BackingField: 300
|
||||||
<WaitTime>k__BackingField: 17
|
<WaitTime>k__BackingField: 17
|
||||||
<HurryTime>k__BackingField: 15
|
<HurryTime>k__BackingField: 15
|
||||||
<EatingTime>k__BackingField: 10
|
<EatingTime>k__BackingField: 10
|
||||||
@ -118,7 +118,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 13
|
<CustomerRespawn>k__BackingField: 13
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 1100
|
<RequiredExp>k__BackingField: 300
|
||||||
<WaitTime>k__BackingField: 16
|
<WaitTime>k__BackingField: 16
|
||||||
<HurryTime>k__BackingField: 15
|
<HurryTime>k__BackingField: 15
|
||||||
<EatingTime>k__BackingField: 10
|
<EatingTime>k__BackingField: 10
|
||||||
@ -129,7 +129,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 11
|
<CustomerRespawn>k__BackingField: 11
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 1200
|
<RequiredExp>k__BackingField: 300
|
||||||
<WaitTime>k__BackingField: 15
|
<WaitTime>k__BackingField: 15
|
||||||
<HurryTime>k__BackingField: 14
|
<HurryTime>k__BackingField: 14
|
||||||
<EatingTime>k__BackingField: 8
|
<EatingTime>k__BackingField: 8
|
||||||
@ -140,7 +140,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 11
|
<CustomerRespawn>k__BackingField: 11
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 1300
|
<RequiredExp>k__BackingField: 400
|
||||||
<WaitTime>k__BackingField: 15
|
<WaitTime>k__BackingField: 15
|
||||||
<HurryTime>k__BackingField: 13
|
<HurryTime>k__BackingField: 13
|
||||||
<EatingTime>k__BackingField: 8
|
<EatingTime>k__BackingField: 8
|
||||||
@ -151,7 +151,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 11
|
<CustomerRespawn>k__BackingField: 11
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 1400
|
<RequiredExp>k__BackingField: 400
|
||||||
<WaitTime>k__BackingField: 15
|
<WaitTime>k__BackingField: 15
|
||||||
<HurryTime>k__BackingField: 12
|
<HurryTime>k__BackingField: 12
|
||||||
<EatingTime>k__BackingField: 8
|
<EatingTime>k__BackingField: 8
|
||||||
@ -162,7 +162,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 11
|
<CustomerRespawn>k__BackingField: 11
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 1500
|
<RequiredExp>k__BackingField: 400
|
||||||
<WaitTime>k__BackingField: 15
|
<WaitTime>k__BackingField: 15
|
||||||
<HurryTime>k__BackingField: 11
|
<HurryTime>k__BackingField: 11
|
||||||
<EatingTime>k__BackingField: 8
|
<EatingTime>k__BackingField: 8
|
||||||
@ -173,7 +173,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 11
|
<CustomerRespawn>k__BackingField: 11
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 1600
|
<RequiredExp>k__BackingField: 400
|
||||||
<WaitTime>k__BackingField: 15
|
<WaitTime>k__BackingField: 15
|
||||||
<HurryTime>k__BackingField: 10
|
<HurryTime>k__BackingField: 10
|
||||||
<EatingTime>k__BackingField: 8
|
<EatingTime>k__BackingField: 8
|
||||||
@ -184,7 +184,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 9
|
<CustomerRespawn>k__BackingField: 9
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 1700
|
<RequiredExp>k__BackingField: 400
|
||||||
<WaitTime>k__BackingField: 15
|
<WaitTime>k__BackingField: 15
|
||||||
<HurryTime>k__BackingField: 10
|
<HurryTime>k__BackingField: 10
|
||||||
<EatingTime>k__BackingField: 8
|
<EatingTime>k__BackingField: 8
|
||||||
@ -195,7 +195,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 9
|
<CustomerRespawn>k__BackingField: 9
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 1800
|
<RequiredExp>k__BackingField: 500
|
||||||
<WaitTime>k__BackingField: 14
|
<WaitTime>k__BackingField: 14
|
||||||
<HurryTime>k__BackingField: 10
|
<HurryTime>k__BackingField: 10
|
||||||
<EatingTime>k__BackingField: 8
|
<EatingTime>k__BackingField: 8
|
||||||
@ -206,7 +206,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 9
|
<CustomerRespawn>k__BackingField: 9
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 1900
|
<RequiredExp>k__BackingField: 500
|
||||||
<WaitTime>k__BackingField: 13
|
<WaitTime>k__BackingField: 13
|
||||||
<HurryTime>k__BackingField: 10
|
<HurryTime>k__BackingField: 10
|
||||||
<EatingTime>k__BackingField: 8
|
<EatingTime>k__BackingField: 8
|
||||||
@ -217,7 +217,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 9
|
<CustomerRespawn>k__BackingField: 9
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 2000
|
<RequiredExp>k__BackingField: 500
|
||||||
<WaitTime>k__BackingField: 12
|
<WaitTime>k__BackingField: 12
|
||||||
<HurryTime>k__BackingField: 10
|
<HurryTime>k__BackingField: 10
|
||||||
<EatingTime>k__BackingField: 8
|
<EatingTime>k__BackingField: 8
|
||||||
@ -228,7 +228,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 9
|
<CustomerRespawn>k__BackingField: 9
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 2100
|
<RequiredExp>k__BackingField: 500
|
||||||
<WaitTime>k__BackingField: 11
|
<WaitTime>k__BackingField: 11
|
||||||
<HurryTime>k__BackingField: 10
|
<HurryTime>k__BackingField: 10
|
||||||
<EatingTime>k__BackingField: 8
|
<EatingTime>k__BackingField: 8
|
||||||
@ -239,7 +239,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 7
|
<CustomerRespawn>k__BackingField: 7
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 2200
|
<RequiredExp>k__BackingField: 500
|
||||||
<WaitTime>k__BackingField: 10
|
<WaitTime>k__BackingField: 10
|
||||||
<HurryTime>k__BackingField: 10
|
<HurryTime>k__BackingField: 10
|
||||||
<EatingTime>k__BackingField: 6
|
<EatingTime>k__BackingField: 6
|
||||||
@ -250,7 +250,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 7
|
<CustomerRespawn>k__BackingField: 7
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 2300
|
<RequiredExp>k__BackingField: 600
|
||||||
<WaitTime>k__BackingField: 10
|
<WaitTime>k__BackingField: 10
|
||||||
<HurryTime>k__BackingField: 9
|
<HurryTime>k__BackingField: 9
|
||||||
<EatingTime>k__BackingField: 6
|
<EatingTime>k__BackingField: 6
|
||||||
@ -261,7 +261,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 7
|
<CustomerRespawn>k__BackingField: 7
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 2400
|
<RequiredExp>k__BackingField: 600
|
||||||
<WaitTime>k__BackingField: 10
|
<WaitTime>k__BackingField: 10
|
||||||
<HurryTime>k__BackingField: 8
|
<HurryTime>k__BackingField: 8
|
||||||
<EatingTime>k__BackingField: 6
|
<EatingTime>k__BackingField: 6
|
||||||
@ -272,7 +272,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 7
|
<CustomerRespawn>k__BackingField: 7
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 2500
|
<RequiredExp>k__BackingField: 600
|
||||||
<WaitTime>k__BackingField: 10
|
<WaitTime>k__BackingField: 10
|
||||||
<HurryTime>k__BackingField: 7
|
<HurryTime>k__BackingField: 7
|
||||||
<EatingTime>k__BackingField: 6
|
<EatingTime>k__BackingField: 6
|
||||||
@ -283,7 +283,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 7
|
<CustomerRespawn>k__BackingField: 7
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 2600
|
<RequiredExp>k__BackingField: 600
|
||||||
<WaitTime>k__BackingField: 10
|
<WaitTime>k__BackingField: 10
|
||||||
<HurryTime>k__BackingField: 6
|
<HurryTime>k__BackingField: 6
|
||||||
<EatingTime>k__BackingField: 6
|
<EatingTime>k__BackingField: 6
|
||||||
@ -294,7 +294,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 5
|
<CustomerRespawn>k__BackingField: 5
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 2700
|
<RequiredExp>k__BackingField: 600
|
||||||
<WaitTime>k__BackingField: 10
|
<WaitTime>k__BackingField: 10
|
||||||
<HurryTime>k__BackingField: 5
|
<HurryTime>k__BackingField: 5
|
||||||
<EatingTime>k__BackingField: 6
|
<EatingTime>k__BackingField: 6
|
||||||
@ -305,7 +305,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 5
|
<CustomerRespawn>k__BackingField: 5
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 2800
|
<RequiredExp>k__BackingField: 700
|
||||||
<WaitTime>k__BackingField: 10
|
<WaitTime>k__BackingField: 10
|
||||||
<HurryTime>k__BackingField: 5
|
<HurryTime>k__BackingField: 5
|
||||||
<EatingTime>k__BackingField: 6
|
<EatingTime>k__BackingField: 6
|
||||||
@ -316,7 +316,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 5
|
<CustomerRespawn>k__BackingField: 5
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 2900
|
<RequiredExp>k__BackingField: 700
|
||||||
<WaitTime>k__BackingField: 10
|
<WaitTime>k__BackingField: 10
|
||||||
<HurryTime>k__BackingField: 5
|
<HurryTime>k__BackingField: 5
|
||||||
<EatingTime>k__BackingField: 6
|
<EatingTime>k__BackingField: 6
|
||||||
@ -327,7 +327,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 5
|
<CustomerRespawn>k__BackingField: 5
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 3000
|
<RequiredExp>k__BackingField: 700
|
||||||
<WaitTime>k__BackingField: 10
|
<WaitTime>k__BackingField: 10
|
||||||
<HurryTime>k__BackingField: 5
|
<HurryTime>k__BackingField: 5
|
||||||
<EatingTime>k__BackingField: 6
|
<EatingTime>k__BackingField: 6
|
||||||
@ -338,7 +338,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 5
|
<CustomerRespawn>k__BackingField: 5
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 3100
|
<RequiredExp>k__BackingField: 700
|
||||||
<WaitTime>k__BackingField: 10
|
<WaitTime>k__BackingField: 10
|
||||||
<HurryTime>k__BackingField: 5
|
<HurryTime>k__BackingField: 5
|
||||||
<EatingTime>k__BackingField: 6
|
<EatingTime>k__BackingField: 6
|
||||||
@ -349,7 +349,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 5
|
<CustomerRespawn>k__BackingField: 5
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 3200
|
<RequiredExp>k__BackingField: 700
|
||||||
<WaitTime>k__BackingField: 10
|
<WaitTime>k__BackingField: 10
|
||||||
<HurryTime>k__BackingField: 5
|
<HurryTime>k__BackingField: 5
|
||||||
<EatingTime>k__BackingField: 6
|
<EatingTime>k__BackingField: 6
|
||||||
@ -360,7 +360,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 5
|
<CustomerRespawn>k__BackingField: 5
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 3300
|
<RequiredExp>k__BackingField: 800
|
||||||
<WaitTime>k__BackingField: 10
|
<WaitTime>k__BackingField: 10
|
||||||
<HurryTime>k__BackingField: 5
|
<HurryTime>k__BackingField: 5
|
||||||
<EatingTime>k__BackingField: 6
|
<EatingTime>k__BackingField: 6
|
||||||
@ -371,7 +371,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 5
|
<CustomerRespawn>k__BackingField: 5
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 3400
|
<RequiredExp>k__BackingField: 800
|
||||||
<WaitTime>k__BackingField: 10
|
<WaitTime>k__BackingField: 10
|
||||||
<HurryTime>k__BackingField: 5
|
<HurryTime>k__BackingField: 5
|
||||||
<EatingTime>k__BackingField: 6
|
<EatingTime>k__BackingField: 6
|
||||||
@ -382,7 +382,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 5
|
<CustomerRespawn>k__BackingField: 5
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 3500
|
<RequiredExp>k__BackingField: 800
|
||||||
<WaitTime>k__BackingField: 10
|
<WaitTime>k__BackingField: 10
|
||||||
<HurryTime>k__BackingField: 5
|
<HurryTime>k__BackingField: 5
|
||||||
<EatingTime>k__BackingField: 6
|
<EatingTime>k__BackingField: 6
|
||||||
@ -393,7 +393,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 5
|
<CustomerRespawn>k__BackingField: 5
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 3600
|
<RequiredExp>k__BackingField: 800
|
||||||
<WaitTime>k__BackingField: 10
|
<WaitTime>k__BackingField: 10
|
||||||
<HurryTime>k__BackingField: 5
|
<HurryTime>k__BackingField: 5
|
||||||
<EatingTime>k__BackingField: 6
|
<EatingTime>k__BackingField: 6
|
||||||
@ -404,7 +404,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 5
|
<CustomerRespawn>k__BackingField: 5
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 3700
|
<RequiredExp>k__BackingField: 800
|
||||||
<WaitTime>k__BackingField: 10
|
<WaitTime>k__BackingField: 10
|
||||||
<HurryTime>k__BackingField: 5
|
<HurryTime>k__BackingField: 5
|
||||||
<EatingTime>k__BackingField: 6
|
<EatingTime>k__BackingField: 6
|
||||||
@ -415,7 +415,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 5
|
<CustomerRespawn>k__BackingField: 5
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 3800
|
<RequiredExp>k__BackingField: 900
|
||||||
<WaitTime>k__BackingField: 10
|
<WaitTime>k__BackingField: 10
|
||||||
<HurryTime>k__BackingField: 5
|
<HurryTime>k__BackingField: 5
|
||||||
<EatingTime>k__BackingField: 6
|
<EatingTime>k__BackingField: 6
|
||||||
@ -426,7 +426,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 5
|
<CustomerRespawn>k__BackingField: 5
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 3900
|
<RequiredExp>k__BackingField: 900
|
||||||
<WaitTime>k__BackingField: 10
|
<WaitTime>k__BackingField: 10
|
||||||
<HurryTime>k__BackingField: 5
|
<HurryTime>k__BackingField: 5
|
||||||
<EatingTime>k__BackingField: 6
|
<EatingTime>k__BackingField: 6
|
||||||
@ -437,7 +437,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 5
|
<CustomerRespawn>k__BackingField: 5
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 4000
|
<RequiredExp>k__BackingField: 900
|
||||||
<WaitTime>k__BackingField: 10
|
<WaitTime>k__BackingField: 10
|
||||||
<HurryTime>k__BackingField: 5
|
<HurryTime>k__BackingField: 5
|
||||||
<EatingTime>k__BackingField: 6
|
<EatingTime>k__BackingField: 6
|
||||||
@ -448,7 +448,7 @@ MonoBehaviour:
|
|||||||
<CustomerRespawn>k__BackingField: 5
|
<CustomerRespawn>k__BackingField: 5
|
||||||
<Gold>k__BackingField: 100
|
<Gold>k__BackingField: 100
|
||||||
<Exp>k__BackingField: 100
|
<Exp>k__BackingField: 100
|
||||||
<RequiredExp>k__BackingField: 4100
|
<RequiredExp>k__BackingField: 900
|
||||||
<WaitTime>k__BackingField: 10
|
<WaitTime>k__BackingField: 10
|
||||||
<HurryTime>k__BackingField: 5
|
<HurryTime>k__BackingField: 5
|
||||||
<EatingTime>k__BackingField: 6
|
<EatingTime>k__BackingField: 6
|
||||||
|
@ -13,7 +13,7 @@ MonoBehaviour:
|
|||||||
m_Name: StageData
|
m_Name: StageData
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
<WaitTimeInStarted>k__BackingField: 5
|
<WaitTimeInStarted>k__BackingField: 5
|
||||||
<VomitingPercent>k__BackingField: 100
|
<VomitingPercent>k__BackingField: 10
|
||||||
<VomitingWaitTime>k__BackingField: 30
|
<VomitingWaitTime>k__BackingField: 30
|
||||||
<DirtyTablePercent>k__BackingField: 100
|
<DirtyTablePercent>k__BackingField: 20
|
||||||
<DirtyTableWaitTime>k__BackingField: 30
|
<DirtyTableWaitTime>k__BackingField: 30
|
||||||
|
28
Assets/02.Scripts/StateMachineController.cs
Normal file
28
Assets/02.Scripts/StateMachineController.cs
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
using BlueWater.Interfaces;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace BlueWater
|
||||||
|
{
|
||||||
|
public class StateMachineController<T> where T : MonoBehaviour
|
||||||
|
{
|
||||||
|
private IStateMachine<T> _currentState;
|
||||||
|
|
||||||
|
public StateMachineController(T character, IStateMachine<T> startState)
|
||||||
|
{
|
||||||
|
_currentState = startState;
|
||||||
|
_currentState.EnterState(character);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UpdateState(T character)
|
||||||
|
{
|
||||||
|
_currentState.UpdateState(character);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void TransitionToState(IStateMachine<T> newState, T character)
|
||||||
|
{
|
||||||
|
_currentState.ExitState(character);
|
||||||
|
_currentState = newState;
|
||||||
|
_currentState.EnterState(character);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
2
Assets/02.Scripts/StateMachineController.cs.meta
Normal file
2
Assets/02.Scripts/StateMachineController.cs.meta
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: dd7c16a583bfb8d4b91efffa6a51696d
|
@ -2,6 +2,9 @@ using System.Collections;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using BlueWater.Npcs.Crews;
|
using BlueWater.Npcs.Crews;
|
||||||
|
using BlueWater.Npcs.Crews.Bartender;
|
||||||
|
using BlueWater.Npcs.Crews.Cleaner;
|
||||||
|
using BlueWater.Npcs.Crews.Server;
|
||||||
using BlueWater.Npcs.Customers;
|
using BlueWater.Npcs.Customers;
|
||||||
using BlueWater.Utility;
|
using BlueWater.Utility;
|
||||||
using Sirenix.OdinInspector;
|
using Sirenix.OdinInspector;
|
||||||
@ -135,7 +138,7 @@ namespace BlueWater.Tycoons
|
|||||||
{
|
{
|
||||||
if (orderedCustomer.IsReceivedItem) yield break;
|
if (orderedCustomer.IsReceivedItem) yield break;
|
||||||
|
|
||||||
var orderedCocktailIngredients = orderedCustomer.OrderedCocktailData.GetValidIngredients();
|
var orderedCocktailIngredients = orderedCustomer.OrderedCocktailData.ValidIngredients;
|
||||||
if (!tycoonIngredientController.IsMakingCocktail(orderedCocktailIngredients)) break;
|
if (!tycoonIngredientController.IsMakingCocktail(orderedCocktailIngredients)) break;
|
||||||
|
|
||||||
if (element.MyBartenderTable.CurrentPickupItem != null || element.IsOnMission) continue;
|
if (element.MyBartenderTable.CurrentPickupItem != null || element.IsOnMission) continue;
|
||||||
|
@ -29,6 +29,7 @@ namespace BlueWater.Tycoons
|
|||||||
|
|
||||||
private CustomerTableController _customerTableController;
|
private CustomerTableController _customerTableController;
|
||||||
private Coroutine _findEmptySeatCoroutineInstance;
|
private Coroutine _findEmptySeatCoroutineInstance;
|
||||||
|
private int _instanceCount;
|
||||||
|
|
||||||
private void Start()
|
private void Start()
|
||||||
{
|
{
|
||||||
@ -49,6 +50,8 @@ namespace BlueWater.Tycoons
|
|||||||
var currentLevelData = TycoonManager.Instance.GetCurrentLevelData();
|
var currentLevelData = TycoonManager.Instance.GetCurrentLevelData();
|
||||||
var newCustomer = Instantiate(_customerPrefab, _customerSpawnTransform.position, Quaternion.identity);
|
var newCustomer = Instantiate(_customerPrefab, _customerSpawnTransform.position, Quaternion.identity);
|
||||||
newCustomer.Initialize(currentLevelData, _customerSpawnTransform);
|
newCustomer.Initialize(currentLevelData, _customerSpawnTransform);
|
||||||
|
newCustomer.gameObject.name = $"Customer (Clone) {_instanceCount}";
|
||||||
|
_instanceCount++;
|
||||||
RegisterCustomer(newCustomer);
|
RegisterCustomer(newCustomer);
|
||||||
|
|
||||||
return newCustomer;
|
return newCustomer;
|
||||||
@ -120,9 +123,9 @@ namespace BlueWater.Tycoons
|
|||||||
{
|
{
|
||||||
foreach (var element in InstanceCustomers)
|
foreach (var element in InstanceCustomers)
|
||||||
{
|
{
|
||||||
if (servingTableItem.Idx != element.OrderedCocktailData.Idx) continue;
|
if (!element || element.IsReceivedItem || element.IsMatchedServer) continue;
|
||||||
|
|
||||||
if (element.IsMatchedServer) continue;
|
if (servingTableItem.Idx != element.OrderedCocktailData.Idx) continue;
|
||||||
|
|
||||||
return element;
|
return element;
|
||||||
}
|
}
|
||||||
|
@ -115,7 +115,7 @@ namespace BlueWater
|
|||||||
private bool _isShowingPanel;
|
private bool _isShowingPanel;
|
||||||
private bool _isPouring;
|
private bool _isPouring;
|
||||||
private bool _isCompleted;
|
private bool _isCompleted;
|
||||||
private float _startTime = float.PositiveInfinity;
|
private float _elapsedTime = float.PositiveInfinity;
|
||||||
private int _instanceLiquidCount;
|
private int _instanceLiquidCount;
|
||||||
private float _currentLiquidAmount;
|
private float _currentLiquidAmount;
|
||||||
private float _liquidReachedTime;
|
private float _liquidReachedTime;
|
||||||
@ -182,7 +182,8 @@ namespace BlueWater
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Time.time - _startTime >= _timeInterval)
|
_elapsedTime += Time.deltaTime;
|
||||||
|
if (_elapsedTime >= _timeInterval)
|
||||||
{
|
{
|
||||||
switch (currentBarrel.GetLiquidData().Type)
|
switch (currentBarrel.GetLiquidData().Type)
|
||||||
{
|
{
|
||||||
@ -205,25 +206,9 @@ namespace BlueWater
|
|||||||
}
|
}
|
||||||
|
|
||||||
currentBarrel.Consume(1);
|
currentBarrel.Consume(1);
|
||||||
_startTime = Time.time;
|
_elapsedTime -= _timeInterval;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// if (_instanceLiquidCount <= 0) return;
|
|
||||||
//
|
|
||||||
// var playerPosition = _tycoonPlayer.transform.position;
|
|
||||||
// var playerScreenPosition = TycoonCameraManager.Instance.MainCamera.WorldToScreenPoint(playerPosition);
|
|
||||||
// var panelWorldPosition = _overlayCamera.ScreenToWorldPoint(new Vector3(playerScreenPosition.x,
|
|
||||||
// playerScreenPosition.y, _overlayCamera.nearClipPlane));
|
|
||||||
// panelWorldPosition += _endPositionOffset;
|
|
||||||
//
|
|
||||||
// if (_activeLiquidDatas.Count == 0 && _activeGarnishDatas.Count == 0)
|
|
||||||
// {
|
|
||||||
// _liquidPanel.transform.DOScale(_endScale, _moveDuration).SetEase(Ease.Linear);
|
|
||||||
// _liquidPanel.transform.DOMove(panelWorldPosition, _moveDuration).SetEase(Ease.Linear);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
if (_liquidReachedTime + _colorLerpSpeed >= Time.time)
|
if (_liquidReachedTime + _colorLerpSpeed >= Time.time)
|
||||||
{
|
{
|
||||||
@ -359,7 +344,7 @@ namespace BlueWater
|
|||||||
EventManager.InvokeCocktailStarted();
|
EventManager.InvokeCocktailStarted();
|
||||||
}
|
}
|
||||||
|
|
||||||
_startTime = Time.time;
|
_elapsedTime = 0f;
|
||||||
_isPouring = true;
|
_isPouring = true;
|
||||||
|
|
||||||
// To Center 이동 코루틴이 활성화 중이지 않을 때
|
// To Center 이동 코루틴이 활성화 중이지 않을 때
|
||||||
@ -425,7 +410,7 @@ namespace BlueWater
|
|||||||
// 모든 칵테일 데이터를 순회하면서 조건에 맞는 칵테일 찾기
|
// 모든 칵테일 데이터를 순회하면서 조건에 맞는 칵테일 찾기
|
||||||
foreach (var cocktailData in cocktailDatas.Values)
|
foreach (var cocktailData in cocktailDatas.Values)
|
||||||
{
|
{
|
||||||
var validIngredients = cocktailData.GetValidIngredients();
|
var validIngredients = cocktailData.ValidIngredients;
|
||||||
|
|
||||||
// 조건 1: 재료 개수 동일 체크
|
// 조건 1: 재료 개수 동일 체크
|
||||||
if (validIngredients.Count != currentCocktailIngredients.Count)
|
if (validIngredients.Count != currentCocktailIngredients.Count)
|
||||||
@ -621,6 +606,8 @@ namespace BlueWater
|
|||||||
_liquidPanel.SetActive(false);
|
_liquidPanel.SetActive(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int GetMaxLiquidCount() => _maxLiquidCount;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -66,7 +66,7 @@ namespace BlueWater.Tycoons
|
|||||||
|
|
||||||
foreach (var element in allCocktails.Values)
|
foreach (var element in allCocktails.Values)
|
||||||
{
|
{
|
||||||
var requiredIngredients = element.GetValidIngredients().Select(ingredient => ingredient.Idx).ToList();
|
var requiredIngredients = element.ValidIngredients.Select(ingredient => ingredient.Idx).ToList();
|
||||||
|
|
||||||
// 필요한 재료들이 모두 활성화된 재료 목록에 포함되어 있는지 확인
|
// 필요한 재료들이 모두 활성화된 재료 목록에 포함되어 있는지 확인
|
||||||
if (requiredIngredients.All(activeIngredientsIdx.Contains))
|
if (requiredIngredients.All(activeIngredientsIdx.Contains))
|
||||||
|
@ -138,6 +138,14 @@ namespace BlueWater
|
|||||||
camera.transparencySortAxis = _transparencySortAxis;
|
camera.transparencySortAxis = _transparencySortAxis;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Button("테스트용")]
|
||||||
|
private void Test()
|
||||||
|
{
|
||||||
|
var camera = Camera.main;
|
||||||
|
camera.transparencySortMode = TransparencySortMode.CustomAxis;
|
||||||
|
camera.transparencySortAxis = new Vector3(0, Mathf.Sin(Mathf.Deg2Rad * 40), Mathf.Cos(Mathf.Deg2Rad * 40));
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -170,14 +170,6 @@ PrefabInstance:
|
|||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
value: BartenderTable
|
value: BartenderTable
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 7438534416270888028, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.w
|
|
||||||
value: 0.9659258
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 7438534416270888028, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.x
|
|
||||||
value: 0.2588191
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 7438534416270888028, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3}
|
- target: {fileID: 7438534416270888028, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3}
|
||||||
propertyPath: m_LocalEulerAnglesHint.x
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
value: 30
|
value: 30
|
||||||
|
@ -139,14 +139,6 @@ PrefabInstance:
|
|||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
value: ServingTable
|
value: ServingTable
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 7438534416270888028, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.w
|
|
||||||
value: 0.9659258
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 7438534416270888028, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.x
|
|
||||||
value: 0.2588191
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 7438534416270888028, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3}
|
- target: {fileID: 7438534416270888028, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3}
|
||||||
propertyPath: m_LocalEulerAnglesHint.x
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
value: 30
|
value: 30
|
||||||
@ -256,7 +248,7 @@ MonoBehaviour:
|
|||||||
<InteractionRadius>k__BackingField: 0.7
|
<InteractionRadius>k__BackingField: 0.7
|
||||||
<InteractionMessage>k__BackingField:
|
<InteractionMessage>k__BackingField:
|
||||||
IsOpened: 0
|
IsOpened: 0
|
||||||
_cocktailGlassImage: {fileID: 535721072425912087}
|
CocktailGlassImage: {fileID: 535721072425912087}
|
||||||
--- !u!4 &5927803667513949971 stripped
|
--- !u!4 &5927803667513949971 stripped
|
||||||
Transform:
|
Transform:
|
||||||
m_CorrespondingSourceObject: {fileID: 4011269187381704965, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3}
|
m_CorrespondingSourceObject: {fileID: 4011269187381704965, guid: 3f9f846a7f237924e97c9acf370d991d, type: 3}
|
||||||
|
@ -207,7 +207,7 @@ MonoBehaviour:
|
|||||||
<InteractionCanvas>k__BackingField: {fileID: 0}
|
<InteractionCanvas>k__BackingField: {fileID: 0}
|
||||||
<OutlineMaterial>k__BackingField: {fileID: 2100000, guid: 9db92b3ac1f276e42ae7d7bcfbbca549, type: 2}
|
<OutlineMaterial>k__BackingField: {fileID: 2100000, guid: 9db92b3ac1f276e42ae7d7bcfbbca549, type: 2}
|
||||||
<EnableInteraction>k__BackingField: 1
|
<EnableInteraction>k__BackingField: 1
|
||||||
<InteractionRadius>k__BackingField: 0.3
|
<InteractionRadius>k__BackingField: 0.5
|
||||||
<InteractionMessage>k__BackingField: "\uCE58\uC6B0\uAE30"
|
<InteractionMessage>k__BackingField: "\uCE58\uC6B0\uAE30"
|
||||||
IsOpened: 0
|
IsOpened: 0
|
||||||
_interactionHoldingTime: 3
|
_interactionHoldingTime: 3
|
||||||
|
26
Assets/08.Spines/Uis/Chain/BillgeRope.atlas.txt
Normal file
26
Assets/08.Spines/Uis/Chain/BillgeRope.atlas.txt
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
BillgeRope.png
|
||||||
|
size:1449,720
|
||||||
|
filter:Linear,Linear
|
||||||
|
Gear
|
||||||
|
bounds:1096,368,350,351
|
||||||
|
rotate:90
|
||||||
|
Gear2
|
||||||
|
bounds:744,366,350,352
|
||||||
|
Handle
|
||||||
|
bounds:1202,203,162,163
|
||||||
|
Rope
|
||||||
|
bounds:2,364,740,354
|
||||||
|
Rope2
|
||||||
|
bounds:2,7,728,355
|
||||||
|
SmallGear
|
||||||
|
bounds:1189,7,83,83
|
||||||
|
SmallGear2
|
||||||
|
bounds:1202,92,109,110
|
||||||
|
rotate:90
|
||||||
|
SmallGear3
|
||||||
|
bounds:1366,282,84,81
|
||||||
|
rotate:90
|
||||||
|
SmallRope
|
||||||
|
bounds:744,184,456,180
|
||||||
|
SmallRope2
|
||||||
|
bounds:732,2,455,180
|
7
Assets/08.Spines/Uis/Chain/BillgeRope.atlas.txt.meta
Normal file
7
Assets/08.Spines/Uis/Chain/BillgeRope.atlas.txt.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: e766c251b86f5284289007c365c5711c
|
||||||
|
TextScriptImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
BIN
Assets/08.Spines/Uis/Chain/BillgeRope.png
Normal file
BIN
Assets/08.Spines/Uis/Chain/BillgeRope.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 627 KiB |
143
Assets/08.Spines/Uis/Chain/BillgeRope.png.meta
Normal file
143
Assets/08.Spines/Uis/Chain/BillgeRope.png.meta
Normal file
@ -0,0 +1,143 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 96e54b1b19146ab48a5653fcef2157c1
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 13
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 0
|
||||||
|
enableMipMap: 0
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
flipGreenChannel: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMipmapLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 1
|
||||||
|
aniso: 1
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 0
|
||||||
|
wrapV: 0
|
||||||
|
wrapW: 0
|
||||||
|
nPOTScale: 1
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 0
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 0
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
swizzle: 50462976
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 4
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 1
|
||||||
|
- serializedVersion: 4
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 1
|
||||||
|
- serializedVersion: 4
|
||||||
|
buildTarget: Android
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 1
|
||||||
|
- serializedVersion: 4
|
||||||
|
buildTarget: WindowsStoreApps
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
ignorePlatformSupport: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 1
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
customData:
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID:
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
spriteCustomMetadata:
|
||||||
|
entries: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
mipmapLimitGroupName:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
BIN
Assets/08.Spines/Uis/Chain/BillgeRope.skel.bytes
Normal file
BIN
Assets/08.Spines/Uis/Chain/BillgeRope.skel.bytes
Normal file
Binary file not shown.
7
Assets/08.Spines/Uis/Chain/BillgeRope.skel.bytes.meta
Normal file
7
Assets/08.Spines/Uis/Chain/BillgeRope.skel.bytes.meta
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0db0e54162d09e4418b99615e805310f
|
||||||
|
TextScriptImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
19
Assets/08.Spines/Uis/Chain/BillgeRope_Atlas.asset
Normal file
19
Assets/08.Spines/Uis/Chain/BillgeRope_Atlas.asset
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: a6b194f808b1af6499c93410e504af42, type: 3}
|
||||||
|
m_Name: BillgeRope_Atlas
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
textureLoadingMode: 0
|
||||||
|
onDemandTextureLoader: {fileID: 0}
|
||||||
|
atlasFile: {fileID: 4900000, guid: e766c251b86f5284289007c365c5711c, type: 3}
|
||||||
|
materials:
|
||||||
|
- {fileID: 2100000, guid: b5a894fc9a151b344a9c895424eeb9c3, type: 2}
|
8
Assets/08.Spines/Uis/Chain/BillgeRope_Atlas.asset.meta
Normal file
8
Assets/08.Spines/Uis/Chain/BillgeRope_Atlas.asset.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 9691d92a66d3a314ebe276a89b16a278
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
46
Assets/08.Spines/Uis/Chain/BillgeRope_Material.mat
Normal file
46
Assets/08.Spines/Uis/Chain/BillgeRope_Material.mat
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!21 &2100000
|
||||||
|
Material:
|
||||||
|
serializedVersion: 8
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: BillgeRope_Material
|
||||||
|
m_Shader: {fileID: 4800000, guid: b77e51f117177954ea863bdb422344fb, type: 3}
|
||||||
|
m_Parent: {fileID: 0}
|
||||||
|
m_ModifiedSerializedProperties: 0
|
||||||
|
m_ValidKeywords:
|
||||||
|
- _STRAIGHT_ALPHA_INPUT
|
||||||
|
m_InvalidKeywords: []
|
||||||
|
m_LightmapFlags: 4
|
||||||
|
m_EnableInstancingVariants: 0
|
||||||
|
m_DoubleSidedGI: 0
|
||||||
|
m_CustomRenderQueue: -1
|
||||||
|
stringTagMap: {}
|
||||||
|
disabledShaderPasses: []
|
||||||
|
m_LockedProperties:
|
||||||
|
m_SavedProperties:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TexEnvs:
|
||||||
|
- _MainTex:
|
||||||
|
m_Texture: {fileID: 2800000, guid: 96e54b1b19146ab48a5653fcef2157c1, type: 3}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
m_Ints: []
|
||||||
|
m_Floats:
|
||||||
|
- _Cutoff: 0.1
|
||||||
|
- _DoubleSidedLighting: 0
|
||||||
|
- _LightAffectsAdditive: 0
|
||||||
|
- _ReceiveShadows: 0
|
||||||
|
- _StencilComp: 8
|
||||||
|
- _StencilRef: 1
|
||||||
|
- _StraightAlphaInput: 1
|
||||||
|
- _TintBlack: 0
|
||||||
|
- _ZWrite: 0
|
||||||
|
m_Colors:
|
||||||
|
- _Black: {r: 0, g: 0, b: 0, a: 0}
|
||||||
|
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_BuildTextureStacks: []
|
||||||
|
m_AllowLocking: 1
|
8
Assets/08.Spines/Uis/Chain/BillgeRope_Material.mat.meta
Normal file
8
Assets/08.Spines/Uis/Chain/BillgeRope_Material.mat.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b5a894fc9a151b344a9c895424eeb9c3
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 2100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user