Files
itgmania212121/Themes/default/Graphics/PaneDisplay text.lua
T
2013-07-05 22:17:42 -04:00

236 lines
6.4 KiB
Lua

local iPN = ...;
assert(iPN,"[Graphics/PaneDisplay text.lua] No PlayerNumber Provided.");
local t = Def.ActorFrame {};
local function GetRadarData( pnPlayer, rcRadarCategory )
local tRadarValues;
local StepsOrTrail;
local fDesiredValue = 0;
if GAMESTATE:GetCurrentSteps( pnPlayer ) then
StepsOrTrail = GAMESTATE:GetCurrentSteps( pnPlayer );
fDesiredValue = StepsOrTrail:GetRadarValues( pnPlayer ):GetValue( rcRadarCategory );
elseif GAMESTATE:GetCurrentTrail( pnPlayer ) then
StepsOrTrail = GAMESTATE:GetCurrentTrail( pnPlayer );
fDesiredValue = StepsOrTrail:GetRadarValues( pnPlayer ):GetValue( rcRadarCategory );
else
StepsOrTrail = nil;
end;
return fDesiredValue;
end;
local function CreatePaneDisplayItem( _pnPlayer, _sLabel, _rcRadarCategory )
return Def.ActorFrame {
LoadFont("Common SemiBold") .. {
Text=string.upper( THEME:GetString("PaneDisplay",_sLabel) );
InitCommand=function(self)
self:horizalign(left);
end;
OnCommand=function(self)
self:zoom(0.5875);
self:diffuse(color("0.9,0.9,0.9"));
self:shadowlength(1);
end;
};
LoadFont("Common Normal") .. {
Text=string.format("%04i", 0);
InitCommand=function(self)
self:x(96);
self:horizalign(right);
end;
OnCommand=function(self)
self:zoom(0.5875);
self:shadowlength(1);
end;
CurrentSongChangedMessageCommand=function(self)
self:playcommand("Set");
end;
CurrentStepsP1ChangedMessageCommand=function(self)
self:playcommand("Set");
end;
CurrentStepsP2ChangedMessageCommand=function(self)
self:playcommand("Set");
end;
CurrentTrailP1ChangedMessageCommand=function(self)
self:playcommand("Set");
end;
CurrentTrailP2ChangedMessageCommand=function(self)
self:playcommand("Set");
end;
CurrentCourseChangedMessageCommand=function(self)
self:playcommand("Set");
end;
SetCommand=function(self)
local song = GAMESTATE:GetCurrentSong()
local course = GAMESTATE:GetCurrentCourse()
if not song and not course then
self:settextf("%04i", 0);
else
self:settextf("%04i", GetRadarData( _pnPlayer, _rcRadarCategory ) );
end
end;
};
};
end;
local function CreatePaneDisplayGraph( _pnPlayer, _sLabel, _rcRadarCategory )
return Def.ActorFrame {
LoadFont("Common Normal") .. {
Text=_sLabel;
InitCommand=function(self)
self:horizalign(left);
end;
OnCommand=function(self)
self:zoom(0.5);
self:shadowlength(1);
end;
};
Def.Quad {
InitCommand=function(self)
self:x(12);
self:zoomto(50, 10);
self:horizalign(left);
end;
OnCommand=function(self)
self:diffuse(Color("Black"));
self:shadowlength(1);
self:diffusealpha(0.5);
end;
};
Def.Quad {
InitCommand=function(self)
self:x(12);
self:zoomto(50, 10);
self:horizalign(left);
end;
OnCommand=function(self)
self:shadowlength(0);
self:diffuse(Color("Green"));
self:diffusebottomedge(ColorLightTone(Color("Green")));
end;
CurrentSongChangedMessageCommand=function(self)
self:playcommand("Set");
end;
CurrentStepsP1ChangedMessageCommand=function(self)
self:playcommand("Set");
end;
CurrentStepsP2ChangedMessageCommand=function(self)
self:playcommand("Set");
end;
CurrentTrailP1ChangedMessageCommand=function(self)
self:playcommand("Set");
end;
CurrentTrailP2ChangedMessageCommand=function(self)
self:playcommand("Set");
end;
CurrentCourseChangedMessageCommand=function(self)
self:playcommand("Set");
end;
SetCommand=function(self)
local song = GAMESTATE:GetCurrentSong()
local course = GAMESTATE:GetCurrentCourse()
if not song and not course then
self:stoptweening();
self:decelerate(0.2);
self:zoomtowidth(0);
else
self:stoptweening();
self:decelerate(0.2);
self:zoomtowidth( clamp(GetRadarData( _pnPlayer, _rcRadarCategory ) * 50,0,50) );
end
end;
};
LoadFont("Common Normal") .. {
InitCommand=function(self)
self:x(14);
self:zoom(0.5);
self:halign(0);
end;
OnCommand=function(self)
self:shadowlength(1);
self:strokecolor(color("0.15,0.15,0.15,0.625"));
end;
CurrentSongChangedMessageCommand=function(self)
self:playcommand("Set");
end;
CurrentStepsP1ChangedMessageCommand=function(self)
self:playcommand("Set");
end;
CurrentStepsP2ChangedMessageCommand=function(self)
self:playcommand("Set");
end;
CurrentTrailP1ChangedMessageCommand=function(self)
self:playcommand("Set");
end;
CurrentTrailP2ChangedMessageCommand=function(self)
self:playcommand("Set");
end;
CurrentCourseChangedMessageCommand=function(self)
self:playcommand("Set");
end;
SetCommand=function(self)
local song = GAMESTATE:GetCurrentSong()
local course = GAMESTATE:GetCurrentCourse()
if not song and not course then
self:settext("")
else
self:settextf("%i%%", GetRadarData( _pnPlayer, _rcRadarCategory ) * 100 );
end
end;
};
};
end;
--[[ Numbers ]]
t[#t+1] = Def.ActorFrame {
-- Left
CreatePaneDisplayItem( iPN, "Taps", 'RadarCategory_TapsAndHolds' ) .. {
InitCommand=function(self)
self:x(-128 + 16 + 8);
self:y(-14 + 16 * 0);
end;
};
CreatePaneDisplayItem( iPN, "Jumps", 'RadarCategory_Jumps' ) .. {
InitCommand=function(self)
self:x(-128 + 16 + 8);
self:y(-14 + 16 * 1);
end;
};
CreatePaneDisplayItem( iPN, "Holds", 'RadarCategory_Holds' ) .. {
InitCommand=function(self)
self:x(-128 + 16 + 8);
self:y(-14 + 16 * 2);
end;
};
CreatePaneDisplayItem( iPN, "Mines", 'RadarCategory_Mines' ) .. {
InitCommand=function(self)
self:x(-128 + 16 + 8);
self:y(-14 + 16 * 3);
end;
};
-- Center
CreatePaneDisplayItem( iPN, "Hands", 'RadarCategory_Hands' ) .. {
InitCommand=function(self)
self:x(8);
self:y(-14 + 16 * 0);
end;
};
CreatePaneDisplayItem( iPN, "Rolls", 'RadarCategory_Rolls' ) .. {
InitCommand=function(self)
self:x(8);
self:y(-14 + 16 * 1);
end;
};
CreatePaneDisplayItem( iPN, "Lifts", 'RadarCategory_Lifts' ) .. {
InitCommand=function(self)
self:x(8);
self:y(-14 + 16 * 2);
end;
};
CreatePaneDisplayItem( iPN, "Fakes", 'RadarCategory_Fakes' ) .. {
InitCommand=function(self)
self:x(8);
self:y(-14 + 16 * 3);
end;
};
};
return t;