25 lines
715 B
C#
25 lines
715 B
C#
using Godot;
|
|
using Mr.BrickAdventures.scripts.interfaces;
|
|
using Mr.BrickAdventures.scripts.Resources;
|
|
|
|
namespace Mr.BrickAdventures.scripts.components;
|
|
|
|
public partial class UnlockOnRequirementComponent : Node
|
|
{
|
|
[Export] public RequirementComponent RequirementComponent { get; set; }
|
|
[Export] public Node UnlockTarget { get; set; }
|
|
|
|
public override void _Ready()
|
|
{
|
|
RequirementComponent.RequirementMet += OnRequirementMet;
|
|
}
|
|
|
|
private void OnRequirementMet(CollectableType requirementType)
|
|
{
|
|
if (requirementType != RequirementComponent.RequirementType) return;
|
|
if (UnlockTarget is IUnlockable unlockable)
|
|
{
|
|
unlockable.Unlock();
|
|
}
|
|
}
|
|
} |