2dcf66223d
Mainly unneeded semicolons
86 lines
2.3 KiB
Lua
86 lines
2.3 KiB
Lua
local pn = ...
|
|
local life_meter_width = 400
|
|
local life_meter_height = 20
|
|
local life_meter_outline = 0
|
|
|
|
local function CreateSeperators()
|
|
local t = Def.ActorFrame {}
|
|
|
|
for i = 1, 50 do
|
|
t[#t+1] = Def.ActorFrame {
|
|
SetCommand=function(self)
|
|
local life_meter = SCREENMAN:GetTopScreen():GetLifeMeter(pn)
|
|
local num_items = life_meter:GetTotalLives()
|
|
|
|
local function position(index)
|
|
return scale(index/num_items,0,1,-life_meter_width/2,life_meter_width/2)
|
|
end
|
|
|
|
self:x(position(i))
|
|
self:visible(i < num_items)
|
|
end,
|
|
OnCommand=cmd(playcommand,"Set"),
|
|
--
|
|
Def.Quad {
|
|
InitCommand=cmd(zoomto,2,life_meter_height),
|
|
OnCommand=cmd(diffuse,Color.Black)
|
|
}
|
|
}
|
|
end
|
|
|
|
return t
|
|
end
|
|
|
|
local t = Def.ActorFrame {}
|
|
|
|
t[#t+1] = Def.ActorFrame {
|
|
HealthStateChangedMessageCommand=function(self,param)
|
|
local c = self:GetChildren()
|
|
|
|
if param.PlayerNumber == pn then
|
|
if param.HealthState ~= param.OldHealthState then
|
|
local state_name = ToEnumShortString(param.HealthState)
|
|
self:playcommand(state_name)
|
|
end
|
|
end
|
|
end,
|
|
LifeChangedMessageCommand=function(self,param)
|
|
local c = self:GetChildren()
|
|
if param.Player == pn then
|
|
local life = param.LifeMeter:GetLife()
|
|
c.Fill:zoomtowidth( life_meter_width * life )
|
|
end
|
|
end,
|
|
-- Outline
|
|
Def.Quad {
|
|
Name="Outline",
|
|
InitCommand=cmd(zoomto,life_meter_width+life_meter_outline,life_meter_height+life_meter_outline),
|
|
OnCommand=cmd()
|
|
},
|
|
-- Background
|
|
Def.Quad {
|
|
Name="Background",
|
|
InitCommand=cmd(zoomto,life_meter_width,life_meter_height),
|
|
OnCommand=cmd(diffuse,color("#32373E")),
|
|
AliveCommand=cmd(stopeffect;diffuse,color("#32373E")),
|
|
DangerCommand=cmd(diffuseshift;effectcolor2,ColorMidTone(Color.Red);effectcolor1,ColorDarkTone(Color.Red)),
|
|
DeadCommand=cmd(stopeffect;diffuse,color("#000000")),
|
|
},
|
|
Def.Quad {
|
|
Name="Fill",
|
|
InitCommand=cmd(x,-life_meter_width/2;zoomto,life_meter_width,life_meter_height;horizalign,left),
|
|
OnCommand=cmd(diffuse,PlayerColor(pn)),
|
|
--
|
|
HotCommand=cmd(glowshift;effectclock,'beat'),
|
|
AliveCommand=cmd(stopeffect),
|
|
DangerCommand=cmd(diffuseshift;effectclock,'beat';effectcolor1,PlayerColor(pn);effectcolor2,PlayerDarkColor(pn)),
|
|
DeadCommand=cmd(stopeffect)
|
|
},
|
|
LoadFont("Common Normal") .. {
|
|
Text="",
|
|
OnCommand=cmd(diffuse,Color.Black)
|
|
},
|
|
CreateSeperators()
|
|
}
|
|
|
|
return t |