cirnogodot/Scripts/Activables/ChainActivable.cs

32 lines
718 B
C#
Raw Permalink Normal View History

2025-02-13 13:44:44 +01:00
using Godot;
using Godot.Collections;
namespace Cirno.Scripts.Activables;
public partial class ChainActivable : Activable
{
[Export] private Array<Node2D> _targets;
protected void ActivateTargets()
{
foreach (var activationTarget in _targets)
{
ActivateTarget(activationTarget);
}
}
private bool ActivateTarget(Node2D activationTarget)
{
if (activationTarget is not IActivable target)
{
GD.PrintErr($"Target {activationTarget.Name} is not activable");
return false;
}
target?.Activate();
GD.Print($"{activationTarget.Name} activated");
return true;
}
}