ExperimentalGear/scripts/multiplayer/Room/owninfo.lua

83 lines
2.7 KiB
Lua

local dancheck = require("components.danbadge");
local VolforceWindow = require('components.volforceWindow');
local volforceAmount = game.GetSkinSetting('_volforce');
require('common.gameconfig')
local ownPanelX = 0;
local ownPanelY = 1310;
local msg = game.GetSkinSetting("MSG");
local username = GameConfig["MultiplayerUsername"] or game.GetSkinSetting('username') or '';
local UserPanel = gfx.CreateSkinImage("multi/lobby/user_panel.png", 1);
local appeal = gfx.CreateSkinImage("crew/appeal_card.png", 1);
local Ready = gfx.CreateSkinImage("multi/lobby/READY.png", 1);
local ReadyW, ReadyH = gfx.ImageSize(Ready)
local alpha = 0
local m_own_info = function(deltaTime,lobby,user_id,badges,grades)
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_BASELINE);
gfx.BeginPath();
gfx.FontSize(40)
gfx.ImageRect(ownPanelX, ownPanelY, 343/1.18, 361/1.18,UserPanel,1,0)
gfx.BeginPath();
gfx.ImageRect(ownPanelX+30, ownPanelY+115, 150 * 0.62,192 * 0.62,appeal,1,0)
gfx.Text(string.upper(username), ownPanelX+20, ownPanelY+78)
gfx.FontSize(22)
gfx.Text(string.upper(msg),ownPanelX+20, ownPanelY+37)
gfx.Text(string.upper(irText), ownPanelX+20, ownPanelY+288);
gfx.BeginPath();
gfx.ImageRect(ownPanelX + 165,ownPanelY + 112.5,294 * 0.32,84 * 0.32,dancheck(false),1,0);
VolforceWindow.render(deltaTime, ownPanelX + 160,ownPanelY + 156, 42, volforceAmount, true, true, true)
for index, user in ipairs(lobby) do
if user.id == user_id then
if user.ready then
alpha = 1
else
alpha = 0
end
if user.score ~= nil then
if user.grade == nil then
for i,v in ipairs(grades) do
if v.max > user.score then
user.grade = v.image
break
end
end
end
if user.clear >= 0 and user.clear <= 5 then
user.badge = badges[user.clear + 1]
end
end
if user.grade then
local gradeW, gradeH = gfx.ImageSize(user.grade)
gfx.BeginPath()
gfx.ImageRect(ownPanelX+900, ownPanelY+160 , gradeW/1.7, gradeH/1.7, user.grade, 1, 0)
end
if user.badge then
gfx.BeginPath()
local badgeW, badgeH = gfx.ImageSize(user.badge)
gfx.ImageRect(ownPanelX+982, ownPanelY+159, badgeW/1.1, badgeH/1.1, user.badge, 1, 0)
end
end
end
gfx.BeginPath();
gfx.ImageRect(ownPanelX+150, ownPanelY+232, ReadyW/ 1.18, ReadyH/ 1.18, Ready,alpha,0)
end
return {Draw = m_own_info}