diff --git a/popcorn/Assets/MyGame/Scenes/Cooking/Prefabs/Pan.prefab b/popcorn/Assets/MyGame/Scenes/Cooking/Prefabs/Pan.prefab index b654bfcd..506e6493 100644 --- a/popcorn/Assets/MyGame/Scenes/Cooking/Prefabs/Pan.prefab +++ b/popcorn/Assets/MyGame/Scenes/Cooking/Prefabs/Pan.prefab @@ -9741,6 +9741,170 @@ ParticleSystemRenderer: m_Mesh2: {fileID: 0} m_Mesh3: {fileID: 0} m_MaskInteraction: 0 +--- !u!1 &2172530787014104870 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3756107145556210927} + - component: {fileID: 8695774672704424618} + m_Layer: 0 + m_Name: PanEdge Top Finish + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3756107145556210927 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2172530787014104870} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.38, y: -0.03, z: 0} + m_LocalScale: {x: 102.03828, y: 110.093575, z: 85.63402} + m_Children: [] + m_Father: {fileID: 3218397595738205000} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!68 &8695774672704424618 +EdgeCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2172530787014104870} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 6200000, guid: 440db2e8ae6ea41b792d56600b0532f3, type: 2} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_EdgeRadius: 2.61 + m_Points: + - {x: -0.06249666, y: 0.008998046} + - {x: -0.0523351, y: 0.028039727} + - {x: -0.041206434, y: 0.03511869} + - {x: -0.015046993, y: 0.05204403} + - {x: 0.017697936, y: 0.05248006} + - {x: 0.036029074, y: 0.044425998} + - {x: 0.058061335, y: 0.025281195} + - {x: 0.06824917, y: 0.0029303213} +--- !u!1 &2772421931217617868 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7252290375963454523} + - component: {fileID: 6422771557208889528} + m_Layer: 0 + m_Name: PanEdge Top Will Finish + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7252290375963454523 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2772421931217617868} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.38, y: -0.03, z: 0} + m_LocalScale: {x: 102.03828, y: 110.093575, z: 85.63402} + m_Children: [] + m_Father: {fileID: 3218397595738205000} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!68 &6422771557208889528 +EdgeCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2772421931217617868} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 6200000, guid: 440db2e8ae6ea41b792d56600b0532f3, type: 2} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_EdgeRadius: 2.61 + m_Points: + - {x: -0.06249666, y: 0.008998046} + - {x: -0.051591836, y: 0.025973067} + - {x: -0.027804706, y: 0.042549714} + - {x: 0.0025015222, y: 0.04699563} + - {x: 0.038333848, y: 0.04032514} + - {x: 0.058061335, y: 0.025281195} + - {x: 0.06824917, y: 0.0029303213} +--- !u!1 &5939863161591235221 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4694130269973048913} + - component: {fileID: 71968105059914684} + m_Layer: 0 + m_Name: PanEdge Bottom + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4694130269973048913 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5939863161591235221} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.38, y: -0.78, z: 0} + m_LocalScale: {x: 102.03828, y: 110.093575, z: 85.63402} + m_Children: [] + m_Father: {fileID: 3218397595738205000} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!68 &71968105059914684 +EdgeCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5939863161591235221} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 6200000, guid: 440db2e8ae6ea41b792d56600b0532f3, type: 2} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_EdgeRadius: 2.61 + m_Points: + - {x: 0.07831237, y: 0.0019857544} + - {x: 0.0508193, y: -0.020667206} + - {x: 0.035089638, y: -0.028409138} + - {x: 0.012053529, y: -0.034262266} + - {x: -0.017523682, y: -0.031982258} + - {x: -0.04153408, y: -0.023042984} + - {x: -0.060010493, y: -0.009420026} + - {x: -0.06249666, y: 0.008998046} --- !u!1 &6031284905392100201 GameObject: m_ObjectHideFlags: 0 @@ -9750,6 +9914,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 3218397595738205000} + - component: {fileID: 6144151140781756319} m_Layer: 0 m_Name: PanCollider m_TagString: Untagged @@ -9771,9 +9936,84 @@ Transform: - {fileID: 1453251557352552632} - {fileID: 746482762447314123} - {fileID: 1453251556405238013} + - {fileID: 2437908282195913342} + - {fileID: 7252290375963454523} + - {fileID: 3756107145556210927} + - {fileID: 4694130269973048913} m_Father: {fileID: 1453251556377932393} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &6144151140781756319 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6031284905392100201} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0921292620c649ef8f75f013ff51c349, type: 3} + m_Name: + m_EditorClassIdentifier: + topCollider: {fileID: 5108982195909872126} + topWillFinishCollider: {fileID: 6422771557208889528} + topFinishCollider: {fileID: 8695774672704424618} + willFinishValue: 0.6 + finishValue: 0.8 +--- !u!1 &6648197844505394857 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2437908282195913342} + - component: {fileID: 5108982195909872126} + m_Layer: 0 + m_Name: PanEdge Top + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2437908282195913342 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6648197844505394857} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.38, y: -0.78, z: 0} + m_LocalScale: {x: 102.03828, y: 110.093575, z: 85.63402} + m_Children: [] + m_Father: {fileID: 3218397595738205000} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!68 &5108982195909872126 +EdgeCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6648197844505394857} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 6200000, guid: 440db2e8ae6ea41b792d56600b0532f3, type: 2} + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_EdgeRadius: 2.61 + m_Points: + - {x: -0.06249666, y: 0.008998046} + - {x: -0.051591836, y: 0.025973067} + - {x: -0.027804706, y: 0.042549714} + - {x: 0.0025015222, y: 0.04699563} + - {x: 0.038333848, y: 0.04032514} + - {x: 0.058061335, y: 0.025281195} + - {x: 0.06824917, y: 0.0029303213} --- !u!1 &7627312333739799308 GameObject: m_ObjectHideFlags: 0 @@ -9821,7 +10061,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!4 &746482762447314123 Transform: m_ObjectHideFlags: 0 diff --git a/popcorn/Assets/MyGame/Scenes/Cooking/Scripts/PanColliderChanger.cs b/popcorn/Assets/MyGame/Scenes/Cooking/Scripts/PanColliderChanger.cs new file mode 100644 index 00000000..b2d52abd --- /dev/null +++ b/popcorn/Assets/MyGame/Scenes/Cooking/Scripts/PanColliderChanger.cs @@ -0,0 +1,84 @@ +using System; +using UniRx; +using UnityEngine; + +namespace MyGame.Scenes.Cooking.Scripts +{ + public enum PanChangerState + { + Init, + WillFinish, + Finish + } + public class PanColliderChanger : MonoBehaviour + { + [SerializeField] private Collider2D topCollider; + [SerializeField] private Collider2D topWillFinishCollider; + [SerializeField] private Collider2D topFinishCollider; + [SerializeField, Range(0f, 1f)] private float willFinishValue = 1f; + [SerializeField, Range(0f, 1f)] private float finishValue = 1f; + private ReactiveProperty panChangerState = new ReactiveProperty(); + + private void Start() + { + panChangerState.AddTo(this); + panChangerState.Value = PanChangerState.Init; + panChangerState.Subscribe(x => + { + switch (x) + { + case PanChangerState.Init: + Init(); + break; + case PanChangerState.WillFinish: + WillFinish(); + break; + case PanChangerState.Finish: + Finish(); + break; + default: + throw new ArgumentOutOfRangeException(nameof(x), x, null); + } + }).AddTo(this); + } + + public void Reset() + { + panChangerState.Value = PanChangerState.Init; + } + + public void ChangeState(float value) + { + if (value >= finishValue) + { + panChangerState.Value = PanChangerState.Finish; + } + else if (value >= willFinishValue) + { + panChangerState.Value = PanChangerState.WillFinish; + } + + } + + private void Init() + { + topCollider.enabled = true; + topWillFinishCollider.enabled = false; + topFinishCollider.enabled = false; + } + + private void WillFinish() + { + topCollider.enabled = false; + topWillFinishCollider.enabled = true; + topFinishCollider.enabled = false; + } + + private void Finish() + { + topCollider.enabled = false; + topWillFinishCollider.enabled = false; + topFinishCollider.enabled = true; + } + } +} \ No newline at end of file diff --git a/popcorn/Assets/MyGame/Scenes/Cooking/Scripts/PanColliderChanger.cs.meta b/popcorn/Assets/MyGame/Scenes/Cooking/Scripts/PanColliderChanger.cs.meta new file mode 100644 index 00000000..0f09ad00 --- /dev/null +++ b/popcorn/Assets/MyGame/Scenes/Cooking/Scripts/PanColliderChanger.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 0921292620c649ef8f75f013ff51c349 +timeCreated: 1650607663 \ No newline at end of file