This commit is contained in:
Marco 2025-02-21 18:57:00 +01:00
commit b07a8fe60d
33 changed files with 594 additions and 58 deletions

View file

@ -0,0 +1,52 @@
using Godot;
namespace Cirno.Scripts.Components;
public partial class AlarmTrigger : Node2D
{
private AlarmManager _alarmManager;
[Export]
public AlarmTriggerType TriggerType { get; private set; }
[Export]
public Node2D Target { get; private set; }
public override void _Ready()
{
_alarmManager = this.GetAlarmManager(); //AlarmManager.Instance;
if (TriggerType is AlarmTriggerType.OnEnabled)
{
_alarmManager.AlarmEnabled += AlarmManagerOnAlarmEnabled;
}
else
{
_alarmManager.AlarmDisabled += AlarmManagerOnAlarmDisabled;
}
}
private void AlarmManagerOnAlarmDisabled()
{
Activate();
}
private void AlarmManagerOnAlarmEnabled(Vector2 location)
{
Activate();
}
private void Activate()
{
if (Target is IActivable activatable)
{
activatable.Activate();
}
}
public enum AlarmTriggerType
{
OnEnabled,
OnDisabled
}
}