wip for display windows

This commit is contained in:
lunarcleint
2024-04-16 17:38:35 -07:00
parent 548479e3e3
commit 63805b806b
2 changed files with 17 additions and 6 deletions
@@ -102,8 +102,14 @@ class CharacterAnimButton extends UIButton {
public override function draw() {
super.draw();
// if (parent.displayAnimsList.contains(anim)) {
// parent.displayAnimsList.animation
// }
if (parent.displayAnimsFramesList.exists(anim)) {
parent.displayWindowSprite.frame = parent.displayWindowSprite.frames.frames[parent.displayAnimsFramesList.get(anim)];
parent.displayWindowSprite.scale.x = parent.displayWindowSprite.scale.y = 120/parent.displayWindowSprite.frame.sourceSize.y;
parent.displayWindowSprite.updateHitbox();
parent.displayWindowSprite.follow(this, 16+(128/2)-((parent.displayWindowSprite.frame.sourceSize.x*parent.displayWindowSprite.scale.x)/2), 12+18+11+4);
parent.displayWindowSprite.draw();
}
}
}
@@ -1,12 +1,13 @@
package funkin.editors.character;
import flixel.graphics.frames.FlxFrame;
import funkin.game.Character;
class CharacterAnimsWindow extends UIButtonList<CharacterAnimButton> {
public var character:Character;
public var displayWindowSprite:FlxSprite;
public var displayAnimsList:Array<String> = [];
public var displayAnimsFramesList:Map<String, Int> = [];
public function new(x:Float, y:Float, character:Character) {
super(x, y, Std.int(500-16), 419, "", FlxPoint.get(Std.int(500-16-32), 184));
@@ -16,8 +17,12 @@ class CharacterAnimsWindow extends UIButtonList<CharacterAnimButton> {
displayWindowSprite = new FlxSprite();
displayWindowSprite.loadGraphicFromSprite(character);
displayAnimsList = displayWindowSprite.animation.getNameList();
displayWindowSprite.antialiasing = character.antialiasing;
displayWindowSprite.flipX = character.flipX;
@:privateAccess
for (name => anim in displayWindowSprite.animation._animations)
displayAnimsFramesList.set(name, anim.frames.getDefault([0])[0]);
for (anim in character.getAnimOrder())
add(new CharacterAnimButton(0,0, character.animDatas.get(anim), this));