[Refactor] Reimplemented changing object sizes

This commit is contained in:
Pasha Bibko
2025-12-02 11:26:37 +00:00
parent 9265cbbf99
commit 933bf758d4
4 changed files with 15 additions and 12 deletions

View File

@@ -214,9 +214,11 @@ public partial class OrbitalBehaviour
Vector2 a = orbital.TranslateToVector3();
Vector2 b = m_PlayerInstance.TranslateToVector3();
float distance = (a - b).magnitude;
float radii = orbital.m_ObjectRadius + m_PlayerInstance.m_ObjectRadius;
if (distance > radii)
float d = (a - b).magnitude;
float r1 = m_PlayerInstance.m_ObjectRadius * m_PlayerInstance.ObjectRadiusMultiplier;
float r2 = orbital.m_ObjectRadius * orbital.ObjectRadiusMultiplier;
if (d > (r1 + r2))
continue;
m_PlayerInstance.OnOrbitalCollision(orbital);

View File

@@ -10,6 +10,7 @@ public partial class OrbitalBehaviour : MonoBehaviour
[SerializeField] private float m_DistanceFromCentre;
[field: SerializeField] protected float ObjectRadiusMultiplier { get; set; } = 1.0f;
[field: SerializeField] protected bool IsAttachedToRings { get; set; } = true;
protected void RegisterObject(OrbitalInitializer init)

View File

@@ -63,23 +63,23 @@ public class PlayerController : OrbitalBehaviour
private IEnumerator OnGrowPlayerModifier()
{
transform.localScale *= 1.5f;
//m_OrbitalPosition.m_ObjectRadius *= 1.5f;
ObjectRadiusMultiplier = 1.5f;
yield return new WaitForSecondsRealtime(15f);
transform.localScale /= 1.5f;
//m_OrbitalPosition.m_ObjectRadius /= 1.5f;
ObjectRadiusMultiplier = 1.0f;
}
private IEnumerator OnShrinkPlayerModifier()
{
transform.localScale *= 0.6f;
//m_OrbitalPosition.m_ObjectRadius *= 0.6f;
ObjectRadiusMultiplier = 0.6f;
yield return new WaitForSecondsRealtime(15f);
transform.localScale /= 0.6f;
//m_OrbitalPosition.m_ObjectRadius /= 0.6f;
ObjectRadiusMultiplier = 1.0f;
}
private IEnumerator TriggerInvincibility()