Files
U10-MobileGame/Assets/Scripts/PlayerModifier.cs
Pasha Bibko 37c0ad0991 Small fixes
2025-11-27 13:50:47 +00:00

46 lines
1.1 KiB
C#

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()
{
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);
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);
public override void OnCollision(OrbitalPositionBehaviour other)
{
Destroy(gameObject);
}
}