mirror of
https://gitlab.com/MaddoScientisto/cirnogodot.git
synced 2026-06-09 01:05:53 +00:00
Fixed Rumia's SP1
This commit is contained in:
parent
dc8777c3d9
commit
388acdba04
5 changed files with 90 additions and 33 deletions
|
|
@ -13,8 +13,17 @@ public partial class BossSpawner : ActorSpawner
|
|||
if (SpawnedActor is Boss boss)
|
||||
{
|
||||
boss.BossScript = BossScript;
|
||||
|
||||
boss.Activate();
|
||||
|
||||
CallDeferred(MethodName.ActivateBossDeferred);
|
||||
//boss.Activate();
|
||||
}
|
||||
}
|
||||
|
||||
private void ActivateBossDeferred()
|
||||
{
|
||||
if (SpawnedActor is IActivable activable)
|
||||
{
|
||||
activable.Activate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -16,31 +16,34 @@ public partial class PatternGroup : AttackPattern
|
|||
return new PatternGroupMachine(this, parent);
|
||||
}
|
||||
|
||||
public class PatternGroupMachine(PatternGroup pattern, Node2D parent) : IPatternMachine
|
||||
public class PatternGroupMachine(PatternGroup patternGroup, Node2D parent) : IPatternMachine
|
||||
{
|
||||
public Node2D Parent => parent;
|
||||
private int currentPatternIndex = 0;
|
||||
private int _currentPatternIndex = 0;
|
||||
|
||||
private AttackPattern CurrentPattern => patternGroup.patterns[_currentPatternIndex];
|
||||
|
||||
IPatternMachine _patternMachine;
|
||||
|
||||
public void Start()
|
||||
{
|
||||
currentPatternIndex = 0;
|
||||
_patternMachine = pattern.patterns[currentPatternIndex].MakeMachine(parent);
|
||||
_currentPatternIndex = 0;
|
||||
_patternMachine = CurrentPattern.MakeMachine(parent);
|
||||
_patternMachine.Start();
|
||||
}
|
||||
|
||||
public void UpdatePattern(double delta)
|
||||
{
|
||||
if (currentPatternIndex < pattern.patterns.Count)
|
||||
if (_currentPatternIndex < patternGroup.patterns.Count)
|
||||
{
|
||||
_patternMachine.UpdatePattern(delta);
|
||||
|
||||
if (!pattern.patterns[currentPatternIndex].WaitForCompletion || _patternMachine.IsComplete())
|
||||
if (!CurrentPattern.WaitForCompletion || _patternMachine.IsComplete())
|
||||
{
|
||||
currentPatternIndex++;
|
||||
if (currentPatternIndex < pattern.patterns.Count)
|
||||
_currentPatternIndex++;
|
||||
if (_currentPatternIndex < patternGroup.patterns.Count)
|
||||
{
|
||||
_patternMachine = CurrentPattern.MakeMachine(parent);
|
||||
_patternMachine.Start();
|
||||
}
|
||||
}
|
||||
|
|
@ -49,7 +52,7 @@ public partial class PatternGroup : AttackPattern
|
|||
|
||||
public bool IsComplete()
|
||||
{
|
||||
return currentPatternIndex >= pattern.patterns.Count;
|
||||
return _currentPatternIndex >= patternGroup.patterns.Count;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue