From d56748a405bd574d8ee2d168f6bd2841ebb49fb4 Mon Sep 17 00:00:00 2001 From: lunarcleint <88809950+lunarcleint@users.noreply.github.com> Date: Mon, 22 Jul 2024 16:34:04 -0700 Subject: [PATCH] deleting anims (hold on i needa edit flixel) --- .../editors/character/CharacterAnimButton.hx | 2 +- .../editors/character/CharacterAnimsWindow.hx | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/source/funkin/editors/character/CharacterAnimButton.hx b/source/funkin/editors/character/CharacterAnimButton.hx index 6a73ddf8..8e36642a 100644 --- a/source/funkin/editors/character/CharacterAnimButton.hx +++ b/source/funkin/editors/character/CharacterAnimButton.hx @@ -136,7 +136,7 @@ class CharacterAnimButton extends UIButton { playIcon.antialiasing = false; members.push(playIcon); - deleteButton = new UIButton(0, 0, "", null, 28*2,24); + deleteButton = new UIButton(0, 0, "", () -> {parent.deleteAnimation(this);}, 28*2,24); deleteButton.frames = Paths.getFrames("editors/ui/grayscale-button"); deleteButton.color = 0xFFAC3D3D; members.push(deleteButton); diff --git a/source/funkin/editors/character/CharacterAnimsWindow.hx b/source/funkin/editors/character/CharacterAnimsWindow.hx index d9bca67c..0a2a52c4 100644 --- a/source/funkin/editors/character/CharacterAnimsWindow.hx +++ b/source/funkin/editors/character/CharacterAnimsWindow.hx @@ -1,5 +1,6 @@ package funkin.editors.character; +import funkin.backend.utils.XMLUtil.AnimData; import flixel.animation.FlxAnimation; import flixel.graphics.FlxGraphic; import openfl.geom.Rectangle; @@ -64,4 +65,23 @@ class CharacterAnimsWindow extends UIButtonList { displayAnimsFramesList.set(name, {frame: anim.frames.getDefault([0])[0], scale: 104/animBounds.height, animBounds: animBounds}); } + + public function deleteAnimation(button:CharacterAnimButton) { + if (buttons.members.length <= 1) return; + if (character.getAnimName() == button.anim) + @:privateAccess CharacterEditor.instance._animation_down(null); + + character.removeAnimation(button.anim); + if (character.animOffsets.exists(button.anim)) character.animOffsets.remove(button.anim); + if (character.animDatas.exists(button.anim)) character.animDatas.remove(button.anim); + + remove(button); button.destroy(); + } + + // public function createAnimation() { + // var animData:AnimData = { + // name: "New Animation" + // x: 0, y: 0, + // } + // } } \ No newline at end of file