cirnogodot/Scripts/Components/Actors/ForceFieldCollisionDisabler.cs
2025-03-03 17:55:53 +01:00

39 lines
No EOL
744 B
C#

using Godot;
namespace Cirno.Scripts.Components.Actors;
public partial class ForceFieldCollisionDisabler : CollisionShape2D
{
[Export]
protected Door _door;
[Export]
public bool Invert { get; private set; } = false;
public override void _Ready()
{
//_door = GetParent<Door>();
_door.DoorOpened += DoorOpened;
_door.DoorClosed += DoorClosed;
}
protected virtual void DoorClosed()
{
CallDeferred(MethodName.Enable);
}
private void Disable()
{
this.Disabled = !Invert;
}
protected virtual void DoorOpened()
{
CallDeferred(MethodName.Disable);
}
private void Enable()
{
this.Disabled = Invert;
}
}