Alarm detection

This commit is contained in:
Marco 2025-02-04 13:47:29 +01:00
commit b25207f2cc
4 changed files with 16 additions and 18 deletions

View file

@ -7,7 +7,7 @@ public partial class Camera : Enemy
private AnimatedSprite2D _sprite;
private GameManager _gameManager;
private AlarmManager _alarmManager;
///private AlarmManager _alarmManager;
@ -15,20 +15,18 @@ public partial class Camera : Enemy
{
base._Ready();
_gameManager = GetNode<GameManager>("/root/GameScene");
_alarmManager = GetNode<AlarmManager>("/root/GameScene/AlarmManager");
//_alarmManager = _gameManager.AlarmManager;
_sprite = GetNode<AnimatedSprite2D>("AnimatedSprite2D");
_sprite.Play("full_scan");
}
protected override void Shoot()
{
_gameManager.AlarmManager.SoundAlarm(this.GlobalPosition);
_alarmManager.SoundAlarm(this.GlobalPosition);
}
}

View file

@ -18,11 +18,11 @@ public partial class GameManager : Node2D
private InventoryManager _inventoryManager { get; set; }
private AlarmManager _alarmManager { get; set; }
//private AlarmManager _alarmManager { get; set; }
public InventoryManager Inventory => _inventoryManager;
//public InventoryManager Inventory => _inventoryManager;
public AlarmManager AlarmManager => _alarmManager;
//public AlarmManager AlarmManager => _alarmManager;
private Node2D _bulletsContainer;
public Node2D BulletsContainer => _bulletsContainer;
@ -35,7 +35,7 @@ public partial class GameManager : Node2D
_inventoryManager = GetNode<InventoryManager>("InventoryManager");
_alarmManager = GetNode<AlarmManager>("AlarmManager");
//_alarmManager = GetNode<AlarmManager>("AlarmManager");
SpawnBulletsContainer();
@ -48,8 +48,8 @@ public partial class GameManager : Node2D
_player.InteractableAreaEntered += (interactable) => _hud.UpdateInteractable(interactable);
Inventory.ItemAdded += (item) => _hud.AddInventoryItem(item);
Inventory.ItemRemoved += (item) => _hud.RemoveInventoryItem(item);
_inventoryManager.ItemAdded += (item) => _hud.AddInventoryItem(item);
_inventoryManager.ItemRemoved += (item) => _hud.RemoveInventoryItem(item);
//_player.Connect(nameof(_player.HealthChanged), _hud, nameof(_hud.UpdateHealth));

View file

@ -5,19 +5,19 @@ namespace Cirno.Scripts.Interactables;
public partial class AlarmBox : Interactable
{
private GameManager _gameManager;
private AlarmManager _alarmManager;
private AnimatedSprite2D _sprite;
public override void _Ready()
{
base._Ready();
_gameManager = GetNode<GameManager>("/root/GameScene");
_alarmManager = GetNode<AlarmManager>("/root/GameScene/AlarmManager");
_sprite = GetNode<AnimatedSprite2D>("AnimatedSprite2D");
_gameManager.AlarmManager.AlarmEnabled += AlarmManagerOnAlarmEnabled;
_alarmManager.AlarmEnabled += AlarmManagerOnAlarmEnabled;
_gameManager.AlarmManager.AlarmDisabled += AlarmManagerOnAlarmDisabled;
_alarmManager.AlarmDisabled += AlarmManagerOnAlarmDisabled;
}
@ -35,9 +35,9 @@ public partial class AlarmBox : Interactable
public override bool Activate()
{
if (MeetsRequirements() && _gameManager.AlarmManager.IsAlarmOn)
if (MeetsRequirements() && _alarmManager.IsAlarmOn)
{
_gameManager.AlarmManager.DisableAlarm();
_alarmManager.DisableAlarm();
// disable alarm
GD.Print("Alarm disabled");