Funkin/source/funkin/ui/charSelect/CharSelectPlayer.hx
2024-08-28 02:48:56 +02:00

64 lines
1.5 KiB
Haxe

package funkin.ui.charSelect;
import flixel.FlxSprite;
import funkin.graphics.adobeanimate.FlxAtlasSprite;
import flxanimate.animate.FlxKeyFrame;
class CharSelectPlayer extends FlxAtlasSprite
{
var desLp:FlxKeyFrame = null;
public function new(x:Float, y:Float)
{
super(x, y, Paths.animateAtlas("charSelect/bfChill"));
desLp = anim.getFrameLabel("deselect loop start");
onAnimationComplete.add(function(animLabel:String) {
switch (animLabel)
{
case "slidein":
if (hasAnimation("slidein idle point")) playAnimation("slidein idle point", true, false, false);
else
playAnimation("idle", true, false, true);
case "slidein idle point":
playAnimation("idle", true, false, true);
}
});
onAnimationFrame.add(function(animLabel:String, frame:Int) {
if (animLabel == "deselect" && desLp != null && frame >= desLp.index) playAnimation("deselect loop start", true, false, true);
});
}
public function updatePosition(str:String)
{
switch (str)
{
case "bf":
x = 0;
y = 0;
case "pico":
x = 0;
y = 0;
case "random":
}
}
public function switchChar(str:String)
{
switch str
{
default:
loadAtlas(Paths.animateAtlas("charSelect/" + str + "Chill"));
}
playAnimation("slidein", true, false, false);
desLp = anim.getFrameLabel("deselect loop start");
updateHitbox();
updatePosition(str);
}
}