2025-02-23 19:19:12 +01:00
|
|
|
|
using Godot;
|
|
|
|
|
|
using Godot.Collections;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Cirno.Scripts.Resources.Events;
|
|
|
|
|
|
|
|
|
|
|
|
[GlobalClass]
|
|
|
|
|
|
public partial class AlarmEnableEvent : EventResource
|
|
|
|
|
|
{
|
|
|
|
|
|
private bool _isComplete = false;
|
2025-06-23 18:30:42 +02:00
|
|
|
|
|
2025-02-23 19:19:12 +01:00
|
|
|
|
public override bool IsComplete()
|
|
|
|
|
|
{
|
|
|
|
|
|
return _isComplete;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-06-23 18:30:42 +02:00
|
|
|
|
public override void Init(Node parent)
|
2025-02-23 19:19:12 +01:00
|
|
|
|
{
|
2025-06-23 18:30:42 +02:00
|
|
|
|
|
2025-02-23 19:19:12 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-06-23 18:30:42 +02:00
|
|
|
|
public override void Start(Node parent)
|
2025-02-23 19:19:12 +01:00
|
|
|
|
{
|
2025-06-23 18:30:42 +02:00
|
|
|
|
if (AlarmManager.Instance is null)
|
|
|
|
|
|
{
|
|
|
|
|
|
_isComplete = true;
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
switch (parent)
|
|
|
|
|
|
{
|
|
|
|
|
|
case Node2D node2D:
|
|
|
|
|
|
AlarmManager.Instance.SoundAlarm(node2D.GlobalPosition);
|
|
|
|
|
|
break;
|
|
|
|
|
|
case Node3D node3D:
|
|
|
|
|
|
AlarmManager.Instance.SoundAlarm(node3D.GlobalPosition);
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-02-23 19:19:12 +01:00
|
|
|
|
_isComplete = true;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public override void UpdateEvent(double delta)
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|