Made player mods affect the player
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user