From aa11de5eab18dda7643118f0d1567ed147f271d6 Mon Sep 17 00:00:00 2001 From: lemz1 Date: Wed, 20 Nov 2024 17:02:56 +0100 Subject: [PATCH] clicking on labelRank leads to a crash --- .../components/dialogs/ResultsAnimDialog.hx | 25 ++++++++++++------- .../char/pages/CharCreatorResultsPage.hx | 6 ++++- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/source/funkin/ui/debug/char/components/dialogs/ResultsAnimDialog.hx b/source/funkin/ui/debug/char/components/dialogs/ResultsAnimDialog.hx index 912a3ef647..5ac3f77778 100644 --- a/source/funkin/ui/debug/char/components/dialogs/ResultsAnimDialog.hx +++ b/source/funkin/ui/debug/char/components/dialogs/ResultsAnimDialog.hx @@ -68,16 +68,9 @@ class ResultsAnimDialog extends DefaultPageDialog rankDropdown.onChange = function(_) { if (previousRank == currentRank) return; - updateRankAnimations(previousRank); + changeRankPreview(); - for (atlas in characterAtlasAnimationsMap[previousRank]) - atlas.sprite.visible = false; - - for (sprite in characterSparrowAnimationsMap[previousRank]) - sprite.sprite.visible = false; - - rankAnimationBox.useAnimationData(rankAnimationDataMap[currentRank]); - previousRank = currentRank; + daPage.labelRank.text = currentRankText; daPage.playAnimation(); } @@ -86,6 +79,20 @@ class ResultsAnimDialog extends DefaultPageDialog previousRank = currentRank; } + public function changeRankPreview():Void + { + updateRankAnimations(previousRank); + + for (atlas in characterAtlasAnimationsMap[previousRank]) + atlas.sprite.visible = false; + + for (sprite in characterSparrowAnimationsMap[previousRank]) + sprite.sprite.visible = false; + + rankAnimationBox.useAnimationData(rankAnimationDataMap[currentRank]); + previousRank = currentRank; + } + function updateRankAnimations(rank:ScoringRank):Void { var parentList = rankAnimationBox.parentComponent; diff --git a/source/funkin/ui/debug/char/pages/CharCreatorResultsPage.hx b/source/funkin/ui/debug/char/pages/CharCreatorResultsPage.hx index 0bcbe29539..92e92bd19b 100644 --- a/source/funkin/ui/debug/char/pages/CharCreatorResultsPage.hx +++ b/source/funkin/ui/debug/char/pages/CharCreatorResultsPage.hx @@ -106,6 +106,8 @@ class CharCreatorResultsPage extends CharCreatorDefaultPage var id = drop.selectedIndex + 1; if (id >= drop.dataSource.size) id = 0; drop.selectedIndex = id; + + rankAnimDialog.changeRankPreview(); playAnimation(); } @@ -114,8 +116,10 @@ class CharCreatorResultsPage extends CharCreatorDefaultPage if (drop.selectedIndex == -1) return; var id = drop.selectedIndex - 1; - if (id < 0) id = drop.dataSource.size; + if (id < 0) id = drop.dataSource.size - 1; drop.selectedIndex = id; + + rankAnimDialog.changeRankPreview(); playAnimation(); } }