Skip to content

Commit

Permalink
background for resultspage
Browse files Browse the repository at this point in the history
  • Loading branch information
lemz1 committed Nov 17, 2024
1 parent a33b144 commit d97bbb1
Show file tree
Hide file tree
Showing 2 changed files with 137 additions and 0 deletions.
2 changes: 2 additions & 0 deletions source/funkin/ui/debug/char/CharCreatorState.hx
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ class CharCreatorState extends UIState
menubarOptionGameplay.onChange = function(_) switchToPage(Gameplay);
menubarOptionCharSelect.onChange = function(_) switchToPage(CharacterSelect);
menubarOptionFreeplay.onChange = function(_) switchToPage(Freeplay);
menubarOptionResults.onChange = function(_) switchToPage(ResultScreen);
menubarItemExport.onClick = _ -> this.exportAll();
}

Expand Down Expand Up @@ -133,6 +134,7 @@ class CharCreatorState extends UIState
if (params.generateCharacter) pages.set(Gameplay, new CharCreatorGameplayPage(this, params));
if (params.generatePlayerData) pages.set(CharacterSelect, new CharCreatorSelectPage(this, params));
if (params.generatePlayerData) pages.set(Freeplay, new CharCreatorFreeplayPage(this, params));
if (params.generatePlayerData) pages.set(ResultScreen, new CharCreatorResultsPage(this, params));

menubarOptionGameplay.disabled = !params.generateCharacter;
menubarOptionCharSelect.disabled = menubarOptionFreeplay.disabled = menubarOptionResults.disabled = !params.generatePlayerData;
Expand Down
135 changes: 135 additions & 0 deletions source/funkin/ui/debug/char/pages/CharCreatorResultsPage.hx
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
package funkin.ui.debug.char.pages;

import haxe.ui.containers.Box;
import funkin.graphics.FunkinSprite;
import funkin.ui.debug.char.components.dialogs.*;
import funkin.play.components.TallyCounter;
import funkin.play.components.ClearPercentCounter;
import funkin.play.ResultScore;
import flixel.graphics.frames.FlxBitmapFont;
import flixel.group.FlxSpriteGroup.FlxTypedSpriteGroup;
import flixel.math.FlxPoint;
import flixel.text.FlxBitmapText;
import flixel.util.FlxGradient;
import flixel.FlxSprite;
import flixel.FlxG;

using StringTools;

class CharCreatorResultsPage extends CharCreatorDefaultPage
{
var data:WizardGenerateParams;

override public function new(state:CharCreatorState, data:WizardGenerateParams)
{
super(state);
this.data = data;

initBackground();
}

override public function fillUpBottomBar(left:Box, middle:Box, right:Box) {}

var difficulty:FlxSprite;
var songName:FlxBitmapText;
var clearPercentSmall:ClearPercentCounter;
var resultsAnim:FunkinSprite;
var ratingsPopin:FunkinSprite;
var scorePopin:FunkinSprite;
var score:ResultScore;

function initBackground():Void
{
var bg:FlxSprite = FlxGradient.createGradientFlxSprite(FlxG.width, FlxG.height, [0xFFFECC5C, 0xFFFDC05C], 90);
bg.scrollFactor.set();
bg.zIndex = 10;
add(bg);

difficulty = new FlxSprite(555, 122);
difficulty.zIndex = 1000;
difficulty.loadGraphic(Paths.image("resultScreen/diff_hard"));
add(difficulty);

var fontLetters:String = "AaBbCcDdEeFfGgHhiIJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz:1234567890";
songName = new FlxBitmapText(FlxBitmapFont.fromMonospace(Paths.image("resultScreen/tardlingSpritesheet"), fontLetters, FlxPoint.get(49, 62)));
songName.text = "Playable Character Creator";
songName.letterSpacing = -15;
songName.angle = -4.4;
songName.zIndex = 1000;
songName.x = difficulty.x + difficulty.width + 60 + 94;
songName.y = 122 - 25 - (10 * (songName.text.length / 15));
add(songName);

clearPercentSmall = new ClearPercentCounter(difficulty.x + difficulty.width + 60, 122 - 5, 100, true);
clearPercentSmall.zIndex = 1000;
add(clearPercentSmall);

var blackTopBar:FlxSprite = new FlxSprite().loadGraphic(Paths.image("resultScreen/topBarBlack"));
blackTopBar.zIndex = 1010;
add(blackTopBar);

var soundSystem:FunkinSprite = FunkinSprite.createSparrow(-15, -180, 'resultScreen/soundSystem');
soundSystem.animation.addByPrefix("idle", "sound system", 24, false);
soundSystem.animation.play("idle");
soundSystem.zIndex = 1100;
add(soundSystem);

resultsAnim = FunkinSprite.createSparrow(-200, -10, "resultScreen/results");
resultsAnim.animation.addByPrefix("result", "results instance 1", 24, false);
resultsAnim.animation.play("result");
resultsAnim.zIndex = 1200;
add(resultsAnim);

ratingsPopin = FunkinSprite.createSparrow(-135, 135, "resultScreen/ratingsPopin");
ratingsPopin.animation.addByPrefix("idle", "Categories", 24, false);
ratingsPopin.animation.play("idle");
ratingsPopin.zIndex = 1200;
add(ratingsPopin);

scorePopin = FunkinSprite.createSparrow(-180, 515, "resultScreen/scorePopin");
scorePopin.animation.addByPrefix("score", "tally score", 24, false);
scorePopin.animation.play("score");
scorePopin.zIndex = 1200;
add(scorePopin);

var hStuf:Int = 50;

var ratingGrp:FlxTypedSpriteGroup<TallyCounter> = new FlxTypedSpriteGroup<TallyCounter>();
ratingGrp.zIndex = 1200;
add(ratingGrp);

/**
* NOTE: We display how many notes were HIT, not how many notes there were in total.
*
*/
var totalHit:TallyCounter = new TallyCounter(375, hStuf * 3, 999);
ratingGrp.add(totalHit);

var maxCombo:TallyCounter = new TallyCounter(375, hStuf * 4, 999);
ratingGrp.add(maxCombo);

hStuf += 2;
var extraYOffset:Float = 7;

hStuf += 2;

var tallySick:TallyCounter = new TallyCounter(230, (hStuf * 5) + extraYOffset, 999, 0xFF89E59E);
ratingGrp.add(tallySick);

var tallyGood:TallyCounter = new TallyCounter(210, (hStuf * 6) + extraYOffset, 999, 0xFF89C9E5);
ratingGrp.add(tallyGood);

var tallyBad:TallyCounter = new TallyCounter(190, (hStuf * 7) + extraYOffset, 999, 0xFFE6CF8A);
ratingGrp.add(tallyBad);

var tallyShit:TallyCounter = new TallyCounter(220, (hStuf * 8) + extraYOffset, 999, 0xFFE68C8A);
ratingGrp.add(tallyShit);

var tallyMissed:TallyCounter = new TallyCounter(260, (hStuf * 9) + extraYOffset, 999, 0xFFC68AE6);
ratingGrp.add(tallyMissed);

score = new ResultScore(35, 305, 10, 999);
score.zIndex = 1200;
add(score);
}
}

0 comments on commit d97bbb1

Please sign in to comment.