chroma_solstice/wired_door.lua
2026-08-11 22:55:58 -04:00

30 lines
775 B
Lua

require "door"
local Wire = require "wire"
WiredDoor = class("WiredDoor", Door)
function WiredDoor:initialize(x, y, color, circuitId)
Door.initialize(self, x, y, color)
self.circuitId = circuitId
self.wired = true
end
function WiredDoor:setPowered(powered)
if powered then
if self.locked then self:unlock() end
elseif not self.locked then
self:lock()
end
self:refreshSprites()
end
function WiredDoor:draw(channel)
Entity.draw(self, channel)
if not self.sprites[channel] then return end
local p = self:getDrawPos()
local color = Wire.color(self.circuitId)
love.graphics.setColor(color[1], color[2], color[3], 1)
love.graphics.setLineWidth(math.max(1, drawScale))
love.graphics.circle("line", p.x + 8 * drawScale, p.y + 8 * drawScale, 3 * drawScale)
end