From 28280d87cc38df26af54c5114d3e51ec1a818b01 Mon Sep 17 00:00:00 2001 From: Pasha Bibko <156938226+PashaBibko@users.noreply.github.com> Date: Tue, 2 Dec 2025 13:09:10 +0000 Subject: [PATCH] [Feature] Improved text look --- Assets/Scripts/GlobalOrbitalManager.cs | 2 +- Assets/Scripts/OrbitalPosition.cs | 2 +- Assets/Scripts/PlayerController.cs | 43 ++++++++++++++++++++++++-- 3 files changed, 43 insertions(+), 4 deletions(-) diff --git a/Assets/Scripts/GlobalOrbitalManager.cs b/Assets/Scripts/GlobalOrbitalManager.cs index 7f4d417..c52520a 100644 --- a/Assets/Scripts/GlobalOrbitalManager.cs +++ b/Assets/Scripts/GlobalOrbitalManager.cs @@ -128,7 +128,7 @@ public partial class OrbitalBehaviour m_LastGeneratedRing = ring.m_ID; m_TimeOfLastRingSpawn = Time.time; - m_CurrentRingAllowsSpawning = Random.Range(0, 25) != 0; + m_CurrentRingAllowsSpawning = Random.Range(0, 5) != 0; if (!m_CurrentRingAllowsSpawning && m_AllowPlayerInput) { Instantiate(Settings.Instance.ModifierPrefab, m_ModiferParent.transform); diff --git a/Assets/Scripts/OrbitalPosition.cs b/Assets/Scripts/OrbitalPosition.cs index bbf86ec..c847eff 100644 --- a/Assets/Scripts/OrbitalPosition.cs +++ b/Assets/Scripts/OrbitalPosition.cs @@ -22,7 +22,7 @@ public partial class OrbitalBehaviour : MonoBehaviour m_SpinSpeed = init.SpinSpeed; } - private Vector3 TranslateToVector3() => new + public Vector3 TranslateToVector3() => new ( x: m_DistanceFromCentre * Mathf.Cos(m_DistanceAlongCircumference), y: m_DistanceFromCentre * Mathf.Sin(m_DistanceAlongCircumference), diff --git a/Assets/Scripts/PlayerController.cs b/Assets/Scripts/PlayerController.cs index d4dcf56..199131a 100644 --- a/Assets/Scripts/PlayerController.cs +++ b/Assets/Scripts/PlayerController.cs @@ -41,18 +41,24 @@ public class PlayerController : OrbitalBehaviour IsAttachedToRings = true; } - public void Update() + private void UpdateUI() { m_ScoreText.text = s_PlayerScore.ToString(); m_ScoreText.color = s_PlayerScore > s_HighScore ? Color.yellow : Color.white; m_Renderer.material = m_HasFreeHitActive ? m_FreeHitMaterial : m_DefaultMaterial; - + } + + private void UpdatePlayerInput() + { if (GlobalInput.IsScreenClicked && BehaviourManager.AllowPlayerInput) { AdvanceRing(); } + } + private void UpdateDeathState() + { if (!m_KillingItself) return; @@ -60,6 +66,13 @@ public class PlayerController : OrbitalBehaviour m_DeathLerp += Time.deltaTime; } + public void Update() + { + UpdateUI(); + UpdatePlayerInput(); + UpdateDeathState(); + } + private IEnumerator OnGrowPlayerModifier() { transform.localScale *= 1.5f; @@ -92,6 +105,30 @@ public class PlayerController : OrbitalBehaviour m_HasInvincibility = false; } + private IEnumerator OnModiferPickup() + { + Vector3 start = TranslateToVector3(); + Vector3 end = Vector3.zero; + Vector3 direction = start - end; + + m_ModifierText.transform.position = start; + + Color startColor = m_ModifierText.color; + Color endColor = m_ModifierText.color; + endColor.a = 0; + + for (float lerp = 0f; lerp < 1f; lerp += Time.deltaTime) + { + m_ModifierText.color = Color.Lerp(startColor, endColor, lerp); + yield return new WaitForEndOfFrame(); + } + + m_ModifierText.color = startColor; + m_ModifierText.text = ""; + + yield return null; + } + protected override void OnOrbitalCollision(OrbitalBehaviour other) { if (!IsAttachedToRings) @@ -121,6 +158,8 @@ public class PlayerController : OrbitalBehaviour { PlayerModifier mod = (PlayerModifier)other; m_ModifierText.text = PlayerModifier.ModifierToString(mod.Modifier); + + StartCoroutine(OnModiferPickup()); switch (mod.Modifier) {