using System; using System.Collections.Generic; using UnityEngine; public class PlayerAbility : MonoBehaviour { [Header("Identification")] public string abilityName; public Sprite abilityIcon; public Marisa thisPlayer; [Header("Cooldown")] public bool canCooldown = true; public float cooldown; protected float currentCooldown; [Header("Stats")] public float power; public float projectileCount; public HashSet attachedUpgrades = new(); public void TryAbility() { if (currentCooldown <= 0 && canCooldown) { currentCooldown = cooldown; AbilityEffects(); } } protected virtual void AbilityEffects() { } protected virtual void Update() { if (currentCooldown > 0) { currentCooldown -= Time.deltaTime; } } }