make states numbers instead of booleans
This commit is contained in:
@@ -3,8 +3,8 @@ Group = {}
|
||||
|
||||
function Group.new()
|
||||
local o = {
|
||||
state = false,
|
||||
fxstate = false,
|
||||
state = 0,
|
||||
fxstate = 0,
|
||||
update_tick = 0,
|
||||
wires = {},
|
||||
out_ports = {},
|
||||
@@ -91,9 +91,7 @@ function Group.addport(group, port)
|
||||
|
||||
group.out_ports[port] = port
|
||||
group.nout_ports = group.nout_ports + 1
|
||||
if Port.getstate(port) then
|
||||
group.state_num = group.state_num + 1
|
||||
end
|
||||
group.state_num = group.state_num + Port.getstate(port)
|
||||
|
||||
Simulation.queuegroup(GSim, group)
|
||||
|
||||
@@ -119,9 +117,7 @@ function Group.removeport(group, port)
|
||||
group.out_ports[port] = nil
|
||||
group.nout_ports = group.nout_ports - 1
|
||||
|
||||
if Port.getstate(port) then
|
||||
group.state_num = group.state_num - 1
|
||||
end
|
||||
group.state_num = group.state_num - Port.getstate(port)
|
||||
|
||||
Simulation.queuegroup(GSim, group)
|
||||
|
||||
@@ -175,6 +171,7 @@ function Group.mergeinto(group, group2)
|
||||
end
|
||||
|
||||
function Group.setstate(group, state)
|
||||
if type(state)~="number" then error("group state type must be number") end
|
||||
if state ~= group.state then
|
||||
local sim = GSim
|
||||
|
||||
@@ -190,7 +187,7 @@ function Group.setstate(group, state)
|
||||
end
|
||||
|
||||
function Group.update(group)
|
||||
Group.setstate(group, group.state_num>0)
|
||||
Group.setstate(group, group.state_num>0 and 1 or 0)
|
||||
end
|
||||
|
||||
function Group.rebuild_ports(group)
|
||||
|
||||
Reference in New Issue
Block a user