NoteSplash animation cleanup

This commit is contained in:
Cameron Taylor
2025-03-10 20:39:38 -04:00
committed by EliteMasterEric
parent f9a40a2bf7
commit ea3f1be425
2 changed files with 21 additions and 55 deletions
+7 -20
View File
@@ -36,15 +36,6 @@ class NoteSplash extends FlxSprite
{
if (frames == null) noteStyle.buildSplashSprite(this);
// this.animation.addByPrefix('splash1Left', 'note impact 1 purple0', FRAMERATE_DEFAULT, false, false, false);
// this.animation.addByPrefix('splash1Down', 'note impact 1 blue0', FRAMERATE_DEFAULT, false, false, false);
// this.animation.addByPrefix('splash1Up', 'note impact 1 green0', FRAMERATE_DEFAULT, false, false, false);
// this.animation.addByPrefix('splash1Right', 'note impact 1 red0', FRAMERATE_DEFAULT, false, false, false);
// this.animation.addByPrefix('splash2Left', 'note impact 2 purple0', FRAMERATE_DEFAULT, false, false, false);
// this.animation.addByPrefix('splash2Down', 'note impact 2 blue0', FRAMERATE_DEFAULT, false, false, false);
// this.animation.addByPrefix('splash2Up', 'note impact 2 green0', FRAMERATE_DEFAULT, false, false, false);
// this.animation.addByPrefix('splash2Right', 'note impact 2 red0', FRAMERATE_DEFAULT, false, false, false);
if (this.animation.getAnimationList().length < 8)
{
trace('WARNING: NoteSplash failed to initialize all animations.');
@@ -58,20 +49,16 @@ class NoteSplash extends FlxSprite
public function play(direction:NoteDirection, variant:Int = null):Void
{
if (variant == null) variant = FlxG.random.int(0, 1);
switch (direction)
if (variant == null)
{
case NoteDirection.LEFT:
this.playAnimation('splashLeft${variant}');
case NoteDirection.DOWN:
this.playAnimation('splashDown${variant}');
case NoteDirection.UP:
this.playAnimation('splashUp${variant}');
case NoteDirection.RIGHT:
this.playAnimation('splashRight${variant}');
var animationAmount:Int = this.animation.getAnimationList().filter(function(anim) return anim.name.startsWith('splash${direction.nameUpper}')).length
- 1;
variant = FlxG.random.int(0, animationAmount);
}
// splashUP0, splashUP1, splashRIGHT0, etc.
this.playAnimation('splash${direction.nameUpper}${variant}');
if (animation.curAnim == null) return;
// Vary the speed of the animation a bit.
+14 -35
View File
@@ -950,40 +950,19 @@ class NoteStyle implements IRegistryEntry<NoteStyleData>
function buildSplashAnimations(target:NoteSplash):Void
{
var leftData:Null<Array<AnimationData>> = fetchSplashAnimationData(LEFT);
if (leftData != null)
{
for (anim in leftData)
final addSplashAnim:NoteDirection->Void = function(dir:NoteDirection) {
var animData:Null<Array<AnimationData>> = fetchSplashAnimationData(dir);
if (animData != null)
{
FlxAnimationUtil.addAtlasAnimation(target, anim);
for (anim in animData)
FlxAnimationUtil.addAtlasAnimation(target, anim);
}
}
};
var rightData:Null<Array<AnimationData>> = fetchSplashAnimationData(RIGHT);
if (rightData != null)
{
for (anim in rightData)
{
FlxAnimationUtil.addAtlasAnimation(target, anim);
}
}
var upData:Null<Array<AnimationData>> = fetchSplashAnimationData(UP);
if (upData != null)
{
for (anim in upData)
{
FlxAnimationUtil.addAtlasAnimation(target, anim);
}
}
var downData:Null<Array<AnimationData>> = fetchSplashAnimationData(DOWN);
if (downData != null)
{
for (anim in downData)
{
FlxAnimationUtil.addAtlasAnimation(target, anim);
}
}
addSplashAnim(LEFT);
addSplashAnim(RIGHT);
addSplashAnim(UP);
addSplashAnim(DOWN);
}
public function isSplashAnimated():Bool
@@ -1000,10 +979,10 @@ class NoteStyle implements IRegistryEntry<NoteStyleData>
{
var result:Null<Array<AnimationData>> = switch (dir)
{
case LEFT: _data.assets?.noteSplash?.data?.leftSplashes?.toNamedArray("splashLeft");
case DOWN: _data.assets?.noteSplash?.data?.downSplashes?.toNamedArray("splashDown");
case UP: _data.assets?.noteSplash?.data?.upSplashes?.toNamedArray("splashUp");
case RIGHT: _data.assets?.noteSplash?.data?.rightSplashes?.toNamedArray("splashRight");
case LEFT: _data.assets?.noteSplash?.data?.leftSplashes?.toNamedArray("splashLEFT");
case DOWN: _data.assets?.noteSplash?.data?.downSplashes?.toNamedArray("splashDOWN");
case UP: _data.assets?.noteSplash?.data?.upSplashes?.toNamedArray("splashUP");
case RIGHT: _data.assets?.noteSplash?.data?.rightSplashes?.toNamedArray("splashRIGHT");
};
return result ?? fallback?.fetchSplashAnimationData(dir);
}