using System; using UnityEngine; public class AbilityInput : MonoBehaviour { [Header("User + Slots")] public AbilityUser user; public AbilitySlot[] slots = new AbilitySlot[4]; private void Start() { foreach (var slot in slots) { if (slot.abilityUiItem) { slot.abilityUiItem.Init(slot.ability); } } } void Update() { foreach (var s in slots) s?.Tick(Time.deltaTime); // Quick default bindings: 1..4 if (Input.GetKeyDown(KeyCode.Q)) Use(0); if (Input.GetKeyDown(KeyCode.E)) Use(1); if (Input.GetKeyDown(KeyCode.R)) Use(2); if (Input.GetKeyDown(KeyCode.T)) Use(3); } public void Use(int index) { if (index < 0 || index >= slots.Length) return; slots[index]?.TryUse(user); } }