Alarm trigger enhancements

This commit is contained in:
Marco 2025-03-27 17:42:45 +01:00
commit d0baa87bba
9 changed files with 80 additions and 20 deletions

View file

@ -8,9 +8,13 @@ public partial class AlarmTrigger : Node2D
[Export]
public AlarmTriggerType TriggerType { get; private set; }
[Export] public float ActivationRange { get; private set; } = 200f;
[Export]
public Node2D Target { get; private set; }
[Export] public ActivationType ActivationType { get; private set; }
public override void _Ready()
{
@ -32,14 +36,17 @@ public partial class AlarmTrigger : Node2D
private void AlarmManagerOnAlarmEnabled(Vector2 location)
{
Activate();
if (this.GlobalPosition.DistanceTo(location) <= ActivationRange)
{
Activate();
}
}
private void Activate()
{
if (Target is IActivable activatable)
{
activatable.Activate();
activatable.Activate(ActivationType);
}
}