Update /new.
This commit is contained in:
@@ -0,0 +1,125 @@
|
||||
local t = Def.ActorFrame {};
|
||||
-- Background
|
||||
t[#t+1] = Def.ActorFrame { Name="Background";
|
||||
Def.Quad {
|
||||
InitCommand=cmd(zoomto,320+8,96;diffuse,ThemeColor.Secondary);
|
||||
};
|
||||
};
|
||||
-- Radar Text
|
||||
local function RadarLabel( rc )
|
||||
local t = Def.ActorFrame {};
|
||||
--
|
||||
t[#t+1] = LoadFont("Common Normal") .. {
|
||||
Text=string.upper(THEME:GetString("RadarCategoryShort",ToEnumShortString(rc)));
|
||||
InitCommand=cmd(shadowlength,1;zoom,0.675;horizalign,right);
|
||||
};
|
||||
--
|
||||
return t;
|
||||
end;
|
||||
--
|
||||
local function RadarItem( pn, rc )
|
||||
local t = Def.ActorFrame {};
|
||||
--
|
||||
local function GetRadarValue( _rc, _pn )
|
||||
if GAMESTATE:GetCurrentSteps( _pn ) then
|
||||
local Steps = GAMESTATE:GetCurrentSteps( _pn );
|
||||
local RadarValues = Steps:GetRadarValues( _pn );
|
||||
local ThisValue = RadarValues:GetValue( _rc );
|
||||
--
|
||||
return tonumber(ThisValue);
|
||||
else
|
||||
return 0;
|
||||
end;
|
||||
end;
|
||||
--
|
||||
t[#t+1] = LoadFont("Common Normal") .. {
|
||||
Text=string.format("%04i",GetRadarValue(rc,pn));
|
||||
InitCommand=cmd(shadowlength,1;x,128;zoom,0.675;diffuse,PlayerColor(pn);playcommand,"Set");
|
||||
SetCommand=function(self,params)
|
||||
if params.Player == pn then
|
||||
self:settextf("%04i",GetRadarValue(rc,pn));
|
||||
end;
|
||||
end;
|
||||
};
|
||||
--
|
||||
t.CurrentSongChangedMessageCommand=function(self) self:playcommand("Set"); end;
|
||||
t.CurrentCourseChangedMessageCommand=function(self) self:playcommand("Set"); end;
|
||||
t.CurrentTrailP1ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_1}); end;
|
||||
t.CurrentTrailP2ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_2}); end;
|
||||
t.CurrentStepsP1ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_1}); end;
|
||||
t.CurrentStepsP2ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_2}); end;
|
||||
--
|
||||
return t;
|
||||
end;
|
||||
--
|
||||
local function RadarPercent( pn, rc )
|
||||
local t = Def.ActorFrame {};
|
||||
--
|
||||
local function GetRadarValue( _rc, _pn )
|
||||
if GAMESTATE:GetCurrentSteps( _pn ) then
|
||||
local Steps = GAMESTATE:GetCurrentSteps( _pn );
|
||||
local RadarValues = Steps:GetRadarValues( _pn );
|
||||
local ThisValue = RadarValues:GetValue( _rc );
|
||||
--
|
||||
return tonumber(ThisValue);
|
||||
else
|
||||
return 0;
|
||||
end;
|
||||
end;
|
||||
--
|
||||
t[#t+1] = LoadFont("Common Normal") .. {
|
||||
Text=string.format("%03i%%",math.floor(GetRadarValue(rc,pn)*100));
|
||||
InitCommand=cmd(shadowlength,1;x,128;zoom,0.675;diffuse,PlayerColor(pn);playcommand,"Set");
|
||||
SetCommand=function(self,params)
|
||||
if params.Player == pn then
|
||||
self:settextf("%03i%%",math.floor(GetRadarValue(rc,pn)*100));
|
||||
end;
|
||||
end;
|
||||
};
|
||||
--
|
||||
t.CurrentSongChangedMessageCommand=function(self) self:playcommand("Set"); end;
|
||||
t.CurrentCourseChangedMessageCommand=function(self) self:playcommand("Set"); end;
|
||||
t.CurrentTrailP1ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_1}); end;
|
||||
t.CurrentTrailP2ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_2}); end;
|
||||
t.CurrentStepsP1ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_1}); end;
|
||||
t.CurrentStepsP2ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_2}); end;
|
||||
--
|
||||
return t;
|
||||
end;
|
||||
--
|
||||
for index,rc in ipairs(RadarCategory) do
|
||||
if index > 5 then
|
||||
local VisualIndex = index-6
|
||||
local VertOffset = ( VisualIndex % 4 ) * 16;
|
||||
local HorizOffset = math.floor( (VisualIndex)/4 ) * 156;
|
||||
t[#t+1] = Def.ActorFrame {
|
||||
Name="RadarCategoryRow" .. tonumber(index-5);
|
||||
InitCommand=cmd(x,-96+HorizOffset;y,-10+VertOffset);
|
||||
--
|
||||
RadarLabel(rc);
|
||||
RadarItem(PLAYER_1, rc) .. { InitCommand=cmd(x,-96-8); };
|
||||
RadarItem(PLAYER_2, rc) .. { InitCommand=cmd(x,-64+4); };
|
||||
};
|
||||
end
|
||||
end;
|
||||
--
|
||||
for index,rc in ipairs(RadarCategory) do
|
||||
if index < 6 then
|
||||
local HorizOffset = (index-1) * 64;
|
||||
t[#t+1] = Def.ActorFrame {
|
||||
Name="RadarCategoryRow" .. tonumber(index-5);
|
||||
InitCommand=cmd(x,-148+HorizOffset;y,-33);
|
||||
--
|
||||
RadarLabel(rc);
|
||||
RadarPercent(PLAYER_1, rc) .. { InitCommand=cmd(x,-104;y,-7); };
|
||||
RadarPercent(PLAYER_2, rc) .. { InitCommand=cmd(x,-104;y,7); };
|
||||
};
|
||||
end
|
||||
end;
|
||||
--
|
||||
--[[ for index,rc in ipairs(RadarCategory) do
|
||||
if index > 5 then
|
||||
t[#t+1] = LoadFont("Common Normal") .. { Text=ToEnumShortString(rc); InitCommand=cmd(zoom,0.5;shadowlength,1;y,(index-5)*10); };
|
||||
end
|
||||
end; ]]
|
||||
return t
|
||||
Reference in New Issue
Block a user