30 lines
775 B
Lua
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
|