From 2d974f52179b79b73a0726d0f62f8aed2243dda0 Mon Sep 17 00:00:00 2001 From: Pasha Bibko <156938226+PashaBibko@users.noreply.github.com> Date: Thu, 27 Nov 2025 21:54:11 +0000 Subject: [PATCH] [Refactor] General cleanup --- Assets/Scripts/EnemyController.cs | 10 ++--- Assets/Scripts/GlobalInput.cs | 5 +-- Assets/Scripts/PlayerController.cs | 72 +++++++++++++++--------------- Assets/Scripts/PlayerModifier.cs | 21 ++++----- 4 files changed, 50 insertions(+), 58 deletions(-) diff --git a/Assets/Scripts/EnemyController.cs b/Assets/Scripts/EnemyController.cs index 93a1f7e..d028378 100644 --- a/Assets/Scripts/EnemyController.cs +++ b/Assets/Scripts/EnemyController.cs @@ -3,22 +3,22 @@ using UnityEngine; public class EnemyController : OrbitalPositionBehaviour { - private static readonly List s_Instances = new(); + private static readonly List Instances = new(); public static void KillAllEnemies() { - foreach (EnemyController controller in s_Instances) + foreach (EnemyController controller in Instances) { Destroy(controller.gameObject); PlayerController.s_PlayerScore++; } - s_Instances.Clear(); + Instances.Clear(); } protected override void OnStart() { - s_Instances.Add(this); + Instances.Add(this); transform.position = new Vector3(0, 0, -200f); @@ -32,7 +32,7 @@ public class EnemyController : OrbitalPositionBehaviour if (GlobalOrbitalPositionManager.s_IsSimulationRunning) PlayerController.s_PlayerScore++; - s_Instances.Remove(this); + Instances.Remove(this); Destroy(gameObject); } } diff --git a/Assets/Scripts/GlobalInput.cs b/Assets/Scripts/GlobalInput.cs index d4532b5..49f4db1 100644 --- a/Assets/Scripts/GlobalInput.cs +++ b/Assets/Scripts/GlobalInput.cs @@ -6,9 +6,8 @@ public static class GlobalInput { private void Start() => DontDestroyOnLoad(gameObject); - [SerializeField] private bool m_IsContact; - [SerializeField] private bool m_TouchStartedThisFrame; - + private bool m_IsContact; + private bool m_TouchStartedThisFrame; private float m_HeldTime; private static bool IsPressedInternal() diff --git a/Assets/Scripts/PlayerController.cs b/Assets/Scripts/PlayerController.cs index 81a8b3a..0d3c26e 100644 --- a/Assets/Scripts/PlayerController.cs +++ b/Assets/Scripts/PlayerController.cs @@ -6,20 +6,6 @@ using UnityEngine.Rendering.PostProcessing; public class PlayerController : OrbitalPositionBehaviour { - public static int s_PlayerScore; - private static int s_HighScore = 20; - - private static PlayerController s_Instance; - public static bool IsPlayerAttached => s_Instance.m_OrbitalPosition.m_IsAttachedToRings; - public static void AttachPlayer() { s_Instance.m_OrbitalPosition.m_IsAttachedToRings = true; } - - private Vector3 m_SuicidePoint; - private bool m_KillingItself; - private float m_DeathLerp; - - private bool m_HasFreeHitActive; - private bool m_HasInvicibility; - [Header("References")] [SerializeField] private MeshRenderer m_Renderer; [SerializeField] private Text m_ScoreText; @@ -27,9 +13,22 @@ public class PlayerController : OrbitalPositionBehaviour [SerializeField] private Material m_FreeHitMaterial; [SerializeField] private PostProcessVolume m_PostProcessVolume; + private static PlayerController Instance; + public static bool IsPlayerAttached => Instance.m_OrbitalPosition.m_IsAttachedToRings; + + private static int s_HighScore = 20; + public static int s_PlayerScore; + + private Vector3 m_SuicidePoint; + private float m_DeathLerp; + + private bool m_HasFreeHitActive; + private bool m_HasInvincibility; + private bool m_KillingItself; + protected override void OnStart() { - s_Instance = this; + Instance = this; s_HighScore = Mathf.Max(s_HighScore, PlayerPrefs.GetInt("HighScore", 0)); Debug.Log($"Loaded high score of [{s_HighScore}]"); @@ -42,15 +41,9 @@ public class PlayerController : OrbitalPositionBehaviour public void Update() { m_ScoreText.text = s_PlayerScore.ToString(); - if (s_PlayerScore > s_HighScore) - m_ScoreText.color = Color.yellow; - else - m_ScoreText.color = Color.white; - - if (m_HasFreeHitActive) - m_Renderer.material = m_FreeHitMaterial; - else - m_Renderer.material = m_DefaultMaterial; + + m_ScoreText.color = s_PlayerScore > s_HighScore ? Color.yellow : Color.white; + m_Renderer.material = m_HasFreeHitActive ? m_FreeHitMaterial : m_DefaultMaterial; if (GlobalInput.IsScreenClicked && GlobalOrbitalPositionManager.AllowPlayerInput) { @@ -63,6 +56,11 @@ public class PlayerController : OrbitalPositionBehaviour transform.position = Vector3.Lerp(m_SuicidePoint, m_SuicidePoint.normalized * 20f, m_DeathLerp); m_DeathLerp += Time.deltaTime; } + + public static void AttachPlayer() + { + Instance.m_OrbitalPosition.m_IsAttachedToRings = true; + } private IEnumerator OnGrowPlayerModifier() { @@ -86,14 +84,14 @@ public class PlayerController : OrbitalPositionBehaviour m_OrbitalPosition.m_ObjectRadius /= 0.6f; } - private IEnumerator TriggerInvicibility() + private IEnumerator TriggerInvincibility() { m_HasFreeHitActive = false; - m_HasInvicibility = true; + m_HasInvincibility = true; yield return new WaitForSecondsRealtime(1f); - m_HasInvicibility = false; + m_HasInvincibility = false; } public override void OnCollision(OrbitalPositionBehaviour other) @@ -103,14 +101,14 @@ public class PlayerController : OrbitalPositionBehaviour if (other.CompareTag("Enemy")) { - if (m_HasInvicibility) + if (m_HasInvincibility) { return; } if (m_HasFreeHitActive) { - StartCoroutine(TriggerInvicibility()); + StartCoroutine(TriggerInvincibility()); return; } @@ -122,34 +120,34 @@ public class PlayerController : OrbitalPositionBehaviour else if (other.CompareTag("PlayerMod")) { - switch (((PlayerModifier)other).HeldModifier) + switch (((PlayerModifier)other).Modifier) { - case PlayerModifier.Modifier.GainPoints: + case PlayerModifier.Modifiers.GainPoints: s_PlayerScore += 100; break; - case PlayerModifier.Modifier.FreeHit: + case PlayerModifier.Modifiers.FreeHit: m_HasFreeHitActive = true; break; - case PlayerModifier.Modifier.GrowPlayer: + case PlayerModifier.Modifiers.GrowPlayer: StartCoroutine(OnGrowPlayerModifier()); break; - case PlayerModifier.Modifier.ShrinkPlayer: + case PlayerModifier.Modifiers.ShrinkPlayer: StartCoroutine(OnShrinkPlayerModifier()); break; - case PlayerModifier.Modifier.SpeedUp: + case PlayerModifier.Modifiers.SpeedUp: StartCoroutine(GlobalOrbitalPositionManager.Instance.StartPlayerSpeedupModifier()); break; - case PlayerModifier.Modifier.ClearAllEnemies: + case PlayerModifier.Modifiers.ClearAllEnemies: EnemyController.KillAllEnemies(); break; default: - Debug.Log($"Collision with unknown modifier occured [{((PlayerModifier)other).HeldModifier}]"); + Debug.Log($"Collision with unknown modifier occured [{((PlayerModifier)other).Modifier}]"); break; } } diff --git a/Assets/Scripts/PlayerModifier.cs b/Assets/Scripts/PlayerModifier.cs index 2bf7af0..69e1db0 100644 --- a/Assets/Scripts/PlayerModifier.cs +++ b/Assets/Scripts/PlayerModifier.cs @@ -4,7 +4,7 @@ using Random = UnityEngine.Random; public class PlayerModifier : OrbitalPositionBehaviour { - public enum Modifier + public enum Modifiers { GainPoints, FreeHit, @@ -16,15 +16,14 @@ public class PlayerModifier : OrbitalPositionBehaviour private static readonly System.Random s_RandomGenerator = new(); - private static Modifier GetRandomModifier() + public Modifiers Modifier { get; private set; } + + private static Modifiers GetRandomModifier() { - Array possibilities = Enum.GetValues(typeof(Modifier)); - return (Modifier)possibilities.GetValue(s_RandomGenerator.Next(possibilities.Length)); + Array possibilities = Enum.GetValues(typeof(Modifiers)); + return (Modifiers)possibilities.GetValue(s_RandomGenerator.Next(possibilities.Length)); } - private Modifier m_Modifier; - public Modifier HeldModifier => m_Modifier; - protected override void OnStart() { transform.position = new Vector3(0, 0, -100f); @@ -33,13 +32,9 @@ public class PlayerModifier : OrbitalPositionBehaviour m_OrbitalPosition.m_ObjectRadius = 0.3f; m_OrbitalPosition.m_SpinSpeed = 1.6f; - m_Modifier = GetRandomModifier(); + Modifier = GetRandomModifier(); } + public override void OnCollision(OrbitalPositionBehaviour other) => Destroy(gameObject); public override void OnReachCentre() => Destroy(gameObject); - - public override void OnCollision(OrbitalPositionBehaviour other) - { - Destroy(gameObject); - } }