From e55f6fc92b727129bfeb63edd2cd14576cc58bb0 Mon Sep 17 00:00:00 2001 From: Pasha Bibko <156938226+PashaBibko@users.noreply.github.com> Date: Tue, 25 Nov 2025 09:46:43 +0000 Subject: [PATCH] Made player launch to center on death --- Assets/Scenes/SampleScene.unity | 4 ++-- Assets/Scripts/PlayerController.cs | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index ad1e9bd..0c751f7 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -243,7 +243,7 @@ Rigidbody2D: m_Mass: 1 m_LinearDrag: 0 m_AngularDrag: 0.05 - m_GravityScale: 1 + m_GravityScale: 0 m_Material: {fileID: 0} m_IncludeLayers: serializedVersion: 2 @@ -251,7 +251,7 @@ Rigidbody2D: m_ExcludeLayers: serializedVersion: 2 m_Bits: 0 - m_Interpolate: 0 + m_Interpolate: 1 m_SleepingMode: 1 m_CollisionDetection: 0 m_Constraints: 0 diff --git a/Assets/Scripts/PlayerController.cs b/Assets/Scripts/PlayerController.cs index fd93b49..ae90bd2 100644 --- a/Assets/Scripts/PlayerController.cs +++ b/Assets/Scripts/PlayerController.cs @@ -15,7 +15,7 @@ public class PlayerController : OrbitalPositionBehaviour GlobalOrbitalPositionManager.SetPlayer(m_OrbitalPosition); m_OrbitalPosition.m_ObjectRadius = 0.4f; - m_OrbitalPosition.m_SpinSpeed = 0.1f; + m_OrbitalPosition.m_SpinSpeed = 0.2f; } public void Update() @@ -24,14 +24,24 @@ public class PlayerController : OrbitalPositionBehaviour { m_OrbitalPosition.m_AttachedRing += 1; } + + if (Input.GetKeyDown(KeyCode.R)) + { + OnCollision(null); // Fake collision + } } public override void OnCollision(OrbitalPositionBehaviour other) { GlobalOrbitalPositionManager.RestartSimulation(); + if (!m_OrbitalPosition.m_IsAttachedToRings) + return; + m_OrbitalPosition.m_IsAttachedToRings = false; - m_Body.AddForce(Vector2.up * 6, ForceMode2D.Impulse); + Vector3 direction = (-transform.position).normalized; + m_Body.AddForce(direction * 5f, ForceMode2D.Impulse); + } public override void OnReachCentre()