using Godot; using System.Collections.Generic; using Cirno.Scripts.Actors; using Godot.Collections; namespace Cirno.Scripts.Resources; [GlobalClass] public partial class PatternGroup : AttackPattern { [Export] private Array patterns; private int currentPatternIndex = 0; public override void Start(Boss boss) { Boss = boss; currentPatternIndex = 0; patterns[currentPatternIndex].Start(boss); } public override void UpdatePattern(double delta) { if (currentPatternIndex < patterns.Count) { patterns[currentPatternIndex].UpdatePattern(delta); if (!patterns[currentPatternIndex].WaitForCompletion || patterns[currentPatternIndex].IsComplete()) { currentPatternIndex++; if (currentPatternIndex < patterns.Count) { patterns[currentPatternIndex].Start(Boss); } } } } public override bool IsComplete() { return currentPatternIndex >= patterns.Count; } }