[Refactor] General cleanup
This commit is contained in:
@@ -3,22 +3,22 @@ using UnityEngine;
|
|||||||
|
|
||||||
public class EnemyController : OrbitalPositionBehaviour
|
public class EnemyController : OrbitalPositionBehaviour
|
||||||
{
|
{
|
||||||
private static readonly List<EnemyController> s_Instances = new();
|
private static readonly List<EnemyController> Instances = new();
|
||||||
|
|
||||||
public static void KillAllEnemies()
|
public static void KillAllEnemies()
|
||||||
{
|
{
|
||||||
foreach (EnemyController controller in s_Instances)
|
foreach (EnemyController controller in Instances)
|
||||||
{
|
{
|
||||||
Destroy(controller.gameObject);
|
Destroy(controller.gameObject);
|
||||||
PlayerController.s_PlayerScore++;
|
PlayerController.s_PlayerScore++;
|
||||||
}
|
}
|
||||||
|
|
||||||
s_Instances.Clear();
|
Instances.Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void OnStart()
|
protected override void OnStart()
|
||||||
{
|
{
|
||||||
s_Instances.Add(this);
|
Instances.Add(this);
|
||||||
|
|
||||||
transform.position = new Vector3(0, 0, -200f);
|
transform.position = new Vector3(0, 0, -200f);
|
||||||
|
|
||||||
@@ -32,7 +32,7 @@ public class EnemyController : OrbitalPositionBehaviour
|
|||||||
if (GlobalOrbitalPositionManager.s_IsSimulationRunning)
|
if (GlobalOrbitalPositionManager.s_IsSimulationRunning)
|
||||||
PlayerController.s_PlayerScore++;
|
PlayerController.s_PlayerScore++;
|
||||||
|
|
||||||
s_Instances.Remove(this);
|
Instances.Remove(this);
|
||||||
Destroy(gameObject);
|
Destroy(gameObject);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,9 +6,8 @@ public static class GlobalInput
|
|||||||
{
|
{
|
||||||
private void Start() => DontDestroyOnLoad(gameObject);
|
private void Start() => DontDestroyOnLoad(gameObject);
|
||||||
|
|
||||||
[SerializeField] private bool m_IsContact;
|
private bool m_IsContact;
|
||||||
[SerializeField] private bool m_TouchStartedThisFrame;
|
private bool m_TouchStartedThisFrame;
|
||||||
|
|
||||||
private float m_HeldTime;
|
private float m_HeldTime;
|
||||||
|
|
||||||
private static bool IsPressedInternal()
|
private static bool IsPressedInternal()
|
||||||
|
|||||||
@@ -6,20 +6,6 @@ using UnityEngine.Rendering.PostProcessing;
|
|||||||
|
|
||||||
public class PlayerController : OrbitalPositionBehaviour
|
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")]
|
[Header("References")]
|
||||||
[SerializeField] private MeshRenderer m_Renderer;
|
[SerializeField] private MeshRenderer m_Renderer;
|
||||||
[SerializeField] private Text m_ScoreText;
|
[SerializeField] private Text m_ScoreText;
|
||||||
@@ -27,9 +13,22 @@ public class PlayerController : OrbitalPositionBehaviour
|
|||||||
[SerializeField] private Material m_FreeHitMaterial;
|
[SerializeField] private Material m_FreeHitMaterial;
|
||||||
[SerializeField] private PostProcessVolume m_PostProcessVolume;
|
[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()
|
protected override void OnStart()
|
||||||
{
|
{
|
||||||
s_Instance = this;
|
Instance = this;
|
||||||
s_HighScore = Mathf.Max(s_HighScore, PlayerPrefs.GetInt("HighScore", 0));
|
s_HighScore = Mathf.Max(s_HighScore, PlayerPrefs.GetInt("HighScore", 0));
|
||||||
Debug.Log($"Loaded high score of [{s_HighScore}]");
|
Debug.Log($"Loaded high score of [{s_HighScore}]");
|
||||||
|
|
||||||
@@ -42,15 +41,9 @@ public class PlayerController : OrbitalPositionBehaviour
|
|||||||
public void Update()
|
public void Update()
|
||||||
{
|
{
|
||||||
m_ScoreText.text = s_PlayerScore.ToString();
|
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_ScoreText.color = s_PlayerScore > s_HighScore ? Color.yellow : Color.white;
|
||||||
m_Renderer.material = m_FreeHitMaterial;
|
m_Renderer.material = m_HasFreeHitActive ? m_FreeHitMaterial : m_DefaultMaterial;
|
||||||
else
|
|
||||||
m_Renderer.material = m_DefaultMaterial;
|
|
||||||
|
|
||||||
if (GlobalInput.IsScreenClicked && GlobalOrbitalPositionManager.AllowPlayerInput)
|
if (GlobalInput.IsScreenClicked && GlobalOrbitalPositionManager.AllowPlayerInput)
|
||||||
{
|
{
|
||||||
@@ -64,6 +57,11 @@ public class PlayerController : OrbitalPositionBehaviour
|
|||||||
m_DeathLerp += Time.deltaTime;
|
m_DeathLerp += Time.deltaTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void AttachPlayer()
|
||||||
|
{
|
||||||
|
Instance.m_OrbitalPosition.m_IsAttachedToRings = true;
|
||||||
|
}
|
||||||
|
|
||||||
private IEnumerator OnGrowPlayerModifier()
|
private IEnumerator OnGrowPlayerModifier()
|
||||||
{
|
{
|
||||||
transform.localScale *= 1.5f;
|
transform.localScale *= 1.5f;
|
||||||
@@ -86,14 +84,14 @@ public class PlayerController : OrbitalPositionBehaviour
|
|||||||
m_OrbitalPosition.m_ObjectRadius /= 0.6f;
|
m_OrbitalPosition.m_ObjectRadius /= 0.6f;
|
||||||
}
|
}
|
||||||
|
|
||||||
private IEnumerator TriggerInvicibility()
|
private IEnumerator TriggerInvincibility()
|
||||||
{
|
{
|
||||||
m_HasFreeHitActive = false;
|
m_HasFreeHitActive = false;
|
||||||
m_HasInvicibility = true;
|
m_HasInvincibility = true;
|
||||||
|
|
||||||
yield return new WaitForSecondsRealtime(1f);
|
yield return new WaitForSecondsRealtime(1f);
|
||||||
|
|
||||||
m_HasInvicibility = false;
|
m_HasInvincibility = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnCollision(OrbitalPositionBehaviour other)
|
public override void OnCollision(OrbitalPositionBehaviour other)
|
||||||
@@ -103,14 +101,14 @@ public class PlayerController : OrbitalPositionBehaviour
|
|||||||
|
|
||||||
if (other.CompareTag("Enemy"))
|
if (other.CompareTag("Enemy"))
|
||||||
{
|
{
|
||||||
if (m_HasInvicibility)
|
if (m_HasInvincibility)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_HasFreeHitActive)
|
if (m_HasFreeHitActive)
|
||||||
{
|
{
|
||||||
StartCoroutine(TriggerInvicibility());
|
StartCoroutine(TriggerInvincibility());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -122,34 +120,34 @@ public class PlayerController : OrbitalPositionBehaviour
|
|||||||
|
|
||||||
else if (other.CompareTag("PlayerMod"))
|
else if (other.CompareTag("PlayerMod"))
|
||||||
{
|
{
|
||||||
switch (((PlayerModifier)other).HeldModifier)
|
switch (((PlayerModifier)other).Modifier)
|
||||||
{
|
{
|
||||||
case PlayerModifier.Modifier.GainPoints:
|
case PlayerModifier.Modifiers.GainPoints:
|
||||||
s_PlayerScore += 100;
|
s_PlayerScore += 100;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PlayerModifier.Modifier.FreeHit:
|
case PlayerModifier.Modifiers.FreeHit:
|
||||||
m_HasFreeHitActive = true;
|
m_HasFreeHitActive = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PlayerModifier.Modifier.GrowPlayer:
|
case PlayerModifier.Modifiers.GrowPlayer:
|
||||||
StartCoroutine(OnGrowPlayerModifier());
|
StartCoroutine(OnGrowPlayerModifier());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PlayerModifier.Modifier.ShrinkPlayer:
|
case PlayerModifier.Modifiers.ShrinkPlayer:
|
||||||
StartCoroutine(OnShrinkPlayerModifier());
|
StartCoroutine(OnShrinkPlayerModifier());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PlayerModifier.Modifier.SpeedUp:
|
case PlayerModifier.Modifiers.SpeedUp:
|
||||||
StartCoroutine(GlobalOrbitalPositionManager.Instance.StartPlayerSpeedupModifier());
|
StartCoroutine(GlobalOrbitalPositionManager.Instance.StartPlayerSpeedupModifier());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PlayerModifier.Modifier.ClearAllEnemies:
|
case PlayerModifier.Modifiers.ClearAllEnemies:
|
||||||
EnemyController.KillAllEnemies();
|
EnemyController.KillAllEnemies();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
Debug.Log($"Collision with unknown modifier occured [{((PlayerModifier)other).HeldModifier}]");
|
Debug.Log($"Collision with unknown modifier occured [{((PlayerModifier)other).Modifier}]");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ using Random = UnityEngine.Random;
|
|||||||
|
|
||||||
public class PlayerModifier : OrbitalPositionBehaviour
|
public class PlayerModifier : OrbitalPositionBehaviour
|
||||||
{
|
{
|
||||||
public enum Modifier
|
public enum Modifiers
|
||||||
{
|
{
|
||||||
GainPoints,
|
GainPoints,
|
||||||
FreeHit,
|
FreeHit,
|
||||||
@@ -16,14 +16,13 @@ public class PlayerModifier : OrbitalPositionBehaviour
|
|||||||
|
|
||||||
private static readonly System.Random s_RandomGenerator = new();
|
private static readonly System.Random s_RandomGenerator = new();
|
||||||
|
|
||||||
private static Modifier GetRandomModifier()
|
public Modifiers Modifier { get; private set; }
|
||||||
{
|
|
||||||
Array possibilities = Enum.GetValues(typeof(Modifier));
|
|
||||||
return (Modifier)possibilities.GetValue(s_RandomGenerator.Next(possibilities.Length));
|
|
||||||
}
|
|
||||||
|
|
||||||
private Modifier m_Modifier;
|
private static Modifiers GetRandomModifier()
|
||||||
public Modifier HeldModifier => m_Modifier;
|
{
|
||||||
|
Array possibilities = Enum.GetValues(typeof(Modifiers));
|
||||||
|
return (Modifiers)possibilities.GetValue(s_RandomGenerator.Next(possibilities.Length));
|
||||||
|
}
|
||||||
|
|
||||||
protected override void OnStart()
|
protected override void OnStart()
|
||||||
{
|
{
|
||||||
@@ -33,13 +32,9 @@ public class PlayerModifier : OrbitalPositionBehaviour
|
|||||||
m_OrbitalPosition.m_ObjectRadius = 0.3f;
|
m_OrbitalPosition.m_ObjectRadius = 0.3f;
|
||||||
m_OrbitalPosition.m_SpinSpeed = 1.6f;
|
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 OnReachCentre() => Destroy(gameObject);
|
||||||
|
|
||||||
public override void OnCollision(OrbitalPositionBehaviour other)
|
|
||||||
{
|
|
||||||
Destroy(gameObject);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user