Made player launch to center on death

This commit is contained in:
Pasha Bibko
2025-11-25 09:46:43 +00:00
parent 80c625ffc8
commit e55f6fc92b
2 changed files with 14 additions and 4 deletions

View File

@@ -243,7 +243,7 @@ Rigidbody2D:
m_Mass: 1 m_Mass: 1
m_LinearDrag: 0 m_LinearDrag: 0
m_AngularDrag: 0.05 m_AngularDrag: 0.05
m_GravityScale: 1 m_GravityScale: 0
m_Material: {fileID: 0} m_Material: {fileID: 0}
m_IncludeLayers: m_IncludeLayers:
serializedVersion: 2 serializedVersion: 2
@@ -251,7 +251,7 @@ Rigidbody2D:
m_ExcludeLayers: m_ExcludeLayers:
serializedVersion: 2 serializedVersion: 2
m_Bits: 0 m_Bits: 0
m_Interpolate: 0 m_Interpolate: 1
m_SleepingMode: 1 m_SleepingMode: 1
m_CollisionDetection: 0 m_CollisionDetection: 0
m_Constraints: 0 m_Constraints: 0

View File

@@ -15,7 +15,7 @@ public class PlayerController : OrbitalPositionBehaviour
GlobalOrbitalPositionManager.SetPlayer(m_OrbitalPosition); GlobalOrbitalPositionManager.SetPlayer(m_OrbitalPosition);
m_OrbitalPosition.m_ObjectRadius = 0.4f; m_OrbitalPosition.m_ObjectRadius = 0.4f;
m_OrbitalPosition.m_SpinSpeed = 0.1f; m_OrbitalPosition.m_SpinSpeed = 0.2f;
} }
public void Update() public void Update()
@@ -24,14 +24,24 @@ public class PlayerController : OrbitalPositionBehaviour
{ {
m_OrbitalPosition.m_AttachedRing += 1; m_OrbitalPosition.m_AttachedRing += 1;
} }
if (Input.GetKeyDown(KeyCode.R))
{
OnCollision(null); // Fake collision
}
} }
public override void OnCollision(OrbitalPositionBehaviour other) public override void OnCollision(OrbitalPositionBehaviour other)
{ {
GlobalOrbitalPositionManager.RestartSimulation(); GlobalOrbitalPositionManager.RestartSimulation();
if (!m_OrbitalPosition.m_IsAttachedToRings)
return;
m_OrbitalPosition.m_IsAttachedToRings = false; 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() public override void OnReachCentre()