using System; using Unity.VisualScripting; using UnityEngine; public abstract class Lock : MonoBehaviour { public event Action Unlocked; public abstract bool CheckIfKeyFits(DicePair dicePair); public virtual void Unlock(DicePair dicePair) { if (CheckIfKeyFits(dicePair)) { OnUnlock(); } } protected virtual void OnUnlock() { Unlocked?.Invoke(); } }