mirror of
https://github.com/FunkinCrew/Funkin.git
synced 2024-11-23 08:07:54 -05:00
Fix an issue where sustain sprites were not killed when the song was reset.
This commit is contained in:
parent
56f1b6896a
commit
6af5259a10
3 changed files with 50 additions and 0 deletions
|
@ -639,6 +639,9 @@ class PlayState extends MusicBeatState
|
|||
|
||||
currentStage.resetStage();
|
||||
|
||||
playerStrumline.clean();
|
||||
opponentStrumline.clean();
|
||||
|
||||
// Delete all notes and reset the arrays.
|
||||
regenNoteData();
|
||||
|
||||
|
|
|
@ -396,6 +396,38 @@ class Strumline extends FlxSpriteGroup
|
|||
return heldKeys[dir];
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when the song is reset.
|
||||
* Removes any special animations and the like.
|
||||
* Doesn't reset the notes from the chart, that's handled by the PlayState.
|
||||
*/
|
||||
public function clean():Void
|
||||
{
|
||||
for (note in notes.members)
|
||||
{
|
||||
if (note == null) continue;
|
||||
killNote(note);
|
||||
}
|
||||
|
||||
for (holdNote in holdNotes.members)
|
||||
{
|
||||
if (holdNote == null) continue;
|
||||
holdNote.kill();
|
||||
}
|
||||
|
||||
for (splash in noteSplashes)
|
||||
{
|
||||
if (splash == null) continue;
|
||||
splash.kill();
|
||||
}
|
||||
|
||||
for (cover in noteHoldCovers)
|
||||
{
|
||||
if (cover == null) continue;
|
||||
cover.kill();
|
||||
}
|
||||
}
|
||||
|
||||
public function applyNoteData(data:Array<SongNoteData>):Void
|
||||
{
|
||||
this.notes.clear();
|
||||
|
@ -423,6 +455,7 @@ class Strumline extends FlxSpriteGroup
|
|||
|
||||
public function killNote(note:NoteSprite):Void
|
||||
{
|
||||
if (note == null) return;
|
||||
note.visible = false;
|
||||
notes.remove(note, false);
|
||||
note.kill();
|
||||
|
|
|
@ -282,6 +282,20 @@ class SustainTrail extends FlxSprite
|
|||
missedNote = false;
|
||||
}
|
||||
|
||||
public override function revive():Void
|
||||
{
|
||||
super.revive();
|
||||
|
||||
strumTime = 0;
|
||||
noteDirection = 0;
|
||||
sustainLength = 0;
|
||||
fullSustainLength = 0;
|
||||
noteData = null;
|
||||
|
||||
hitNote = false;
|
||||
missedNote = false;
|
||||
}
|
||||
|
||||
override public function destroy():Void
|
||||
{
|
||||
vertices = null;
|
||||
|
|
Loading…
Reference in a new issue