diff --git a/Game/Assets/Prefabs/ObstaclePreFabs/Leaves_1.prefab b/Game/Assets/Prefabs/ObstaclePreFabs/Leaves_1.prefab index f3a91d5..d76262e 100644 --- a/Game/Assets/Prefabs/ObstaclePreFabs/Leaves_1.prefab +++ b/Game/Assets/Prefabs/ObstaclePreFabs/Leaves_1.prefab @@ -11,9 +11,10 @@ GameObject: - component: {fileID: 833263204665589715} - component: {fileID: 582920247277609636} - component: {fileID: 6235131083360722891} + - component: {fileID: 2602010359428409659} m_Layer: 0 m_Name: Leaves_1 - m_TagString: Untagged + m_TagString: Platform m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -123,7 +124,7 @@ BoxCollider2D: serializedVersion: 2 m_Bits: 4294967295 m_IsTrigger: 0 - m_UsedByEffector: 0 + m_UsedByEffector: 1 m_CompositeOperation: 0 m_CompositeOrder: 0 m_Offset: {x: -0.6286421, y: 0.9940944} @@ -138,3 +139,22 @@ BoxCollider2D: m_AutoTiling: 0 m_Size: {x: 5.295536, y: 2.0656996} m_EdgeRadius: 0 +--- !u!251 &2602010359428409659 +PlatformEffector2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3205537500000339291} + m_Enabled: 1 + m_UseColliderMask: 1 + m_ColliderMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RotationalOffset: 0 + m_UseOneWay: 1 + m_UseOneWayGrouping: 0 + m_SurfaceArc: 180 + m_UseSideFriction: 0 + m_UseSideBounce: 0 + m_SideArc: 1 diff --git a/Game/Assets/Prefabs/ObstaclePreFabs/Leaves_3.prefab b/Game/Assets/Prefabs/ObstaclePreFabs/Leaves_3.prefab index ed6eecf..fef82ae 100644 --- a/Game/Assets/Prefabs/ObstaclePreFabs/Leaves_3.prefab +++ b/Game/Assets/Prefabs/ObstaclePreFabs/Leaves_3.prefab @@ -13,9 +13,10 @@ GameObject: - component: {fileID: 8152925854142091002} - component: {fileID: 2274135278997794241} - component: {fileID: 1923657810568507940} + - component: {fileID: -269556102554916535} m_Layer: 0 m_Name: Leaves_3 - m_TagString: Untagged + m_TagString: Platform m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -125,7 +126,7 @@ BoxCollider2D: serializedVersion: 2 m_Bits: 4294967295 m_IsTrigger: 0 - m_UsedByEffector: 0 + m_UsedByEffector: 1 m_CompositeOperation: 0 m_CompositeOrder: 0 m_Offset: {x: 2.5341895, y: 2.7081985} @@ -232,3 +233,22 @@ BoxCollider2D: m_AutoTiling: 0 m_Size: {x: 3.0952854, y: 0.557008} m_EdgeRadius: 0 +--- !u!251 &-269556102554916535 +PlatformEffector2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 544218827178654494} + m_Enabled: 1 + m_UseColliderMask: 1 + m_ColliderMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RotationalOffset: 0 + m_UseOneWay: 1 + m_UseOneWayGrouping: 0 + m_SurfaceArc: 180 + m_UseSideFriction: 0 + m_UseSideBounce: 0 + m_SideArc: 1 diff --git a/Game/Assets/Prefabs/ObstaclePreFabs/Leaves_7.prefab b/Game/Assets/Prefabs/ObstaclePreFabs/Leaves_7.prefab index 6f88f8c..2dcfa2c 100644 --- a/Game/Assets/Prefabs/ObstaclePreFabs/Leaves_7.prefab +++ b/Game/Assets/Prefabs/ObstaclePreFabs/Leaves_7.prefab @@ -11,9 +11,10 @@ GameObject: - component: {fileID: 1462546084721637470} - component: {fileID: 8319023647915240837} - component: {fileID: 8086476736474121134} + - component: {fileID: 6901454004669073730} m_Layer: 0 m_Name: Leaves_7 - m_TagString: Untagged + m_TagString: Platform m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 @@ -123,7 +124,7 @@ BoxCollider2D: serializedVersion: 2 m_Bits: 4294967295 m_IsTrigger: 0 - m_UsedByEffector: 0 + m_UsedByEffector: 1 m_CompositeOperation: 0 m_CompositeOrder: 0 m_Offset: {x: 0.31060886, y: 1.8824592} @@ -138,3 +139,22 @@ BoxCollider2D: m_AutoTiling: 0 m_Size: {x: 4.647211, y: 1.5164294} m_EdgeRadius: 0 +--- !u!251 &6901454004669073730 +PlatformEffector2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6835703697940730854} + m_Enabled: 1 + m_UseColliderMask: 1 + m_ColliderMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RotationalOffset: 0 + m_UseOneWay: 1 + m_UseOneWayGrouping: 0 + m_SurfaceArc: 180 + m_UseSideFriction: 0 + m_UseSideBounce: 0 + m_SideArc: 1 diff --git a/Game/Assets/Prefabs/ObstaclePreFabs/RealBranch 1.prefab b/Game/Assets/Prefabs/ObstaclePreFabs/RealBranch 1.prefab index 36b52dd..1612496 100644 --- a/Game/Assets/Prefabs/ObstaclePreFabs/RealBranch 1.prefab +++ b/Game/Assets/Prefabs/ObstaclePreFabs/RealBranch 1.prefab @@ -124,7 +124,7 @@ BoxCollider2D: serializedVersion: 2 m_Bits: 4294967295 m_IsTrigger: 0 - m_UsedByEffector: 0 + m_UsedByEffector: 1 m_CompositeOperation: 0 m_CompositeOrder: 0 m_Offset: {x: 0, y: -0.61813337} diff --git a/Game/Assets/Prefabs/ObstaclePreFabs/RealBranch.prefab b/Game/Assets/Prefabs/ObstaclePreFabs/RealBranch.prefab index 53c710f..77d19e6 100644 --- a/Game/Assets/Prefabs/ObstaclePreFabs/RealBranch.prefab +++ b/Game/Assets/Prefabs/ObstaclePreFabs/RealBranch.prefab @@ -124,7 +124,7 @@ BoxCollider2D: serializedVersion: 2 m_Bits: 4294967295 m_IsTrigger: 0 - m_UsedByEffector: 0 + m_UsedByEffector: 1 m_CompositeOperation: 0 m_CompositeOrder: 0 m_Offset: {x: 0, y: -0.61813337} diff --git a/Game/Assets/Scenes/0_MainScene.unity b/Game/Assets/Scenes/0_MainScene.unity index 97544fe..301eb07 100644 --- a/Game/Assets/Scenes/0_MainScene.unity +++ b/Game/Assets/Scenes/0_MainScene.unity @@ -150,21 +150,26 @@ Transform: m_Children: [] m_Father: {fileID: 526821486} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &153222217 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 833263204665589715, guid: 0df5ee43ace2acc4f90f9681570465d1, type: 3} + m_PrefabInstance: {fileID: 456116103} + m_PrefabAsset: {fileID: 0} --- !u!1001 &154636170 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: serializedVersion: 3 - m_TransformParent: {fileID: 0} + m_TransformParent: {fileID: 1480429064} m_Modifications: - target: {fileID: 1462546084721637470, guid: dc0c575aad050644396810f6a909e144, type: 3} propertyPath: m_LocalPosition.x - value: 6.027552 + value: 3.7465823 objectReference: {fileID: 0} - target: {fileID: 1462546084721637470, guid: dc0c575aad050644396810f6a909e144, type: 3} propertyPath: m_LocalPosition.y - value: -2.3143702 + value: -7.15271 objectReference: {fileID: 0} - target: {fileID: 1462546084721637470, guid: dc0c575aad050644396810f6a909e144, type: 3} propertyPath: m_LocalPosition.z @@ -176,15 +181,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 1462546084721637470, guid: dc0c575aad050644396810f6a909e144, type: 3} propertyPath: m_LocalRotation.x - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 1462546084721637470, guid: dc0c575aad050644396810f6a909e144, type: 3} propertyPath: m_LocalRotation.y - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 1462546084721637470, guid: dc0c575aad050644396810f6a909e144, type: 3} propertyPath: m_LocalRotation.z - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 1462546084721637470, guid: dc0c575aad050644396810f6a909e144, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -202,6 +207,14 @@ PrefabInstance: propertyPath: m_Name value: Leaves_7 objectReference: {fileID: 0} + - target: {fileID: 8086476736474121134, guid: dc0c575aad050644396810f6a909e144, type: 3} + propertyPath: m_Size.y + value: 0.9449017 + objectReference: {fileID: 0} + - target: {fileID: 8086476736474121134, guid: dc0c575aad050644396810f6a909e144, type: 3} + propertyPath: m_Offset.y + value: 1.882459 + objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] @@ -337,15 +350,15 @@ PrefabInstance: serializedVersion: 2 m_Modification: serializedVersion: 3 - m_TransformParent: {fileID: 0} + m_TransformParent: {fileID: 1480429064} m_Modifications: - target: {fileID: 833263204665589715, guid: 0df5ee43ace2acc4f90f9681570465d1, type: 3} propertyPath: m_LocalPosition.x - value: -3.36 + value: -5.64097 objectReference: {fileID: 0} - target: {fileID: 833263204665589715, guid: 0df5ee43ace2acc4f90f9681570465d1, type: 3} propertyPath: m_LocalPosition.y - value: 7.74 + value: 2.90166 objectReference: {fileID: 0} - target: {fileID: 833263204665589715, guid: 0df5ee43ace2acc4f90f9681570465d1, type: 3} propertyPath: m_LocalPosition.z @@ -357,15 +370,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 833263204665589715, guid: 0df5ee43ace2acc4f90f9681570465d1, type: 3} propertyPath: m_LocalRotation.x - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 833263204665589715, guid: 0df5ee43ace2acc4f90f9681570465d1, type: 3} propertyPath: m_LocalRotation.y - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 833263204665589715, guid: 0df5ee43ace2acc4f90f9681570465d1, type: 3} propertyPath: m_LocalRotation.z - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 833263204665589715, guid: 0df5ee43ace2acc4f90f9681570465d1, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -383,6 +396,18 @@ PrefabInstance: propertyPath: m_Name value: Leaves_1 objectReference: {fileID: 0} + - target: {fileID: 6235131083360722891, guid: 0df5ee43ace2acc4f90f9681570465d1, type: 3} + propertyPath: m_Size.y + value: 0.9071696 + objectReference: {fileID: 0} + - target: {fileID: 6235131083360722891, guid: 0df5ee43ace2acc4f90f9681570465d1, type: 3} + propertyPath: m_Offset.y + value: 1.5733594 + objectReference: {fileID: 0} + - target: {fileID: 6235131083360722891, guid: 0df5ee43ace2acc4f90f9681570465d1, type: 3} + propertyPath: m_UsedByEffector + value: 1 + objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] @@ -622,11 +647,6 @@ MonoBehaviour: health: 0 minSize: 0.4 maxFallingTime: 2 ---- !u!4 &667932119 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 9198730630941053147, guid: 09646d5b25a07904aa2ddf7399b3b075, type: 3} - m_PrefabInstance: {fileID: 2057699300} - m_PrefabAsset: {fileID: 0} --- !u!1 &750131489 GameObject: m_ObjectHideFlags: 0 @@ -840,14 +860,19 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1006275183} serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 4.21, y: 5.1, z: 0} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.9290302, y: 0.2616601, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1194303349371580766} - m_Father: {fileID: 0} + m_Father: {fileID: 1480429064} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &1105416512 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 1462546084721637470, guid: dc0c575aad050644396810f6a909e144, type: 3} + m_PrefabInstance: {fileID: 154636170} + m_PrefabAsset: {fileID: 0} --- !u!4 &1179986625 stripped Transform: m_CorrespondingSourceObject: {fileID: 833263204665589715, guid: 0df5ee43ace2acc4f90f9681570465d1, type: 3} @@ -1035,7 +1060,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!4 &1480429064 Transform: m_ObjectHideFlags: 0 @@ -1054,9 +1079,11 @@ Transform: - {fileID: 314874717} - {fileID: 806330341} - {fileID: 1773649485} - - {fileID: 667932119} - {fileID: 1194651306} - {fileID: 1437067316} + - {fileID: 1105416512} + - {fileID: 153222217} + - {fileID: 1006275184} m_Father: {fileID: 526821486} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1626398478 @@ -1434,6 +1461,14 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 4831698672923518148, guid: 896b889c2d3f2ea4bad01f22809f7c4e, type: 3} + propertyPath: m_Size.y + value: 1.3899382 + objectReference: {fileID: 0} + - target: {fileID: 4831698672923518148, guid: 896b889c2d3f2ea4bad01f22809f7c4e, type: 3} + propertyPath: m_Offset.y + value: -0.54580206 + objectReference: {fileID: 0} m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] @@ -1558,72 +1593,63 @@ Transform: m_Children: [] m_Father: {fileID: 526821486} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &2057699300 +--- !u!1001 &2132231508 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: serializedVersion: 3 - m_TransformParent: {fileID: 1480429064} + m_TransformParent: {fileID: 0} m_Modifications: - - target: {fileID: 506203120349568739, guid: 09646d5b25a07904aa2ddf7399b3b075, type: 3} - propertyPath: m_LocalPosition.x - value: 0.4 - objectReference: {fileID: 0} - - target: {fileID: 506203120349568739, guid: 09646d5b25a07904aa2ddf7399b3b075, type: 3} - propertyPath: m_LocalPosition.y - value: -0.93 - objectReference: {fileID: 0} - - target: {fileID: 7890225293042883908, guid: 09646d5b25a07904aa2ddf7399b3b075, type: 3} + - target: {fileID: 3724115605263402928, guid: 5bb8206709807ff4cae9583b3ee3e67d, type: 3} propertyPath: m_Name - value: LeaveObstacle (1) + value: MiniDroplet objectReference: {fileID: 0} - - target: {fileID: 9198730630941053147, guid: 09646d5b25a07904aa2ddf7399b3b075, type: 3} + - target: {fileID: 7100472280186483774, guid: 5bb8206709807ff4cae9583b3ee3e67d, type: 3} propertyPath: m_LocalPosition.x - value: 0.55 + value: 0.33395657 objectReference: {fileID: 0} - - target: {fileID: 9198730630941053147, guid: 09646d5b25a07904aa2ddf7399b3b075, type: 3} + - target: {fileID: 7100472280186483774, guid: 5bb8206709807ff4cae9583b3ee3e67d, type: 3} propertyPath: m_LocalPosition.y - value: -6.782097 + value: 8.79534 objectReference: {fileID: 0} - - target: {fileID: 9198730630941053147, guid: 09646d5b25a07904aa2ddf7399b3b075, type: 3} + - target: {fileID: 7100472280186483774, guid: 5bb8206709807ff4cae9583b3ee3e67d, type: 3} propertyPath: m_LocalPosition.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 9198730630941053147, guid: 09646d5b25a07904aa2ddf7399b3b075, type: 3} + - target: {fileID: 7100472280186483774, guid: 5bb8206709807ff4cae9583b3ee3e67d, type: 3} propertyPath: m_LocalRotation.w value: 1 objectReference: {fileID: 0} - - target: {fileID: 9198730630941053147, guid: 09646d5b25a07904aa2ddf7399b3b075, type: 3} + - target: {fileID: 7100472280186483774, guid: 5bb8206709807ff4cae9583b3ee3e67d, type: 3} propertyPath: m_LocalRotation.x - value: -0 + value: 0 objectReference: {fileID: 0} - - target: {fileID: 9198730630941053147, guid: 09646d5b25a07904aa2ddf7399b3b075, type: 3} + - target: {fileID: 7100472280186483774, guid: 5bb8206709807ff4cae9583b3ee3e67d, type: 3} propertyPath: m_LocalRotation.y - value: -0 + value: 0 objectReference: {fileID: 0} - - target: {fileID: 9198730630941053147, guid: 09646d5b25a07904aa2ddf7399b3b075, type: 3} + - target: {fileID: 7100472280186483774, guid: 5bb8206709807ff4cae9583b3ee3e67d, type: 3} propertyPath: m_LocalRotation.z - value: -0 + value: 0 objectReference: {fileID: 0} - - target: {fileID: 9198730630941053147, guid: 09646d5b25a07904aa2ddf7399b3b075, type: 3} + - target: {fileID: 7100472280186483774, guid: 5bb8206709807ff4cae9583b3ee3e67d, type: 3} propertyPath: m_LocalEulerAnglesHint.x value: 0 objectReference: {fileID: 0} - - target: {fileID: 9198730630941053147, guid: 09646d5b25a07904aa2ddf7399b3b075, type: 3} + - target: {fileID: 7100472280186483774, guid: 5bb8206709807ff4cae9583b3ee3e67d, type: 3} propertyPath: m_LocalEulerAnglesHint.y value: 0 objectReference: {fileID: 0} - - target: {fileID: 9198730630941053147, guid: 09646d5b25a07904aa2ddf7399b3b075, type: 3} + - target: {fileID: 7100472280186483774, guid: 5bb8206709807ff4cae9583b3ee3e67d, type: 3} propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} m_RemovedComponents: [] - m_RemovedGameObjects: - - {fileID: 2987651900235802105, guid: 09646d5b25a07904aa2ddf7399b3b075, type: 3} + m_RemovedGameObjects: [] m_AddedGameObjects: [] m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 09646d5b25a07904aa2ddf7399b3b075, type: 3} + m_SourcePrefab: {fileID: 100100000, guid: 5bb8206709807ff4cae9583b3ee3e67d, type: 3} --- !u!1001 &1194303349371580765 PrefabInstance: m_ObjectHideFlags: 0 @@ -1694,6 +1720,4 @@ SceneRoots: - {fileID: 1681788161} - {fileID: 1445156949} - {fileID: 750131492} - - {fileID: 1006275184} - - {fileID: 154636170} - - {fileID: 456116103} + - {fileID: 2132231508} diff --git a/Game/Assets/Scripts/DropletMovement.cs b/Game/Assets/Scripts/DropletMovement.cs index 43c4356..0bb898a 100644 --- a/Game/Assets/Scripts/DropletMovement.cs +++ b/Game/Assets/Scripts/DropletMovement.cs @@ -33,20 +33,23 @@ public class DropletMovement : MonoBehaviour void Start() { rb = GetComponent(); + characterCollider = GetComponent(); } [System.Obsolete] void Update() { - - //dashing - if (isDashing || isGrounded == false) + if (isDashing || isDropping) { return; } + + //dashing movement.x = Input.GetAxisRaw("Horizontal"); if (movement.x < 0) facingDirection = -1; if (movement.x > 0) facingDirection = 1; + + //Jumping if (isGrounded && (Input.GetKeyDown(KeyCode.Space) || Input.GetKeyDown(KeyCode.UpArrow) || @@ -55,6 +58,8 @@ public class DropletMovement : MonoBehaviour { rb.linearVelocity = new Vector2(rb.linearVelocity.x, jumpingPower); } + + //Jump animation if (rb.linearVelocityY > 1) { animator.SetBool("Jumping", true); @@ -62,6 +67,8 @@ public class DropletMovement : MonoBehaviour { animator.SetBool("Jumping", false); } + + //Walk animation if (movement.x > 0) { animator.SetBool("WalkingRight", true); animator.SetBool("WalkingLeft", false); @@ -74,14 +81,15 @@ public class DropletMovement : MonoBehaviour animator.SetBool("WalkingRight", false); animator.SetBool("WalkingLeft", false); } + + //Dashing if (Input.GetKeyDown(KeyCode.LeftShift) && canDash) { StartCoroutine(Dash()); } //dropdown - if (!isGrounded){return;} - if (Input.GetKeyDown(KeyCode.DownArrow) || Input.GetKeyDown(KeyCode.S)) + if (isGrounded && (Input.GetKeyDown(KeyCode.DownArrow) || Input.GetKeyDown(KeyCode.S))) { DropDown(); } @@ -106,7 +114,6 @@ public class DropletMovement : MonoBehaviour private void OnTriggerEnter2D(Collider2D other) { - //Hole if (other.CompareTag("Hole")) { @@ -149,13 +156,31 @@ public class DropletMovement : MonoBehaviour private void OnCollisionEnter2D(Collision2D col) { - if (col.collider.CompareTag("Platform") && rb.linearVelocity.y == 0) + /*if (col.collider.CompareTag("Platform")) { isGrounded = true; } else { isGrounded = false; + }*/ + + CheckGrounded(col); + } + + private void CheckGrounded(Collision2D col) + { + if (col.collider.CompareTag("Platform")) + { + // Verify the character is actually standing on top of the platform + for (int i = 0; i < col.contactCount; i++) + { + if (col.GetContact(i).normal.y >= 0.5f) + { + isGrounded = true; + return; + } + } } } @@ -181,36 +206,33 @@ public class DropletMovement : MonoBehaviour animator.SetBool("WalkingLeft", false); StartCoroutine(DropRoutine()); } - } private IEnumerator DropRoutine() { - Collider2D playerCollider = GetComponent(); - rb = GetComponent(); - rb.linearVelocityX = 0; - - playerCollider.isTrigger = true; + isDropping = true; // Lock out other actions immediately + rb.linearVelocityX = 0; // Strip horizontal momentum + + characterCollider.isTrigger = true; float duration = 1f; - float elapsed = 0f; //measure time + float elapsed = 0f; // measure time - //move down the height of the collider - float dropDistance = playerCollider.bounds.size.y; + // move down the height of the collider + float dropDistance = characterCollider.bounds.size.y; float speed = dropDistance / duration; while (elapsed < duration) { - isDropping = true; rb.gravityScale = 0; transform.Translate(Vector3.down * speed * Time.deltaTime); - elapsed += Time.deltaTime; //update time + elapsed += Time.deltaTime; // update time yield return null; } - //enable collider --> not a trigger anymore + // enable collider --> not a trigger anymore rb.gravityScale = 1; - playerCollider.isTrigger = false; + characterCollider.isTrigger = false; isDropping = false; isGrounded = false; animator.SetBool("Dropping", false);