Skip to content

Commit

Permalink
remove curRankInt stuff and rather use safeSelectedItem
Browse files Browse the repository at this point in the history
  • Loading branch information
lemz1 committed Nov 20, 2024
1 parent acd85bc commit b4a89d4
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 42 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,9 @@ class ResultsAnimDialog extends DefaultPageDialog
rankDropdown.onChange = function(_) {
if (previousRank == currentRank) return;

daPage.curRankInt = rankDropdown.selectedIndex;
daPage.clearSprites();
changeRankPreview();
daPage.playAnimation();
}

rankAnimationBox.useAnimationData(rankAnimationDataMap[currentRank]);
Expand All @@ -50,15 +52,7 @@ class ResultsAnimDialog extends DefaultPageDialog

public function changeRankPreview():Void
{
try
{
updateRankAnimations(previousRank);
}
catch (e)
{
// do nothing, janky fix around null object reference
}

updateRankAnimations(previousRank);
rankAnimationBox.useAnimationData(rankAnimationDataMap[currentRank]);
previousRank = currentRank;
}
Expand Down Expand Up @@ -172,9 +166,9 @@ class ResultsAnimDialog extends DefaultPageDialog

function get_currentRank():ScoringRank
{
if (rankDropdown.selectedItem == null) return PERFECT_GOLD;
if (rankDropdown.safeSelectedItem == null) return PERFECT_GOLD;

switch (rankDropdown.selectedItem.text)
switch (rankDropdown.safeSelectedItem.text)
{
case "Perfect Gold":
return PERFECT_GOLD;
Expand Down
53 changes: 23 additions & 30 deletions source/funkin/ui/debug/char/pages/CharCreatorResultsPage.hx
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ class CharCreatorResultsPage extends CharCreatorDefaultPage

var rankMusicMap:Map<ScoringRank, ResultsMusic> = [];

public var curRankInt(default, set):Int = 0;
public var characterAtlasAnimationsMap:Map<ScoringRank, Array<
{
sprite:FlxAtlasSprite,
Expand Down Expand Up @@ -104,45 +103,39 @@ class CharCreatorResultsPage extends CharCreatorDefaultPage

function generateUI():Void
{
labelRank.text = "PERFECT_GOLD";
var animDialog:ResultsAnimDialog = cast dialogMap[RankAnims];

labelRank.text = animDialog.rankDropdown.safeSelectedItem.text;
labelRank.styleNames = "infoText";
labelRank.verticalAlign = "center";

checkPlayMusic.text = "Play Music";

labelRank.onClick = function(_) {
var supposedInt = curRankInt + 1;
if (supposedInt >= ALL_RANKS.length) supposedInt = 0;
curRankInt = supposedInt;
}
var supposedInd = animDialog.rankDropdown.selectedIndex + 1;
if (supposedInd >= animDialog.rankDropdown.dataSource.size) supposedInd = 0;
animDialog.rankDropdown.selectedIndex = supposedInd;

labelRank.onRightClick = function(_) {
var supposedInt = curRankInt - 1;
if (supposedInt < 0) supposedInt = ALL_RANKS.length - 1;
curRankInt = supposedInt;
clearSprites();
animDialog.changeRankPreview();
playAnimation();
}
}

function set_curRankInt(value:Int)
{
if (this.curRankInt == value) return this.curRankInt;

this.curRankInt = value;

var rankAnimDialog = cast(dialogMap[RankAnims], ResultsAnimDialog);
if (rankAnimDialog.rankDropdown.selectedIndex != value) rankAnimDialog.rankDropdown.selectedIndex = value;

clearSprites();
rankAnimDialog.changeRankPreview();
playAnimation();
labelRank.onRightClick = function(_) {
var supposedInd = animDialog.rankDropdown.selectedIndex - 1;
if (supposedInd < 0) supposedInd = animDialog.rankDropdown.dataSource.size - 1;
animDialog.rankDropdown.selectedIndex = supposedInd;

return value;
clearSprites();
animDialog.changeRankPreview();
playAnimation();
}
}

override public function performCleanup():Void
{
var animDialog:ResultsAnimDialog = cast dialogMap[RankAnims];
rankMusicMap[ALL_RANKS[curRankInt]].stop();
rankMusicMap[animDialog.currentRank].stop();
FlxG.sound.music.volume = 1;
}

Expand All @@ -156,17 +149,17 @@ class CharCreatorResultsPage extends CharCreatorDefaultPage
}
}

public function clearSprites()
public function clearSprites():Void
{
for (r => array in characterAtlasAnimationsMap)
for (_ => array in characterAtlasAnimationsMap)
{
for (atlas in array)
{
atlas.sprite.visible = false;
}
}

for (r => array in characterSparrowAnimationsMap)
for (_ => array in characterSparrowAnimationsMap)
{
for (sparrow in array)
{
Expand All @@ -188,9 +181,9 @@ class CharCreatorResultsPage extends CharCreatorDefaultPage

var animDialog:ResultsAnimDialog = cast dialogMap[RankAnims];

var rank = ALL_RANKS[curRankInt];
var rank = animDialog.currentRank;

labelRank.text = Std.string(rank);
labelRank.text = animDialog.rankDropdown.safeSelectedItem.text;

var newMusic = rankMusicMap[rank];
previousMusic = newMusic;
Expand Down

0 comments on commit b4a89d4

Please sign in to comment.