remove colon syntax from oop

This commit is contained in:
Redo
2021-02-03 09:17:33 -06:00
parent 1b7915de4c
commit 941348002b
7 changed files with 124 additions and 120 deletions

View File

@@ -1,6 +1,7 @@
Group = {}
function Group:new()
function Group.new(self)
local o = {
state = false,
fxstate = false,
@@ -18,11 +19,11 @@ function Group:new()
return o
end
function Group:getsize()
function Group.getsize(self)
return self.nwires + self.nout_ports + self.nin_ports
end
function Group:addwire(wire)
function Group.addwire(self, wire)
if wire.group ~= self then
if wire.group ~= nil then
self:mergewith(wire.group)
@@ -37,7 +38,7 @@ function Group:addwire(wire)
end
end
function Group:removewire(wire)
function Group.removewire(self, wire)
wire.group = nil
self.wires[wire] = nil
@@ -74,7 +75,7 @@ function Group:removewire(wire)
self.nin_ports = 0
end
function Group:addport(port)
function Group.addport(self, port)
port.group = self
if port.type == PortTypes.output then
@@ -88,7 +89,7 @@ function Group:addport(port)
end
end
function Group:removeport(port)
function Group.removeport(self, port)
if port.type == PortTypes.output then
self.out_ports[port] = nil
self.nout_ports = self.nout_ports - 1
@@ -97,31 +98,31 @@ function Group:removeport(port)
self.nin_ports = self.nin_ports - 1
end
sim:queuegroup(self)
Simulation.queuegroup(sim, self)
end
function Group:mergewith(group)
function Group.mergewith(self, group)
if self:getsize() >= group:getsize() then
group:mergeinto(self)
Group.mergeinto(group, self)
return self
else
self:mergeinto(group)
Group.mergeinto(self, group)
return group
end
end
function Group:mergeinto(group)
function Group.mergeinto(self, group)
for k, wire in pairs(self.wires) do
wire.group = nil
group:addwire(wire)
Group.addwire(group, wire)
end
for k, port in pairs(self.out_ports) do
group:addport(port)
Group.addport(group, port)
end
for k, port in pairs(self.in_ports) do
group:addport(port)
Group.addport(group, port)
end
self.wires = {}
@@ -133,15 +134,15 @@ function Group:mergeinto(group)
self.nin_ports = 0
end
function Group:setstate(state)
function Group.setstate(self, state)
if state ~= self.state then
self.state = state
self.updatetick = sim.currenttick
for k, port in pairs(self.in_ports) do
port:setinputstate(state)
Port.setinputstate(port, state)
end
sim:queuegroupfx(self)
Simulation.queuegroupfx(sim, self)
end
end