Skip to content

Commit

Permalink
充能格子相关代码整理
Browse files Browse the repository at this point in the history
  • Loading branch information
MrZ626 committed Nov 29, 2024
1 parent 2798fad commit 12c808f
Showing 1 changed file with 23 additions and 20 deletions.
43 changes: 23 additions & 20 deletions assets/game/mechanicLib/brik/chargeLimit.lua
Original file line number Diff line number Diff line change
Expand Up @@ -126,13 +126,36 @@ end
do -- spin
function chargeLimit.spin_event_playerInit(P)
P.modeData.spinClear=0
P:addEvent('beforeClear',{-1,chargeLimit.spin_event_beforeClear})
P:addEvent('afterClear',{-1e99,chargeLimit.spin_event_afterClear})
P:addEvent('drawBelowMarks',chargeLimit.spin_event_drawBelowMarks)
end
function chargeLimit.spin_event_beforeClear(P)
if P.lastMovement.immobile then
local CB=P.hand.matrix
for y=1,#CB do for x=1,#CB[1] do
local C=CB[y][x]
if C then
C.spin_charge=true
end
end end
end
end
function chargeLimit.spin_event_afterClear(P,clear)
if P.lastMovement.immobile then
P.modeData.spinClear=P.modeData.spinClear+clear.line
end
end
function chargeLimit.spin_event_drawBelowMarks(P)
gc_setColor(1,1,1,.42)
local mat=P.field._matrix
for y=1,#mat do for x=1,#mat[1] do
local C=mat[y][x]
if C and C.spin_charge then
gc_rectangle('fill',40*(x-1)+10,-40*(y-1)-10,20,-20)
end
end end
end

local styles={
{name='I',id=7,x=-300,y=-60-40*3,w=160,h=30,color=RGB9 [488], colorDanger=RGB9 [233]},
Expand Down Expand Up @@ -189,7 +212,6 @@ do -- spin
P:addEvent('always',chargeLimit.spin_piece_event_always)
P:addEvent('beforeClear',{-1,chargeLimit.spin_piece_event_beforeClear})
P:addEvent('drawOnPlayer',chargeLimit.spin_piece_event_drawOnPlayer)
P:addEvent('drawBelowMarks',chargeLimit.spin_piece_event_drawBelowMarks)
end
function chargeLimit.spin_piece_event_always(P)
---@type Techmino.Mech.Brik.PieceDevice[]
Expand All @@ -209,15 +231,6 @@ do -- spin
end
end
function chargeLimit.spin_piece_event_beforeClear(P,fullLines)
if P.lastMovement.immobile then
local CB=P.hand.matrix
for y=1,#CB do for x=1,#CB[1] do
local C=CB[y][x]
if C then
C.spin_charge=true
end
end end
end
---@type Techmino.Mech.Brik.PieceDevice[]
local devices=P.modeData.spin_powDevice
local mainDev=devices[Brik.getID(P.hand.name)]
Expand Down Expand Up @@ -258,16 +271,6 @@ do -- spin
mainDev.display=false
end
end
function chargeLimit.spin_piece_event_drawBelowMarks(P)
gc_setColor(1,1,1,.42)
local mat=P.field._matrix
for y=1,#mat do for x=1,#mat[1] do
local C=mat[y][x]
if C and C.spin_charge then
gc_rectangle('fill',40*(x-1)+10,-40*(y-1)-10,20,-20)
end
end end
end
function chargeLimit.spin_piece_event_drawOnPlayer(P)
---@type Techmino.Mech.Brik.PieceDevice[]
local devices=P.modeData.spin_powDevice
Expand Down

0 comments on commit 12c808f

Please sign in to comment.