[Feature] Improved text look

This commit is contained in:
Pasha Bibko
2025-12-02 13:09:10 +00:00
parent 933bf758d4
commit 28280d87cc
3 changed files with 43 additions and 4 deletions

View File

@@ -128,7 +128,7 @@ public partial class OrbitalBehaviour
m_LastGeneratedRing = ring.m_ID; m_LastGeneratedRing = ring.m_ID;
m_TimeOfLastRingSpawn = Time.time; m_TimeOfLastRingSpawn = Time.time;
m_CurrentRingAllowsSpawning = Random.Range(0, 25) != 0; m_CurrentRingAllowsSpawning = Random.Range(0, 5) != 0;
if (!m_CurrentRingAllowsSpawning && m_AllowPlayerInput) if (!m_CurrentRingAllowsSpawning && m_AllowPlayerInput)
{ {
Instantiate(Settings.Instance.ModifierPrefab, m_ModiferParent.transform); Instantiate(Settings.Instance.ModifierPrefab, m_ModiferParent.transform);

View File

@@ -22,7 +22,7 @@ public partial class OrbitalBehaviour : MonoBehaviour
m_SpinSpeed = init.SpinSpeed; m_SpinSpeed = init.SpinSpeed;
} }
private Vector3 TranslateToVector3() => new public Vector3 TranslateToVector3() => new
( (
x: m_DistanceFromCentre * Mathf.Cos(m_DistanceAlongCircumference), x: m_DistanceFromCentre * Mathf.Cos(m_DistanceAlongCircumference),
y: m_DistanceFromCentre * Mathf.Sin(m_DistanceAlongCircumference), y: m_DistanceFromCentre * Mathf.Sin(m_DistanceAlongCircumference),

View File

@@ -41,18 +41,24 @@ public class PlayerController : OrbitalBehaviour
IsAttachedToRings = true; IsAttachedToRings = true;
} }
public void Update() private void UpdateUI()
{ {
m_ScoreText.text = s_PlayerScore.ToString(); m_ScoreText.text = s_PlayerScore.ToString();
m_ScoreText.color = s_PlayerScore > s_HighScore ? Color.yellow : Color.white; m_ScoreText.color = s_PlayerScore > s_HighScore ? Color.yellow : Color.white;
m_Renderer.material = m_HasFreeHitActive ? m_FreeHitMaterial : m_DefaultMaterial; m_Renderer.material = m_HasFreeHitActive ? m_FreeHitMaterial : m_DefaultMaterial;
}
private void UpdatePlayerInput()
{
if (GlobalInput.IsScreenClicked && BehaviourManager.AllowPlayerInput) if (GlobalInput.IsScreenClicked && BehaviourManager.AllowPlayerInput)
{ {
AdvanceRing(); AdvanceRing();
} }
}
private void UpdateDeathState()
{
if (!m_KillingItself) if (!m_KillingItself)
return; return;
@@ -60,6 +66,13 @@ public class PlayerController : OrbitalBehaviour
m_DeathLerp += Time.deltaTime; m_DeathLerp += Time.deltaTime;
} }
public void Update()
{
UpdateUI();
UpdatePlayerInput();
UpdateDeathState();
}
private IEnumerator OnGrowPlayerModifier() private IEnumerator OnGrowPlayerModifier()
{ {
transform.localScale *= 1.5f; transform.localScale *= 1.5f;
@@ -92,6 +105,30 @@ public class PlayerController : OrbitalBehaviour
m_HasInvincibility = false; 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) protected override void OnOrbitalCollision(OrbitalBehaviour other)
{ {
if (!IsAttachedToRings) if (!IsAttachedToRings)
@@ -121,6 +158,8 @@ public class PlayerController : OrbitalBehaviour
{ {
PlayerModifier mod = (PlayerModifier)other; PlayerModifier mod = (PlayerModifier)other;
m_ModifierText.text = PlayerModifier.ModifierToString(mod.Modifier); m_ModifierText.text = PlayerModifier.ModifierToString(mod.Modifier);
StartCoroutine(OnModiferPickup());
switch (mod.Modifier) switch (mod.Modifier)
{ {