23 lines
433 B
C#
23 lines
433 B
C#
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();
|
|
}
|
|
}
|