cirnogodot/Scripts/Interactables/RogueliteDoorLock.cs
2025-04-25 16:41:29 +02:00

29 lines
No EOL
722 B
C#

using System.Linq;
using Cirno.Scripts.Controllers;
namespace Cirno.Scripts.Interactables;
public partial class RogueliteDoorLock : Switch
{
public RoomConnection Connection { get; set; }
public override bool Activate(ActivationType activationType = ActivationType.Toggle)
{
base.Activate(activationType);
if (!MeetsRequirements()) return false;
Connection.FromDoor.Activate(activationType);
Connection.ToDoor.Activate(activationType);
foreach (var requirement in Requirements)
{
InventoryManager.Instance.RemoveItem(requirement.ItemKey, 1);
}
this.QueueFree();
return true;
}
}