+ scores to chal result
This commit is contained in:
parent
afb88bd6b4
commit
aca006ac0f
|
@ -1,5 +1,6 @@
|
|||
local Easing = require("common.easings");
|
||||
local Footer = require("components.footer");
|
||||
local DiffRectangle = require('components.diff_rectangle');
|
||||
local common = require('common.common');
|
||||
|
||||
local VolforceWindow = require("components.volforceWindow")
|
||||
|
@ -24,9 +25,35 @@ local appealCardImage = gfx.CreateSkinImage("crew/appeal_card.png", 0);
|
|||
local danBadgeImage = gfx.CreateSkinImage("dan/inf.png", 0);
|
||||
local crewImage = gfx.CreateSkinImage("crew/portrait.png", 0);
|
||||
|
||||
local notchesImage = gfx.CreateSkinImage("challenge_result/notches.png", 0);
|
||||
local trackBarsImage = gfx.CreateSkinImage("challenge_result/track_bars.png", 0);
|
||||
|
||||
local irHeartbeatRequested = false;
|
||||
local IRserverName = "";
|
||||
|
||||
local badgeImages = {
|
||||
gfx.CreateSkinImage("song_select/medal/nomedal.png", 1),
|
||||
gfx.CreateSkinImage("song_select/medal/played.png", 1),
|
||||
gfx.CreateSkinImage("song_select/medal/clear.png", 1),
|
||||
gfx.CreateSkinImage("song_select/medal/hard.png", 1),
|
||||
gfx.CreateSkinImage("song_select/medal/uc.png", 1),
|
||||
gfx.CreateSkinImage("song_select/medal/puc.png", 1),
|
||||
}
|
||||
|
||||
local gradeImages = {
|
||||
S = gfx.CreateSkinImage("common/grades/S.png", 0),
|
||||
AAA_P = gfx.CreateSkinImage("common/grades/AAA+.png", 0),
|
||||
AAA = gfx.CreateSkinImage("common/grades/AAA.png", 0),
|
||||
AA_P = gfx.CreateSkinImage("common/grades/AA+.png", 0),
|
||||
AA = gfx.CreateSkinImage("common/grades/AA.png", 0),
|
||||
A_P = gfx.CreateSkinImage("common/grades/A+.png", 0),
|
||||
A = gfx.CreateSkinImage("common/grades/A.png", 0),
|
||||
B = gfx.CreateSkinImage("common/grades/B.png", 0),
|
||||
C = gfx.CreateSkinImage("common/grades/C.png", 0),
|
||||
D = gfx.CreateSkinImage("common/grades/D.png", 0),
|
||||
none = gfx.CreateSkinImage("common/grades/none.png", 0),
|
||||
}
|
||||
|
||||
-- AUDIO
|
||||
game.LoadSkinSample("challenge_result.wav")
|
||||
|
||||
|
@ -129,21 +156,57 @@ end
|
|||
|
||||
local scoreNumber = load_number_image("score_num");
|
||||
|
||||
function drawScorePanelContent()
|
||||
game.Log("Drawing scores...", game.LOGGER_INFO) -- debug
|
||||
function drawChartResult(deltaTime, x, y, chartResult)
|
||||
gfx.Save()
|
||||
gfx.LoadSkinFont('NotoSans-Regular.ttf')
|
||||
|
||||
gfx.FontSize(28)
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_MIDDLE)
|
||||
gfx.BeginPath()
|
||||
gfx.GlobalAlpha(1);
|
||||
gfx.Text(chartResult.title, x+160,y+32);
|
||||
|
||||
DiffRectangle.render(deltaTime, x+287.5, y+67, 0.85, chartResult.difficulty, chartResult.level)
|
||||
|
||||
local score = chartResult.score or 0;
|
||||
|
||||
draw_number(x + 500, y+80, 1.0, math.floor(score / 10000), 4, scoreNumber, true, 0.30, 1.12)
|
||||
draw_number(x + 660, y+85, 1.0, score, 4, scoreNumber, true, 0.22, 1.12)
|
||||
|
||||
|
||||
local gradeImageKey = string.gsub(chartResult.grade, '+', '_P');
|
||||
local gradeImage = gradeImages[gradeImageKey] or gradeImages.D
|
||||
gfx.BeginPath()
|
||||
gfx.ImageRect(x+800, y+12, 79, 79, gradeImage, 1, 0)
|
||||
|
||||
|
||||
if chartResult.badge then
|
||||
local badgeImage = badgeImages[chartResult.badge+1];
|
||||
gfx.BeginPath()
|
||||
gfx.ImageRect(x+900, y+16, 79*1.05, 69*1.05, badgeImage, 1, 0)
|
||||
end
|
||||
|
||||
|
||||
gfx.Restore()
|
||||
end
|
||||
|
||||
function drawScorePanelContent(deltaTime)
|
||||
-- game.Log("Drawing scores...", game.LOGGER_INFO) -- debug
|
||||
for i, chart in ipairs(result.charts) do
|
||||
if chart.score == nil then
|
||||
game.Log("Score does not exist? Quitting loop...", game.LOGGER_WARNING)
|
||||
break
|
||||
end
|
||||
game.Log("#" .. i .. " chart.score: " .. chart.score, game.LOGGER_INFO) -- debug
|
||||
-- Draw score
|
||||
draw_number(250, 150, 1.0, math.floor(chart.score / 10000), 4, scoreNumber, true, 0.40, 1.12)
|
||||
-- still not sure how ui scaling/layers works in this game, still figuring it out :p
|
||||
-- if chart.score == nil then
|
||||
-- game.Log("Score does not exist? Quitting loop...", game.LOGGER_WARNING)
|
||||
-- break
|
||||
-- end
|
||||
|
||||
drawChartResult(deltaTime, 0, 836+(165*(i-1)), chart);
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
function drawDecorations()
|
||||
|
||||
end
|
||||
|
||||
local IR_HeartbeatResponse = function(res)
|
||||
if res.statusCode == IRData.States.Success then
|
||||
IRserverName = res.body.serverName .. " " .. res.body.irVersion;
|
||||
|
@ -171,7 +234,7 @@ function render(deltaTime)
|
|||
|
||||
drawPlayerInfo()
|
||||
|
||||
drawScorePanelContent()
|
||||
drawScorePanelContent(deltaTime)
|
||||
|
||||
drawHeader()
|
||||
Footer.draw(deltaTime);
|
||||
|
|
Before Width: | Height: | Size: 663 B After Width: | Height: | Size: 663 B |
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 7.3 KiB |
Loading…
Reference in New Issue