44 lines
1.2 KiB
Lua
44 lines
1.2 KiB
Lua
|
|
local offset= 52
|
||
|
|
local hns_states= {
|
||
|
|
HoldNoteScore_Held= 0,
|
||
|
|
HoldNoteScore_LetGo= 1,
|
||
|
|
HoldNoteScore_MissedHold= 1,
|
||
|
|
}
|
||
|
|
|
||
|
|
return {
|
||
|
|
Def.Sprite{
|
||
|
|
Texture= THEME:GetPathG("HoldJudgment", "label"),
|
||
|
|
InitCommand= function(self)
|
||
|
|
self:draworder(notefield_draw_order.under_field)
|
||
|
|
:y(offset):animate(false):diffusealpha(0)
|
||
|
|
end,
|
||
|
|
WidthSetCommand= function(self, param)
|
||
|
|
scale_to_fit(self, param.width, param.width)
|
||
|
|
param.column:set_layer_transform_type(self, "FieldLayerTransformType_PosOnly")
|
||
|
|
:set_layer_fade_type(self, "FieldLayerFadeType_Explosion")
|
||
|
|
end,
|
||
|
|
PlayerStateSetCommand= function(self, param)
|
||
|
|
if player_config:get_data(param.PlayerNumber).JudgmentUnderField then
|
||
|
|
self:draworder(notefield_draw_order.under_field)
|
||
|
|
else
|
||
|
|
self:draworder(notefield_draw_order.over_field)
|
||
|
|
end
|
||
|
|
end,
|
||
|
|
ColumnJudgmentCommand= function(self, param)
|
||
|
|
local hns= param.hold_note_score
|
||
|
|
if hns_states[hns] then
|
||
|
|
self:stoptweening()
|
||
|
|
:setstate(hns_states[hns])
|
||
|
|
:linear(.1):diffusealpha(1)
|
||
|
|
:sleep(.5)
|
||
|
|
:linear(.2):diffusealpha(0)
|
||
|
|
elseif hns then
|
||
|
|
lua.ReportScriptError("No sprite state for hns " .. tostring(hns))
|
||
|
|
end
|
||
|
|
end,
|
||
|
|
ReverseChangedCommand= function(self, param)
|
||
|
|
self:y(offset * param.sign)
|
||
|
|
end,
|
||
|
|
},
|
||
|
|
}
|