PuzzleGame/PuzzleGameProject/Assets/Scripts/Rooms/Locks/Lock.cs

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();
}
}