using Godot; using System; using System.Diagnostics; public partial class Interactable : Area2D { [Export] public Activable Target { get; set; } [Export] public bool RequiresKeycard { get; set; } private InventoryManager _inventoryManager; public override void _Ready() { _inventoryManager = GetNode("/root/GameScene/InventoryManager"); } public void Activate() { if (RequiresKeycard) { if (_inventoryManager.RedKeycard) { Target?.Activate(); } } else { Target?.Activate(); } } }