mirror of
https://gitlab.com/MaddoScientisto/cirnogodot.git
synced 2026-06-01 11:15:33 +00:00
42 lines
1.1 KiB
C#
42 lines
1.1 KiB
C#
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<AttackPattern> patterns;
|
|
private int currentPatternIndex = 0;
|
|
|
|
public override void Start(Node2D parent)
|
|
{
|
|
Parent = parent;
|
|
currentPatternIndex = 0;
|
|
patterns[currentPatternIndex].Start(parent);
|
|
}
|
|
|
|
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(Parent);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public override bool IsComplete()
|
|
{
|
|
return currentPatternIndex >= patterns.Count;
|
|
}
|
|
}
|