demo completed

This commit is contained in:
Alexey 2025-10-30 01:01:55 +03:00
commit d50e5c0c35
4 changed files with 193 additions and 31 deletions

35
selector.lua Normal file
View file

@ -0,0 +1,35 @@
local port1 = Port:new( GridPoint:new(-1, 0), PortRotation.left, { 0.8, 0.8, 0, 1 } )
local port2 = Port:new( GridPoint:new(0, -1), PortRotation.up, { 0.8, 0, 0.8, 1 } )
local port3 = Port:new( GridPoint:new(3, 2), PortRotation.right, { 0.8, 0, 0, 1 } )
local port4 = Port:new( GridPoint:new(2, 3), PortRotation.down, { 0, 0, 0.8, 1 } )
local port5 = Port:new( GridPoint:new(2, 0), PortRotation.right, {0.8, 0.8, 0, 1} )
local port6 = Port:new( GridPoint:new(0, 2), PortRotation.down, { 0.8, 0.4, 0.4, 1 } )
local mecha1 = Mechanism:new( GridPoint:new(5, 5), GridPoint:new(3, 3), { port1:clone(), port2:clone(), port3:clone(), port4:clone() }, {0.5, 0.5, 0.5, 1} )
local mecha2 = Mechanism:new( GridPoint:new(10, 5), GridPoint:new(2, 2), { port1:clone(), port2:clone(), port5:clone(), port6:clone() }, {0.5, 1, 0.5, 1} )
local mecha3 = Mechanism:new( GridPoint:new(13, 5), GridPoint:new(2, 1), { port1:clone(), port2:clone(), port5:clone() }, {1, 0.5, 0.5, 1} )
local mechs = { mecha1, mecha2, mecha3 }
local actions = { 'none', 'first', 'second', 'third' }
local selected = 0
function selectorUpdate()
for index, action in ipairs(actions) do
if Input:actionReleased(action) then
selected = index - 1
break
end
end
end
---@return Mechanism|nil
function getSelected()
if selected > 0 then
return mechs[selected]
else
return nil
end
end