Files
U10-MobileGame/Assets/Scripts/PlayerModifier.cs
2025-11-27 21:54:11 +00:00

41 lines
1.1 KiB
C#

using System;
using UnityEngine;
using Random = UnityEngine.Random;
public class PlayerModifier : OrbitalPositionBehaviour
{
public enum Modifiers
{
GainPoints,
FreeHit,
GrowPlayer,
ShrinkPlayer,
ClearAllEnemies,
SpeedUp
}
private static readonly System.Random s_RandomGenerator = new();
public Modifiers Modifier { get; private set; }
private static Modifiers GetRandomModifier()
{
Array possibilities = Enum.GetValues(typeof(Modifiers));
return (Modifiers)possibilities.GetValue(s_RandomGenerator.Next(possibilities.Length));
}
protected override void OnStart()
{
transform.position = new Vector3(0, 0, -100f);
m_OrbitalPosition.m_DistanceAlongRadius = Random.Range(0f, Mathf.PI * 2f);
m_OrbitalPosition.m_ObjectRadius = 0.3f;
m_OrbitalPosition.m_SpinSpeed = 1.6f;
Modifier = GetRandomModifier();
}
public override void OnCollision(OrbitalPositionBehaviour other) => Destroy(gameObject);
public override void OnReachCentre() => Destroy(gameObject);
}