Made player mods affect the player

This commit is contained in:
Pasha Bibko
2025-11-27 13:34:55 +00:00
parent 055e688df5
commit 886622cd6c
7 changed files with 257 additions and 10 deletions

View File

@@ -1,7 +1,32 @@
using System;
using UnityEngine;
using Random = UnityEngine.Random;
public class PlayerModifier : OrbitalPositionBehaviour
{
public enum Modifier
{
GainPoints,
FreeHit,
GrowPlayer,
ShrinkPlayer,
ClearAllEnemies,
SpeedUp
}
private static readonly System.Random s_RandomGenerator = new();
private static Modifier GetRandomModifier()
{
return Modifier.SpeedUp;
Array possibilities = Enum.GetValues(typeof(Modifier));
return (Modifier)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);
@@ -9,6 +34,8 @@ public class PlayerModifier : OrbitalPositionBehaviour
m_OrbitalPosition.m_DistanceAlongRadius = Random.Range(0f, Mathf.PI * 2f);
m_OrbitalPosition.m_ObjectRadius = 0.3f;
m_OrbitalPosition.m_SpinSpeed = 1.6f;
m_Modifier = GetRandomModifier();
}
public override void OnReachCentre() => Destroy(gameObject);