From 933bf758d4a25ae97fae2aaa60d5804258013b57 Mon Sep 17 00:00:00 2001 From: Pasha Bibko <156938226+PashaBibko@users.noreply.github.com> Date: Tue, 2 Dec 2025 11:26:37 +0000 Subject: [PATCH] [Refactor] Reimplemented changing object sizes --- Assets/Scenes/SampleScene.unity | 8 ++++---- Assets/Scripts/GlobalOrbitalManager.cs | 8 +++++--- Assets/Scripts/OrbitalPosition.cs | 1 + Assets/Scripts/PlayerController.cs | 10 +++++----- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 0fa0d6c..3fda02c 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -536,9 +536,9 @@ RectTransform: m_Children: [] m_Father: {fileID: 1158970873} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 100, y: -35} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 160, y: 30} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1227804579 @@ -568,7 +568,7 @@ MonoBehaviour: m_BestFit: 0 m_MinSize: 3 m_MaxSize: 50 - m_Alignment: 0 + m_Alignment: 4 m_AlignByGeometry: 0 m_RichText: 1 m_HorizontalOverflow: 1 diff --git a/Assets/Scripts/GlobalOrbitalManager.cs b/Assets/Scripts/GlobalOrbitalManager.cs index 4784812..7f4d417 100644 --- a/Assets/Scripts/GlobalOrbitalManager.cs +++ b/Assets/Scripts/GlobalOrbitalManager.cs @@ -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); diff --git a/Assets/Scripts/OrbitalPosition.cs b/Assets/Scripts/OrbitalPosition.cs index e22dbc3..bbf86ec 100644 --- a/Assets/Scripts/OrbitalPosition.cs +++ b/Assets/Scripts/OrbitalPosition.cs @@ -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) diff --git a/Assets/Scripts/PlayerController.cs b/Assets/Scripts/PlayerController.cs index 2b6efe2..d4dcf56 100644 --- a/Assets/Scripts/PlayerController.cs +++ b/Assets/Scripts/PlayerController.cs @@ -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()