cirnogodot/Scripts/Actors/AlarmTeleporterActorSpawner.cs
2025-02-23 19:19:12 +01:00

28 lines
No EOL
709 B
C#

using Cirno.Scripts.Activables;
using Godot;
namespace Cirno.Scripts.Actors;
public partial class AlarmTeleporterActorSpawner : ActorSpawner
{
private AlarmManager _alarmManager;
[Export]
public Teleporter Teleporter { get; private set; }
[Export]
public float ActivationRange { get; private set; }
public override void _Ready()
{
_alarmManager = this.GetAlarmManager();
_alarmManager.AlarmEnabled += AlarmManagerOnAlarmEnabled;
}
private void AlarmManagerOnAlarmEnabled(Vector2 location)
{
if (!(location.DistanceTo(this.GlobalPosition) <= ActivationRange)) return;
Teleporter?.FireParticles();
Spawn();
}
}